const { Command } = require('discord-akairo'); class EvalCommand extends Command { constructor() { super('eval', { aliases: ['eval'], category: 'owner', args: [ { id: 'eval', type: 'string', match: 'rest' } ], ownerOnly: 'true', description: { content: 'Execute javascript', usage: '[code]', examples: ['message.channel.send(\'Hi\')'] } }); } async exec(message, args) { const clean = text => { if (typeof(text) === 'string') return text.replace(/`/g, '`' + String.fromCharCode(8203)).replace(/@/g, '@' + String.fromCharCode(8203)); else return text; }; try { const code = args.eval; let evaled = eval(code); if (typeof evaled !== 'string') evaled = require('util').inspect(evaled); message.channel.send(clean(evaled), {code:'xl'}); } catch (err) { message.channel.send(`\`ERROR\` \`\`\`xl\n${clean(err)}\n\`\`\``); } } } module.exports = EvalCommand;