#javascript #node.js #discord #discord.js
Вопрос:
У меня есть обработчик, который регистрирует список команд в консоли с помощью ascii-таблицы, но список моих команд дублируется, например, если у меня 10 команд — список дублируется 10 раз (изображение). Я использую discord.js v12.5.3 и вот мой код:
Указатель
["command"].forEach(handler => {
require(`./handler/${handler}`)(client);
})
command.js (файл обработчика)
const { readdirSync } = require("fs");
const ascii = require("ascii-table");
let table = new ascii("Commands");
table.setHeading("Command", "Load status");
module.exports = (client) => {
readdirSync("./commands/").forEach(dir => {
const commands = readdirSync(`./commands/`).filter(file => file.endsWith(".js"));
for (let file of commands) {
let pull = require(`../commands/${file}`);
if (pull.name) {
client.commands.set(pull.name, pull);
table.addRow(file, '✅');
} else {
table.addRow(file, `❌ -> missing a help.name, or help.name is not a string.`);
continue;
}
if (pull.aliases amp;amp; Array.isArray(pull.aliases)) pull.aliases.forEach(alias => client.aliases.set(alias, pull.name));
}
});
// Log the table
console.log(table.toString());
}
Комментарии:
1. Для каждого файла вы читаете все файлы… Почему вы вложили итерации readdirSync?
Ответ №1:
Благодаря @CherryDT я понял, что мне просто нужно удалить readdirSync("./commands/").forEach(dir => {});
, чтобы исправить мой обработчик.