summaryrefslogtreecommitdiff
path: root/commands/xeval.js
diff options
context:
space:
mode:
Diffstat (limited to 'commands/xeval.js')
-rw-r--r--commands/xeval.js19
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