aboutsummaryrefslogtreecommitdiff
path: root/src/commands/eval.js
diff options
context:
space:
mode:
authorAlee <alee14498@gmail.com>2018-02-25 14:54:37 -0500
committerAlee <alee14498@gmail.com>2018-02-25 14:54:37 -0500
commit3e06bff720bd660ef41ce2e149004836595b4e40 (patch)
tree0f66307832ceca562df3d13bbdd6fd46e4625ac5 /src/commands/eval.js
parent2297ebb012e5522ce3b8360c404f522ed30dd985 (diff)
parent94eeeec5b7d4d29ae9d372fc1b86ce5351112548 (diff)
downloadAleeBot-3e06bff720bd660ef41ce2e149004836595b4e40.tar.gz
AleeBot-3e06bff720bd660ef41ce2e149004836595b4e40.tar.bz2
AleeBot-3e06bff720bd660ef41ce2e149004836595b4e40.zip
2.0 release (I hope it will work)
Diffstat (limited to 'src/commands/eval.js')
-rw-r--r--src/commands/eval.js67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/commands/eval.js b/src/commands/eval.js
new file mode 100644
index 0000000..a1aae92
--- /dev/null
+++ b/src/commands/eval.js
@@ -0,0 +1,67 @@
+module.exports.run = async (client, message, args) => {
+ if (!['242775871059001344',].includes(message.author.id)) return message.reply('Nope! You need the person who created this bot to use this command.');
+ const { RichEmbed } = require('discord.js');
+ const code = args.join(' ');
+
+ let evaled;
+ let remove;
+
+ try {
+ remove = text => {
+ if (typeof(text) === 'string') {
+ return text.replace(/`/g, '`' + String.fromCharCode(8203)).replace(/@/g, '@' + String.fromCharCode(8203));
+ } else {
+ return text;
+ }
+ };
+
+ evaled = eval(code);
+
+ if (typeof evaled !== 'string') {
+ evaled = require('util').inspect(evaled);
+ }
+
+ } catch (err) {
+ const embed = new RichEmbed()
+ .setAuthor('Eval Error')
+ .setDescription('Eval\'s result')
+ .addField(':inbox_tray: Input:', `\`\`\`js\n${code}\n\`\`\``)
+ .addField(':outbox_tray: Output:', `\`\`\`${err}\`\`\``)
+ .setFooter('Eval', client.user.avatarURL)
+ .setColor('RED');
+ return message.channel.send({ embed });
+ }
+
+ try {
+ const embed = new RichEmbed()
+ .setAuthor('Eval Success')
+ .setDescription('Eval\'s result')
+ .addField(':inbox_tray: Input:', `\`\`\`js\n${code}\n\`\`\``)
+ .addField(':outbox_tray: Output:', `\`\`\`js\n${remove(evaled)}\n\`\`\``)
+ .setFooter('Eval', client.user.avatarURL)
+ .setColor('GREEN');
+
+ return message.channel.send({ embed });
+ } catch (err) {
+ const embed = new RichEmbed()
+ .setAuthor('Eval Error')
+ .setDescription('Eval\'s result')
+ .addField(':inbox_tray: Input:', `\`\`\`js\n${code}\n\`\`\``)
+ .addField(':outbox_tray: Output:', `\`\`\`${err}\`\`\``)
+ .setFooter('Eval', client.user.avatarURL)
+ .setColor('RED');
+ return message.channel.send({ embed });
+ }
+ };
+
+ exports.conf = {
+ aliases: [],
+ guildOnly: false,
+ };
+ exports.help = {
+ name: 'eval',
+ description: 'Evalulates commands.',
+ usage: '<code>',
+ category: '- Owners Only',
+ };
+ \ No newline at end of file