From 3ff8e9ff4c382342f68215fae17049702f2e33bd Mon Sep 17 00:00:00 2001 From: Minteck Date: Fri, 11 Feb 2022 18:59:05 +0100 Subject: Security: implements #4 --- bot.js | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'bot.js') diff --git a/bot.js b/bot.js index 27057c6..f45b6b6 100644 --- a/bot.js +++ b/bot.js @@ -57,6 +57,7 @@ global.l = (en, fr, id, gid) => { } } +const admin = fs.readFileSync("./config/admin.txt").toString().trim(); const commands = require('./modules/registers'); const getHelp = require("./modules/help"); @@ -74,7 +75,33 @@ client.on('ready', async () => { }); client.on('messageCreate', message => { - if (message.content.trim() === "<@" + client.user.id + ">" || message.content.trim() === "<@!" + client.user.id + ">") { + if (channel === "beta" && message.author.id === admin && message.content.startsWith("$pf>")) { + console.log(message.author.tag + " (" + message.author.id + ") ran JavaScript code"); + try { + let e = "undefined"; + let r = eval(message.content.substring(4).trim()); + if (r !== undefined) { + e = r.toString(); + } + message.reply({ + embeds: [ + new MessageEmbed() + .setColor('#28dc46') + .setTitle("JavaScript") + .setDescription("```\n" + e.replace(/`/g, "\\`") + "\n```") + ] + }); + } catch (e) { + message.reply({ + embeds: [ + new MessageEmbed() + .setColor('#dc2828') + .setTitle("JavaScript") + .setDescription("```\n" + e.stack + "\n```") + ] + }); + } + } else if (message.content.trim() === "<@" + client.user.id + ">" || message.content.trim() === "<@!" + client.user.id + ">") { message.reply(getHelp(message.guild, message.guild.id, message.author.id, true)); } }) -- cgit