From 339108b2e4815ffeee9cf6e8940cfb7e12bbf5ff Mon Sep 17 00:00:00 2001 From: jtsshieh Date: Sat, 24 Feb 2018 20:19:29 -0500 Subject: New command handler. DMme if there are any errors and what the error is. (#16) --- src/commands/help.js | 54 ++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 40 insertions(+), 14 deletions(-) (limited to 'src/commands/help.js') diff --git a/src/commands/help.js b/src/commands/help.js index 6748382..888ca38 100644 --- a/src/commands/help.js +++ b/src/commands/help.js @@ -1,15 +1,41 @@ const Discord = require('discord.js'); -module.exports.run = async (client, message, args, abVersion) => { - var embed = new Discord.RichEmbed() - .setAuthor('AleeBot ' + abVersion + ` Help and on ${client.guilds.size} servers`, "https://cdn.discordapp.com/avatars/282547024547545109/6c147a444ae328c38145ef1f74169e38.png?size=2048") - .setDescription("Every command you input into AleeBot is `" + config.prefix + "`") - .addField("- General Commands", "ping\nuptime\ngit\nchangelog", true) - .setFooter("AleeCorp Copyright 2017") - .setColor("#1fd619") - message.channel.sendEmbed(embed); - -} - -module.exports.config = { - command: "help" -} \ No newline at end of file +module.exports.run = async (client, message) => { + const categories = []; + const commands = Array.from(client.commands.keys()); + + commands.forEach(function(x) { + if (!categories.includes(client.commands.get(x).help.category)) { + categories.push(client.commands.get(x).help.category); + } + }); + + const embed = new Discord.RichEmbed() + .setTitle('AleeBot Help') + .setAuthor('AleeBot 2.0.0' + ` Help and on ${client.guilds.size} servers`, 'https://cdn.discordapp.com/avatars/282547024547545109/6c147a444ae328c38145ef1f74169e38.png?size=2048') + .setDescription('Every command you input into AleeBot is `' + require('../absettings.json').prefix + '`') + .setColor('#1fd619') + .setFooter('AleeCorp Copyright 2017'); + + categories.forEach(function(x) { + let cat = ''; + commands.forEach(function(command) { + if (client.commands.get(command).help.category == x) { + cat = cat + command + '\n'; + } + }); + embed.addField(x, cat); + }); + + await message.channel.send({ embed }); +}; + +exports.conf = { + aliases: ['h'], + guildOnly: false, +}; +exports.help = { + name: 'help', + description: 'Displays all the commands or a page with information for 1 command.', + usage: 'help (command:command-name)', + category: '- General Commands', +}; -- cgit v1.2.3