Haha-Yes/commands/owner/eval.js

46 lines
1.2 KiB
JavaScript
Raw Normal View History

2018-12-30 01:20:24 +01:00
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;