You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
2.6 KiB
35 lines
2.6 KiB
const Discord = require('discord.js');
|
|
const fs = require('fs');
|
|
const chalk = require('chalk');
|
|
const ora = require('ora');
|
|
|
|
module.exports = client => {
|
|
let commands = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));
|
|
let dirSet = new Map();
|
|
fs.readdirSync('./commands').filter(file => !file.includes('.')).forEach(dir => fs.readdirSync(`./commands/${dir}`).filter(file => file.endsWith('.js')).forEach(x => {commands.push(x); dirSet.set(x, dir)}));
|
|
|
|
//console.log('');
|
|
//let cora = ora(`${chalk.white("Loading commands into client.")} ${chalk.blue("[")}${chalk.blueBright("0")}${chalk.blue("/")}${chalk.blueBright(`${commands.length}`)}${chalk.blue("]")}`).start();
|
|
//let num = 0;
|
|
commands.sort();
|
|
console.log(`\n${chalk.gray('[BOOT]')} >> ${chalk.blue('Getting Commands...')}\n`);
|
|
for (let commandf of commands) {
|
|
//num++;
|
|
//cora.text = `${chalk.white("Loading commands into client.")} ${chalk.blue("[")}${chalk.blueBright(`${num}`)}${chalk.blue("/")}${chalk.blueBright(`${commands.length}`)}${chalk.blue("]")}`;
|
|
if (Object.keys(require.cache).includes(require.resolve(`../commands/${dirSet.has(commandf) ? `${dirSet.get(commandf)}/`: ''}${commandf}`))) {delete require.cache[require.resolve(`../commands/${dirSet.has(commandf) ? `${dirSet.get(commandf)}/`: ''}${commandf}`)];}
|
|
let command = require(`../commands/${dirSet.has(commandf) ? `${dirSet.get(commandf)}/`: ''}${commandf}`);
|
|
const addCommand = (command) => {
|
|
client.commands.set(command.name, command);
|
|
if (command.aliases) {command.aliases.forEach(a => client.aliases.set(a, command.name));}
|
|
console.log(`${chalk.gray('[LOAD]')} >> ${chalk.blueBright('Loaded Command')} ${chalk.white(command.name)} ${chalk.blueBright('with')} ${chalk.white(command.aliases && command.aliases.length ? command.aliases.length : 0)} ${chalk.blueBright('aliases')}`);
|
|
};
|
|
if (command.commands) {command.commands.forEach(cmd => addCommand(cmd));}
|
|
else {addCommand(command);}
|
|
}
|
|
//cora.stop(); cora.clear();
|
|
//console.log(`${chalk.gray('[BOOT]')} >> ${chalk.blue('Getting Commands...')}\n`);
|
|
Array.from(client.commands.values()).forEach(command => {
|
|
//console.log(`${chalk.gray('[LOAD]')} >> ${chalk.blueBright('Loaded Command')} ${chalk.white(command.name)} ${chalk.blueBright('with')} ${chalk.white(command.aliases && command.aliases.length ? command.aliases.length : 0)} ${chalk.blueBright('aliases')}`);
|
|
});
|
|
console.log(`\n${chalk.gray('[BOOT]')} >> ${chalk.blue('Loaded all Commands')}`);
|
|
}; |