【发布时间】:2021-04-18 13:14:01
【问题描述】:
嗨,我正在使用 discord.js 制作我的第一个机器人,我注意到在添加了一些命令后,我的命令文件夹很容易被淹没我正在使用 Discord.js 指南https://discordjs.guide/command-handling/ 中的一个简单命令处理程序,但是我需要文件槽只是为了制作简单的命令 ii 想问已经有这方面经验的人如何组织我的命令
【问题讨论】:
标签: node.js discord.js
嗨,我正在使用 discord.js 制作我的第一个机器人,我注意到在添加了一些命令后,我的命令文件夹很容易被淹没我正在使用 Discord.js 指南https://discordjs.guide/command-handling/ 中的一个简单命令处理程序,但是我需要文件槽只是为了制作简单的命令 ii 想问已经有这方面经验的人如何组织我的命令
【问题讨论】:
标签: node.js discord.js
如果您想更好地组织命令文件,可以将命令与类别分开,然后在命令文件夹中为每个类别创建一个文件夹。
例如:
?commands
┣ ?moderation
┗ ?fun
之后,您可以遍历每个新文件夹并在其中加载命令文件,方法与使用命令处理程序相同
// First get the category directories
const isDirectory = source => fs.lstatSync(source).isDirectory();
const getDirectories = source => fs.readdirSync(source).map(name => join(source, name)).filter(isDirectory);
// Then load the commands
getDirectories(__dirname + '/commands').forEach(category => {
const commandFiles = fs.readdirSync(category).filter(file => file.endsWith('.js'));
for(const file of commandFiles) {
const command = require(`./${category}/${file}`);
client.commands.set(command.name, command);
}
});
【讨论】:
const getDirectories = source => fs.readdirSync(source).map(name => join(source, name)).filter(isDirectory); ^ ReferenceError: join is not defined
const path = require('path'); 并将 join(source, name) 更改为 path.join(source, name)
Error: Cannot find module './C:\Users\Aoshey\Desktop\Taco Bot\commands\economy/balance.js' 即使“balance.js”已经存在imgur.com/a/3WTKOXB