const { Command } = require('discord-akairo'); class EvalCommand extends Command { constructor() { super('eval', { aliases: ['eval'], split: 'none', category: 'owner', args: [ { id: 'eval', type: 'string' } ], 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;