Skip to content

Commit 7791c7b

Browse files
committed
Some more minor updates to logging.
1 parent a156bb5 commit 7791c7b

File tree

2 files changed

+29
-126
lines changed

2 files changed

+29
-126
lines changed

src/listener/java/com/mcmoddev/mmdbot/thelistener/events/LeaveJoinEvents.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public void onGuildMemberRemove(@NotNull final GuildMemberRemoveEvent event) {
7272
.setColor(Color.RED)
7373
.setTitle("User Left")
7474
.addField("User:", event.getUser().getAsTag(), true)
75-
.addField("Roles", RoleEvents.mentionsOrEmpty(event.getMember().getRoles()), true)
75+
.addField("Roles", RoleEvents.mentionsOrEmpty(event.getMember().getRoles()), false)
7676
.setFooter("User ID: " + event.getMember().getId(), event.getMember().getEffectiveAvatarUrl())
7777
.setTimestamp(Instant.now())
7878
.build();

src/listener/java/com/mcmoddev/mmdbot/thelistener/events/ModerationEvents.java

Lines changed: 28 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,13 @@
2323
import club.minnced.discord.webhook.send.AllowedMentions;
2424
import com.mcmoddev.mmdbot.core.event.moderation.WarningEvent;
2525
import com.mcmoddev.mmdbot.core.util.webhook.WebhookManager;
26-
import com.mcmoddev.mmdbot.thelistener.TheListener;
2726
import com.mcmoddev.mmdbot.thelistener.util.LoggingType;
2827
import com.mcmoddev.mmdbot.thelistener.util.Utils;
2928
import io.github.matyrobbrt.eventdispatcher.SubscribeEvent;
3029
import net.dv8tion.jda.api.EmbedBuilder;
3130
import net.dv8tion.jda.api.JDA;
3231
import net.dv8tion.jda.api.audit.ActionType;
3332
import net.dv8tion.jda.api.audit.AuditLogKey;
34-
import net.dv8tion.jda.api.entities.Member;
3533
import net.dv8tion.jda.api.entities.MessageEmbed;
3634
import net.dv8tion.jda.api.entities.User;
3735
import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
@@ -58,13 +56,13 @@ public final class ModerationEvents extends ListenerAdapter {
5856
public static final ModerationEvents INSTANCE = new ModerationEvents();
5957

6058
private static final String WEBHOOK_NAME = "ModerationLogs";
61-
private static final WebhookManager WEBHOOKS = WebhookManager.of(e -> e.trim().equals(WEBHOOK_NAME), WEBHOOK_NAME, AllowedMentions.none());
59+
private static final WebhookManager WEBHOOKS = WebhookManager.of(e
60+
-> e.trim().equals(WEBHOOK_NAME), WEBHOOK_NAME, AllowedMentions.none());
6261

6362
public static final Color RUBY = new Color(0xE91E63);
6463
public static final Color LIGHT_SEA_GREEN = new Color(0x1ABC9C);
6564

6665
private ModerationEvents() {
67-
//TODO Finish up remove, warns, timeouts, and merge nicks.
6866
}
6967

7068
@Override
@@ -75,32 +73,17 @@ public void onGuildBan(@NotNull final GuildBanEvent event) {
7573
final var embed = new EmbedBuilder();
7674
final var bannedUser = event.getUser();
7775
final var bannedBy = Optional.ofNullable(log.getUser());
78-
7976
embed.setColor(Color.RED);
8077
embed.setTitle("User Banned.");
8178
embed.addField("**User:**", bannedUser.getAsTag(), true);
82-
embed.addField("**ID:**", bannedUser.getId(), true);
83-
8479
if (log.getReason() != null) {
8580
embed.addField("**Ban reason:**", log.getReason(), false);
8681
} else {
87-
embed.addField("**Ban reason:**", "Reason for ban was not provided or could not be found, "
88-
+ "please contact the person who issued the ban.", false);
89-
}
90-
91-
final var targetId = log.getTargetIdLong();
92-
93-
if (targetId != bannedUser.getIdLong()) {
94-
TheListener.LOGGER.warn("Inconsistency between target of retrieved audit log "
95-
+ "entry and actual ban event target: retrieved is {}, but target is {}",
96-
targetId, bannedUser);
97-
} else {
98-
embed.setFooter("Banned By: " + bannedBy.map(u -> "%s (%s)".formatted(u.getAsTag(), u.getId()))
99-
.orElse("Unknown"));
82+
embed.addField("**Ban reason:**", "Reason for ban was not provided or could not be found "
83+
+ "please contact a member of staff for more information about this ban ban.", false);
10084
}
101-
85+
embed.setFooter("User ID: " + bannedUser.getId(), bannedUser.getEffectiveAvatarUrl());
10286
embed.setTimestamp(Instant.now());
103-
10487
log(event.getGuild().getIdLong(), event.getJDA(), embed.build(), bannedBy);
10588
});
10689
}
@@ -111,67 +94,30 @@ public void onGuildUnban(@NotNull final GuildUnbanEvent event) {
11194
.limit(5)
11295
.type(ActionType.UNBAN), log -> {
11396
final var embed = new EmbedBuilder();
114-
final var bannedUser = event.getUser();
97+
final var unBannedUser = event.getUser();
11598
final var bannedBy = Optional.ofNullable(log.getUser());
116-
11799
embed.setColor(Color.GREEN);
118100
embed.setTitle("User Un-banned.");
119-
embed.addField("**User:**", bannedUser.getAsTag(), true);
120-
embed.addField("**ID:**", bannedUser.getId(), true);
121-
122-
final var targetId = log.getTargetIdLong();
123-
124-
if (targetId != bannedUser.getIdLong()) {
125-
TheListener.LOGGER.warn("Inconsistency between target of retrieved audit log "
126-
+ "entry and actual unban event target: retrieved is {}, but target is {}",
127-
targetId, bannedUser);
128-
} else {
129-
embed.setFooter("Un-banned By: " + bannedBy.map(u -> "%s (%s)".formatted(u.getAsTag(), u.getId()))
130-
.orElse("Unknown"));
131-
}
132-
133-
bannedBy.ifPresent(u -> embed.setFooter("Moderator ID: " + u.getId(), u.getAvatarUrl()));
101+
embed.addField("**User:**", unBannedUser.getAsTag(), true);
102+
embed.setFooter("User ID: " + unBannedUser.getId(), unBannedUser.getEffectiveAvatarUrl());
134103
embed.setTimestamp(Instant.now());
135104
log(event.getGuild().getIdLong(), event.getJDA(), embed.build(), bannedBy);
136105
});
137106
}
138107

139108
@Override
140109
public void onGuildMemberUpdateNickname(@NotNull final GuildMemberUpdateNicknameEvent event) {
141-
Utils.getAuditLog(event.getGuild(), event.getMember().getIdLong(), log -> log
142-
.type(ActionType.MEMBER_UPDATE)
143-
.limit(5), entry -> {
144-
if (entry.getChangeByKey(AuditLogKey.MEMBER_NICK) == null) {
145-
onNickNoAudit(event);
146-
} else {
147-
final var embed = new EmbedBuilder();
148-
embed.setColor(Color.YELLOW);
149-
embed.setTitle("Nickname Changed");
150-
embed.addField("User:", event.getUser().getAsTag(), true);
151-
embed.addField("Old Nickname:", event.getOldNickname() == null
152-
? "*None*" : event.getOldNickname(), true);
153-
embed.addField("New Nickname:", event.getNewNickname() == null
154-
? "*None*" : event.getNewNickname(), true);
155-
embed.setFooter("User ID: " + event.getUser().getId(), event.getUser().getEffectiveAvatarUrl());
156-
embed.setTimestamp(Instant.now());
157-
158-
logWithWebhook(event.getGuild().getIdLong(), event.getJDA(), embed.build(), event.getUser());
159-
}
160-
}, () -> onNickNoAudit(event));
161-
}
162-
163-
private void onNickNoAudit(final GuildMemberUpdateNicknameEvent event) {
164110
final var embed = new EmbedBuilder();
165111
final var targetUser = event.getUser();
166-
167112
embed.setColor(Color.YELLOW);
168113
embed.setTitle("Nickname Changed");
169114
embed.addField("User:", targetUser.getAsTag(), true);
170-
embed.addField("Old Nickname:", event.getOldNickname() == null ? "*None*" : event.getOldNickname(), true);
171-
embed.addField("New Nickname:", event.getNewNickname() == null ? "*None*" : event.getNewNickname(), true);
115+
embed.addField("Old Nickname:", event.getOldNickname() == null
116+
? "*None*" : event.getOldNickname(), true);
117+
embed.addField("New Nickname:", event.getNewNickname() == null
118+
? "*None*" : event.getNewNickname(), true);
172119
embed.setFooter("User ID: " + event.getUser().getId(), event.getUser().getEffectiveAvatarUrl());
173120
embed.setTimestamp(Instant.now());
174-
175121
logWithWebhook(event.getGuild().getIdLong(), event.getJDA(), embed.build(), event.getUser());
176122
}
177123

@@ -192,31 +138,12 @@ public void onGuildMemberRemove(@NotNull final GuildMemberRemoveEvent event) {
192138

193139
embed.setColor(RUBY);
194140
embed.setTitle("User Kicked");
195-
embed.setThumbnail(kickedUser.getAvatarUrl());
196-
embed.addField("**Name:**", kickedUser.getName(), false);
197-
embed.addField("**User ID:**", kickedUser.getId(), false);
198-
embed.addField("**Profile:**", kickedUser.getAsMention(), false);
199-
embed.addField("**Profile Age:**", TimeFormat.RELATIVE
200-
.format(kickedUser.getTimeCreated()), false);
201-
202-
embed.addField("Guild Join Time:", Optional.ofNullable(event.getMember()).map(Member::getTimeJoined)
203-
.map(TimeFormat.DATE_TIME_SHORT::format).orElse("Join time could not be determined!"), true);
204-
141+
embed.addField("**Name:**", kickedUser.getAsTag(), true);
205142
embed.addField("**Kick reason:**", log.getReason() != null ? log.getReason() :
206143
("Reason for kick was not provided or could not be found, please contact "
207-
+ kicker.map(User::getAsMention).orElse("the kicker.")), false);
208-
209-
final var targetId = log.getTargetIdLong();
210-
211-
if (targetId != event.getUser().getIdLong()) {
212-
TheListener.LOGGER.warn("Inconsistency between target of retrieved audit log "
213-
+ "entry and actual kick event target: retrieved is {}, but target is {}",
214-
targetId, event.getUser());
215-
} else {
216-
embed.addField("Kicked By: ", kicker.map(u -> "<@%s> (%s)".formatted(u.getId(), u.getId())).orElse("Unknown"), false);
217-
}
218-
219-
kicker.ifPresent(u -> embed.setFooter("Moderator ID: " + u.getId(), u.getAvatarUrl()));
144+
+ "a member of staff for more information about this kick."), false);
145+
embed.setFooter("User ID: " + kickedUser.getId(), kickedUser.getAvatarUrl());
146+
embed.setTimestamp(Instant.now());
220147

221148
log(event.getGuild().getIdLong(), event.getJDA(), embed.build(), kicker);
222149
});
@@ -235,26 +162,14 @@ public void onGuildMemberUpdateTimeOut(@NotNull final GuildMemberUpdateTimeOutEv
235162

236163
embed.setColor(LIGHT_SEA_GREEN);
237164
embed.setTitle("User Timed Out");
238-
embed.setThumbnail(user.getAvatarUrl());
239-
embed.addField("**User:**", "%s (%s)".formatted(user.getAsMention(), user.getId()), false);
240-
embed.addField("**Timeout End:**", TimeFormat.RELATIVE.format(event.getNewTimeOutEnd()), false);
241-
165+
embed.addField("**User:**", user.getAsTag(), true);
166+
embed.addField("**Timeout End:**", TimeFormat.RELATIVE.format(event.getNewTimeOutEnd()),
167+
true);
242168
embed.addField("**Reason:**", log.getReason() != null ? log.getReason() :
243-
("Reason for timeout was not provided or could not be found, please contact "
244-
+ moderator.map(User::getAsMention).orElse("the moderator.")), false);
245-
246-
final var targetId = log.getTargetIdLong();
247-
248-
if (targetId != event.getUser().getIdLong()) {
249-
TheListener.LOGGER.warn("Inconsistency between target of retrieved audit log "
250-
+ "entry and actual kick event target: retrieved is {}, but target is {}",
251-
targetId, event.getUser());
252-
} else {
253-
embed.addField("Timed Out By: ", moderator.map(u -> "<@%s> (%s)".formatted(u.getId(), u.getId())).orElse("Unknown"), false);
254-
}
255-
256-
moderator.ifPresent(u -> embed.setFooter("Moderator ID: " + u.getId(), u.getAvatarUrl()));
257-
169+
"Reason for timeout was not provided or could not be found, please ask a member of staff for "
170+
+ "information about this timeout.", false);
171+
embed.setFooter("User ID: " + user.getId(), user.getEffectiveAvatarUrl());
172+
embed.setTimestamp(Instant.now());
258173
log(event.getGuild().getIdLong(), event.getJDA(), embed.build(), moderator);
259174
});
260175
} else if (event.getOldTimeOutEnd() != null && event.getNewTimeOutEnd() == null) {
@@ -265,25 +180,13 @@ public void onGuildMemberUpdateTimeOut(@NotNull final GuildMemberUpdateTimeOutEv
265180
final var embed = new EmbedBuilder();
266181
final var moderator = Optional.ofNullable(log.getUser());
267182
final var user = event.getUser();
268-
269183
embed.setColor(Color.CYAN);
270184
embed.setTitle("User Timeout Removed");
271-
embed.setThumbnail(user.getAvatarUrl());
272-
embed.addField("**User:**", "%s (%s)".formatted(user.getAsMention(), user.getId()), false);
273-
embed.addField("**Old Timeout End:**", TimeFormat.RELATIVE.format(event.getOldTimeOutEnd()), false);
274-
275-
final var targetId = log.getTargetIdLong();
276-
277-
if (targetId != event.getUser().getIdLong()) {
278-
TheListener.LOGGER.warn("Inconsistency between target of retrieved audit log "
279-
+ "entry and actual kick event target: retrieved is {}, but target is {}",
280-
targetId, event.getUser());
281-
} else {
282-
embed.addField("Timeout Removed By: ", moderator.map(u -> "<@%s> (%s)".formatted(u.getId(), u.getId())).orElse("Unknown"), false);
283-
}
284-
285-
moderator.ifPresent(u -> embed.setFooter("Moderator ID: " + u.getId(), u.getAvatarUrl()));
286-
185+
embed.addField("**User:**", user.getAsTag(), true);
186+
embed.addField("**Old Timeout End:**", TimeFormat.RELATIVE.format(event.getOldTimeOutEnd()),
187+
true);
188+
embed.setFooter("User ID: " + user.getId(), user.getEffectiveAvatarUrl());
189+
embed.setTimestamp(Instant.now());
287190
log(event.getGuild().getIdLong(), event.getJDA(), embed.build(), moderator);
288191
});
289192
}

0 commit comments

Comments
 (0)