diff options
Diffstat (limited to 'commands/xeval.js')
-rw-r--r-- | commands/xeval.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/commands/xeval.js b/commands/xeval.js new file mode 100644 index 0000000..a886b4e --- /dev/null +++ b/commands/xeval.js @@ -0,0 +1,19 @@ +const child_process = require("child_process"); +const {promisify} = require("util"); + +module.exports = async (parameter, wrapper) => { + let start = new Date(); + let exec = promisify(child_process.exec); + + if (wrapper.sender === "@raindrops:equestria.dev" || wrapper.sender === "493845599469174794") { + try { + let ret = await exec(parameter); + + wrapper.send("✅ Completed in " + (new Date().getTime() - start) + " ms, running in `system` context\n\n```plaintext\n" + ret.stdout + "\n```\n```plaintext\n" + ret.stderr + "\n```"); + } catch (e) { + wrapper.send("🚨 Failed after " + (new Date().getTime() - start) + " ms, running in `system` context\n\n```plaintext\n" + e.stdout + "\n```\n```plaintext\n" + e.stderr + "\n```"); + } + } else { + wrapper.send("⛔️ This command is private and you are not allowed to use it. Try `.eval` instead."); + } +}
\ No newline at end of file |