discord_bot/handlers/command.js

36 lines
1.3 KiB
JavaScript

const { readdirSync } = require("fs");
const ascii = require("ascii-table");
// Create a new Ascii table
let table = new ascii("Commands");
table.setHeading("Command", "Load status");
module.exports = (client) => {
// Read every commands subfolder
readdirSync("./commands/").forEach(dir => {
// Filter so we only have .js command files
const commands = readdirSync(`./commands/${dir}/`).filter(file => file.endsWith(".js"));
// Loop over the commands, and add all of them to a collection
// If there's no name found, prevent it from returning an error,
// By using a cross in the table we made.
for (let file of commands) {
let pull = require(`../commands/${dir}/${file}`);
if (pull.name) {
client.commands.set(pull.name, pull);
table.addRow(file, '✅');
} else {
table.addRow(file, `❌ -> es fehlt ein help.name oder help.name ist kein String.`);
continue;
}
// If there's an aliases key, read the aliases.
if (pull.aliases && Array.isArray(pull.aliases)) pull.aliases.forEach(alias => client.aliases.set(alias, pull.name));
}
});
// Log the table
console.log(table.toString());
}