我的不和谐 js 命令处理程序不起作用

时间:2021-06-23 05:09:36

标签: node.js discord discord.js

嘿,我似乎无法让我的命令处理程序处理多个命令文件,有人可以帮助我吗?我尝试了多种方法,但似乎无法让它处理多个文件夹。我对 Discord js 也有点陌生,我有一个工作,然后我想让它更有条理,但我似乎无法让它工作

const fs = require(`fs`);

module.exports = (client, Discord) => {
    const command_files = fs.readdirSync('./commands/').filter(file => file.endsWith('.js'));
    const command_files = fs.readdirSync('./moderationcommands/').filter(file => file.endsWith('.js'));

    for (const file of command_files) {
        const command = require(`../commands/${file}`, `../moderationcommands/${file}`);
        if (command.name) {
            client.commands.set(command.name, command);
        } else {
            continue;
        }
    }
}

这里是错误

PS C:\Users\lolzy\OneDrive\Desktop\discordbot> node .
C:\Users\lolzy\OneDrive\Desktop\discordbot\handlers\command_handler.js:5
    const command_files = fs.readdirSync('./moderationcommands/').filter(file => file.endsWith('.js'));
          ^

SyntaxError: Identifier 'command_files' has already been declared
    at wrapSafe (internal/modules/cjs/loader.js:984:16)
    at Module._compile (internal/modules/cjs/loader.js:1032:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
    at Module.load (internal/modules/cjs/loader.js:933:32)
    at Function.Module._load (internal/modules/cjs/loader.js:774:14)
    at Module.require (internal/modules/cjs/loader.js:957:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at C:\Users\lolzy\OneDrive\Desktop\discordbot\main.js:13:5
    at Array.forEach (<anonymous>)
    at Object.<anonymous> (C:\Users\lolzy\OneDrive\Desktop\discordbot\main.js:12:38)
PS C:\Users\lolzy\OneDrive\Desktop\discordbot>

1 个答案:

答案 0 :(得分:1)

您命名的两个变量完全相同:

const command_files = fs.readdirSync('./commands/').filter(file => file.endsWith('.js'));
const command_files = fs.readdirSync('./moderationcommands/').filter(file => file.endsWith('.js'));

你只需要确保他们有不同的名字