From d1ded702722c8041d393947c81b7cfffeeae35b0 Mon Sep 17 00:00:00 2001 From: Reason <28310208+Reasonlesss@users.noreply.github.com> Date: Fri, 3 May 2024 02:52:58 +0100 Subject: [PATCH] Only allow specific bot devs to run ?eval as mods can just give themselves the role. --- .../command/impl/other/dev/EvalCommand.java | 19 +++++++++++++++++++ .../bot/command/permissions/Permission.java | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/diamondfire/helpbot/bot/command/impl/other/dev/EvalCommand.java b/src/main/java/com/diamondfire/helpbot/bot/command/impl/other/dev/EvalCommand.java index 3c4ec9b5..b7354f10 100644 --- a/src/main/java/com/diamondfire/helpbot/bot/command/impl/other/dev/EvalCommand.java +++ b/src/main/java/com/diamondfire/helpbot/bot/command/impl/other/dev/EvalCommand.java @@ -13,12 +13,20 @@ import javax.script.*; import java.awt.*; import java.io.*; +import java.util.*; import java.util.List; import java.util.stream.Collectors; public class EvalCommand extends Command { + // Moderators can just give themselves bot dev role apparently... + private static final Set BOT_DEVELOPERS = Set.of( + 511653192942092289L, // Reasonless + 248855041803288576L, // Tomoli75 + 945012492030074900L // Owen1212055 + ); + private static final List IMPORTS = List.of( "net.dv8tion.jda.core", "net.dv8tion.jda.core.managers", @@ -68,6 +76,17 @@ public void run(CommandEvent event) { return; } + boolean hasManual = BOT_DEVELOPERS.contains(event.getMember().getIdLong()); + boolean hasRole = Permission.DEVELOPER.hasPermission(event.getMember()); + if (!hasManual && !hasRole) { + EmbedBuilder builder = new EmbedBuilder(); + builder.setTitle("No."); + builder.setColor(Color.red); + + event.getChannel().sendMessageEmbeds(builder.build()).queue(); + return; + } + ScriptEngine engine = new ScriptEngineManager().getEngineByName("groovy"); engine.put("jda", event.getJDA()); diff --git a/src/main/java/com/diamondfire/helpbot/bot/command/permissions/Permission.java b/src/main/java/com/diamondfire/helpbot/bot/command/permissions/Permission.java index 701b5487..6d0914c0 100644 --- a/src/main/java/com/diamondfire/helpbot/bot/command/permissions/Permission.java +++ b/src/main/java/com/diamondfire/helpbot/bot/command/permissions/Permission.java @@ -8,8 +8,8 @@ import java.util.stream.Collectors; public enum Permission { - BOT_DEVELOPER(999), DEVELOPER(999), + BOT_DEVELOPER(998), // Ask DragonSlasher, not me. ADMINISTRATOR(666), MODERATION(5),