diff options
| -rw-r--r-- | src/commands/eval.js | 67 |
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 |
