嘿,我似乎无法让我的命令处理程序处理多个命令文件,有人可以帮助我吗?我尝试了多种方法,但似乎无法让它处理多个文件夹。我对 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>
答案 0 :(得分:1)
您命名的两个变量完全相同:
const command_files = fs.readdirSync('./commands/').filter(file => file.endsWith('.js'));
const command_files = fs.readdirSync('./moderationcommands/').filter(file => file.endsWith('.js'));
你只需要确保他们有不同的名字