summaryrefslogtreecommitdiff
path: root/commands/xeval.js
blob: a886b4ea874a72129064186f12926ae6b5eb029d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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.");
    }
}