46 lines
No EOL
1.5 KiB
JavaScript
46 lines
No EOL
1.5 KiB
JavaScript
const { prefix } = require('../config.json');
|
|
|
|
module.exports = {
|
|
name: 'help',
|
|
description: 'List all of my commands or info about a specific command.',
|
|
aliases: ['commands'],
|
|
usage: '[command name]',
|
|
cooldown: 5,
|
|
execute(message, args) {
|
|
const data = [];
|
|
const { commands } = message.client;
|
|
|
|
if (!args.length) {
|
|
data.push('Here\'s a list of all my commands:');
|
|
data.push(commands.map(command => command.name).join(', '));
|
|
data.push(`\nYou can send \`${prefix}help [command name]\` to get info on a specific command!`);
|
|
|
|
return message.author.send(data, { split: true })
|
|
.then(() => {
|
|
if (message.channel.type === 'dm') return;
|
|
message.reply('I\'ve sent you a DM with all my commands!');
|
|
})
|
|
.catch(error => {
|
|
console.error(`Could not send help DM to ${message.author.tag}.\n`, error);
|
|
message.reply('it seems like I can\'t DM you!');
|
|
});
|
|
}
|
|
|
|
const name = args[0].toLowerCase();
|
|
const command = commands.get(name) || commands.find(c => c.aliases && c.aliases.includes(name));
|
|
|
|
if (!command) {
|
|
return message.reply('that\'s not a valid command!');
|
|
}
|
|
|
|
data.push(`**Name:** ${command.name}`);
|
|
|
|
if (command.aliases) data.push(`**Aliases:** ${command.aliases.join(', ')}`);
|
|
if (command.description) data.push(`**Description:** ${command.description}`);
|
|
if (command.usage) data.push(`**Usage:** ${prefix}${command.name} ${command.usage}`);
|
|
|
|
data.push(`**Cooldown:** ${command.cooldown || 3} second(s)`);
|
|
|
|
message.channel.send(data, { split: true });
|
|
},
|
|
}; |