diff options
author | Minteck <contact@minteck.org> | 2022-02-11 18:59:05 +0100 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2022-02-11 18:59:36 +0100 |
commit | 3ff8e9ff4c382342f68215fae17049702f2e33bd (patch) | |
tree | 6de3a56acae7d0d90f52bf2b15db8e99387004f6 /bot.js | |
parent | 3da955739b9794865467257aa26562c6c81bc17f (diff) | |
download | ponyfind-3ff8e9ff4c382342f68215fae17049702f2e33bd.tar.gz ponyfind-3ff8e9ff4c382342f68215fae17049702f2e33bd.tar.bz2 ponyfind-3ff8e9ff4c382342f68215fae17049702f2e33bd.zip |
Security: implements #4
Diffstat (limited to 'bot.js')
-rw-r--r-- | bot.js | 29 |
1 files changed, 28 insertions, 1 deletions
@@ -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)); } }) |