36 lines
1.3 KiB
JavaScript
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());
|
||
|
}
|