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/changelog.js | 36 +++++++++++++++++++------------ src/commands/git.js | 21 ++++++++++++------ src/commands/help.js | 54 +++++++++++++++++++++++++++++++++++------------ src/commands/ping.js | 19 +++++++++++------ src/commands/uptime.js | 39 ++++++++++++++++++++-------------- 5 files changed, 112 insertions(+), 57 deletions(-) (limited to 'src/commands') diff --git a/src/commands/changelog.js b/src/commands/changelog.js index a03c064..07ab557 100644 --- a/src/commands/changelog.js +++ b/src/commands/changelog.js @@ -1,16 +1,24 @@ -module.exports.run = async (client, message, args, abVersion) => { - var embed = new Discord.RichEmbed() - .setAuthor('AleeBot ' + abVersion + `Changelog`, "https://cdn.discordapp.com/avatars/282547024547545109/6c147a444ae328c38145ef1f74169e38.png?size=2048") - .setDescription("What's new in AleeBot?") - .addField("+ Rewritten command handler", true) - .addField("+ New uptime command (Thanks to Rain)", true) - .addField("? Some commands are the same from 1.x", true) - .setFooter("AleeCorp Copyright 2017") - .setColor("#1fd619") - message.channel.sendEmbed(embed); +module.exports.run = async (client, message) => { + const Discord = require('discord.js'); + const embed = new Discord.RichEmbed() + .setAuthor('AleeBot ' + '2.0.0 beta' + 'Changelog', 'https://cdn.discordapp.com/avatars/282547024547545109/6c147a444ae328c38145ef1f74169e38.png?size=2048') + .setDescription('What\'s new in AleeBot?') + .addField('+ Rewritten command handler', true) + .addField('+ New uptime command (Thanks to Rain)', true) + .addField('? Some commands are the same from 1.x', true) + .setFooter('AleeCorp Copyright 2017') + .setColor('#1fd619'); + message.channel.sendEmbed(embed); -} +}; -module.exports.config = { - command: "changelog" -} \ No newline at end of file +exports.conf = { + aliases: [], + guildOnly: false, +}; +exports.help = { + name: 'changelog', + description: 'What\'s new', + usage: 'changelog', + category: '- General Commands', +}; diff --git a/src/commands/git.js b/src/commands/git.js index 6c2bbb5..a01d0a3 100644 --- a/src/commands/git.js +++ b/src/commands/git.js @@ -1,7 +1,14 @@ -module.exports.run = async (client, message, args, abVersion) => { - message.author.send("I can see you want to contribute to this project.\nHere's the link: https://github.com/AleeCorp/AleeBot") - } - - module.exports.config = { - command: "git" - } \ No newline at end of file +module.exports.run = async (client, message) => { + message.author.send('I can see you want to contribute to this project.\nHere\'s the link: https://github.com/AleeCorp/AleeBot'); +}; + +exports.conf = { + aliases: [], + guildOnly: false, +}; +exports.help = { + name: 'git', + description: 'Get the git info.', + usage: 'git', + category: '- General Commands', +}; 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', +}; diff --git a/src/commands/ping.js b/src/commands/ping.js index e2ff213..5ad8f78 100644 --- a/src/commands/ping.js +++ b/src/commands/ping.js @@ -1,7 +1,14 @@ -module.exports.run = async (client, message, args, abVersion) => { - message.reply("**PONG!** :ping_pong: " + Math.round(client.ping) + " ms"); -} +module.exports.run = async (client, message) => { + message.reply('**PONG!** :ping_pong: ' + Math.round(client.ping) + ' ms'); +}; -module.exports.config = { - command: "ping" -} \ No newline at end of file +exports.conf = { + aliases: [], + guildOnly: false, +}; +exports.help = { + name: 'ping', + description: 'Ping the bot.', + usage: 'ping', + category: '- General Commands', +}; diff --git a/src/commands/uptime.js b/src/commands/uptime.js index 6678044..c1c3ad7 100644 --- a/src/commands/uptime.js +++ b/src/commands/uptime.js @@ -1,19 +1,26 @@ -module.exports.run = async (client, message, args, abVersion) => { +module.exports.run = async (client, message) => { - var uptime = parseInt(client.uptime); - uptime = Math.floor(uptime / 1000); - var uptimeMinutes = Math.floor(uptime / 60); - var minutes = uptime % 60; - var hours = 0; - while (uptimeMinutes >= 60) { - hours++; - uptimeMinutes = uptimeMinutes - 60; - } - var uptimeSeconds = minutes % 60; - message.channel.send(":clock3: AleeBot has been up for " + hours + " hours, " + uptimeMinutes + " minutes, and " + uptimeSeconds + " seconds.") + let uptime = parseInt(client.uptime); + uptime = Math.floor(uptime / 1000); + let uptimeMinutes = Math.floor(uptime / 60); + const minutes = uptime % 60; + let hours = 0; + while (uptimeMinutes >= 60) { + hours++; + uptimeMinutes = uptimeMinutes - 60; + } + const uptimeSeconds = minutes % 60; + message.channel.send(':clock3: AleeBot has been up for ' + hours + ' hours, ' + uptimeMinutes + ' minutes, and ' + uptimeSeconds + ' seconds.'); -} +}; -module.exports.config = { - command: "uptime" -} \ No newline at end of file +exports.conf = { + aliases: [], + guildOnly: false, +}; +exports.help = { + name: 'uptime', + description: 'Displays Uptime.', + usage: 'uptime', + category: '- General Commands', +}; -- cgit v1.2.3