From 448d794372baa5535f6886e5b47344e6130dc8a7 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 24 Feb 2018 15:08:05 -0500 Subject: eval --- commands/Owners Only/eval.js | 67 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 commands/Owners Only/eval.js (limited to 'commands') diff --git a/commands/Owners Only/eval.js b/commands/Owners Only/eval.js new file mode 100644 index 0000000..1e7bb4e --- /dev/null +++ b/commands/Owners Only/eval.js @@ -0,0 +1,67 @@ +exports.run = async (bot, msg, args) => { + if (!['242775871059001344', '247221105515823104', '236279900728721409'].includes(msg.author.id)) { + msg.reply('Nope! You need the person who created this bot to use this command.'); + } + 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 bot.Embed() + .setAuthor('Eval Error') + .setDescription('Eval\'s result') + .addField(':inbox_tray: Input:', `\`\`\`js\n${code}\n\`\`\``) + .addField(':outbox_tray: Output:', `\`\`\`${err.stack}\`\`\``) + .setFooter('Eval', bot.user.avatarURL) + .setColor('RED'); + return msg.channel.send({ embed }); + } + + try { + const embed = new bot.Embed() + .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', bot.user.avatarURL) + .setColor('GREEN'); + + return msg.channel.send({ embed }); + } catch (err) { + const embed = new bot.Embed() + .setAuthor('Eval Error') + .setDescription('Eval\'s result') + .addField(':inbox_tray: Input:', `\`\`\`js\n${code}\n\`\`\``) + .addField(':outbox_tray: Output:', `\`\`\`${err.stack}\`\`\``) + .setFooter('Eval', bot.user.avatarURL) + .setColor('RED'); + return msg.channel.send({ embed }); + } +}; + +exports.conf = { + aliases: [], + guildOnly: false, +}; + +exports.help = { + name: 'eval', + description: 'Evaluates Javascript Code', + usage: '', +}; -- cgit v1.2.3