Skip to content

Commit 075f12e

Browse files
authored
Merge pull request #465 from danthe1st/fix-modlog-exception
filter out audit log entries in moderation log earlier
2 parents 3095331 + a047d2f commit 075f12e

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/main/java/net/discordjug/javabot/systems/moderation/DiscordModerationLogListener.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,15 @@
22

33
import java.time.Duration;
44
import java.time.ZonedDateTime;
5+
import java.util.EnumSet;
56
import java.util.concurrent.ExecutorService;
67

78
import lombok.RequiredArgsConstructor;
89
import net.discordjug.javabot.data.config.BotConfig;
910
import net.discordjug.javabot.systems.moderation.warn.dao.WarnRepository;
1011
import net.discordjug.javabot.systems.notification.NotificationService;
12+
import net.discordjug.javabot.util.ExceptionLogger;
13+
import net.dv8tion.jda.api.audit.ActionType;
1114
import net.dv8tion.jda.api.audit.AuditLogChange;
1215
import net.dv8tion.jda.api.audit.AuditLogEntry;
1316
import net.dv8tion.jda.api.events.guild.GuildAuditLogEntryCreateEvent;
@@ -26,7 +29,6 @@ public class DiscordModerationLogListener extends ListenerAdapter{
2629

2730
@Override
2831
public void onGuildAuditLogEntryCreate(GuildAuditLogEntryCreateEvent event) {
29-
3032
ModerationService moderationService = new ModerationService(notificationService, botConfig.get(event.getGuild()), warnRepository, asyncPool);
3133

3234
AuditLogEntry entry = event.getEntry();
@@ -35,6 +37,9 @@ public void onGuildAuditLogEntryCreate(GuildAuditLogEntryCreateEvent event) {
3537
if (moderatorUserId == event.getJDA().getSelfUser().getIdLong()) {
3638
return;
3739
}
40+
if (!EnumSet.of(ActionType.KICK, ActionType.BAN, ActionType.UNBAN, ActionType.MEMBER_UPDATE).contains(entry.getType())) {
41+
return;
42+
}
3843
event.getJDA().retrieveUserById(targetUserId).queue(targetUser -> {
3944
event.getGuild().retrieveMemberById(moderatorUserId).queue(moderator -> {
4045
String reason = entry.getReason();
@@ -56,11 +61,9 @@ public void onGuildAuditLogEntryCreate(GuildAuditLogEntryCreateEvent event) {
5661
}
5762
}
5863
}
59-
default -> {}
64+
default -> ExceptionLogger.capture(new IllegalStateException("Unexpected audit log entry: "+entry.getType()), getClass().getName());
6065
}
61-
});
62-
});
63-
66+
}, e -> ExceptionLogger.capture(e, getClass().getName()));
67+
}, e -> ExceptionLogger.capture(e, getClass().getName()));
6468
}
65-
6669
}

0 commit comments

Comments
 (0)