From a047d2fc196be9afa9b9439ba3955e05128c468b Mon Sep 17 00:00:00 2001 From: danthe1st Date: Sun, 31 Dec 2023 11:36:27 +0100 Subject: [PATCH] filter out audit log entries in moderation log earlier --- .../moderation/DiscordModerationLogListener.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/discordjug/javabot/systems/moderation/DiscordModerationLogListener.java b/src/main/java/net/discordjug/javabot/systems/moderation/DiscordModerationLogListener.java index 6dc9d3dda..77f1e7aa2 100644 --- a/src/main/java/net/discordjug/javabot/systems/moderation/DiscordModerationLogListener.java +++ b/src/main/java/net/discordjug/javabot/systems/moderation/DiscordModerationLogListener.java @@ -2,12 +2,15 @@ import java.time.Duration; import java.time.ZonedDateTime; +import java.util.EnumSet; import java.util.concurrent.ExecutorService; import lombok.RequiredArgsConstructor; import net.discordjug.javabot.data.config.BotConfig; import net.discordjug.javabot.systems.moderation.warn.dao.WarnRepository; import net.discordjug.javabot.systems.notification.NotificationService; +import net.discordjug.javabot.util.ExceptionLogger; +import net.dv8tion.jda.api.audit.ActionType; import net.dv8tion.jda.api.audit.AuditLogChange; import net.dv8tion.jda.api.audit.AuditLogEntry; import net.dv8tion.jda.api.events.guild.GuildAuditLogEntryCreateEvent; @@ -26,7 +29,6 @@ public class DiscordModerationLogListener extends ListenerAdapter{ @Override public void onGuildAuditLogEntryCreate(GuildAuditLogEntryCreateEvent event) { - ModerationService moderationService = new ModerationService(notificationService, botConfig.get(event.getGuild()), warnRepository, asyncPool); AuditLogEntry entry = event.getEntry(); @@ -35,6 +37,9 @@ public void onGuildAuditLogEntryCreate(GuildAuditLogEntryCreateEvent event) { if (moderatorUserId == event.getJDA().getSelfUser().getIdLong()) { return; } + if (!EnumSet.of(ActionType.KICK, ActionType.BAN, ActionType.UNBAN, ActionType.MEMBER_UPDATE).contains(entry.getType())) { + return; + } event.getJDA().retrieveUserById(targetUserId).queue(targetUser -> { event.getGuild().retrieveMemberById(moderatorUserId).queue(moderator -> { String reason = entry.getReason(); @@ -56,11 +61,9 @@ public void onGuildAuditLogEntryCreate(GuildAuditLogEntryCreateEvent event) { } } } - default -> {} + default -> ExceptionLogger.capture(new IllegalStateException("Unexpected audit log entry: "+entry.getType()), getClass().getName()); } - }); - }); - + }, e -> ExceptionLogger.capture(e, getClass().getName())); + }, e -> ExceptionLogger.capture(e, getClass().getName())); } - }