Discord.js 机器人:组织命令

时间:2021-01-13 13:55:01

标签: node.js discord.js

嗨,我正在使用 discord.js 制作我的第一个机器人,我注意到在添加了一些命令后,我的命令文件夹很容易被淹没我正在使用 Discord.js 指南中的一个简单的命令处理程序 https://discordjs.guide/command-handling/ 但是我'我需要一些文件来制作简单的命令我想问已经有这方面经验的人如何组织我的命令

1 个答案:

答案 0 :(得分:1)

如果您想更好地组织您的命令文件,您可以将命令与类别分开,然后在命令文件夹中为每个类别创建一个文件夹。

例如:

?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);
  }
});