Skip to content

Commit b13585e

Browse files
Refactored Report Messages to use Threads
1 parent 80492de commit b13585e

4 files changed

Lines changed: 102 additions & 81 deletions

File tree

‎checkstyle/checkstyle.xml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ See https://checkstyle.org/ for more information.
5050
<module name="IllegalType"/>
5151
<module name="InnerAssignment"/>
5252
<module name="MultipleStringLiterals">
53-
<property name="allowedDuplicates" value="3"/>
53+
<property name="allowedDuplicates" value="5"/>
5454
</module>
5555
<module name="MultipleVariableDeclarations"/>
5656
<module name="NoClone"/>

‎src/main/java/net/javadiscord/javabot/events/InteractionListener.java‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ public void onButtonInteraction(ButtonInteractionEvent event) {
7777
e.printStackTrace();
7878
}
7979
}
80+
case "resolve-report" -> new ReportCommand().markAsResolved(event, id[1]);
8081
case "self-role" -> new SelfRoleInteractionManager().handleButton(event, id);
8182
case "help-channel" -> new HelpChannelInteractionManager().handleHelpChannel(event, id[1], id[2]);
8283
case "help-thank" -> new HelpChannelInteractionManager().handleHelpThank(event, id[1], id[2]);
@@ -101,18 +102,18 @@ private void handleUtils(String[] id, ButtonInteractionEvent event) {
101102
event.getGuild().getMemberById(id[2]),
102103
"None",
103104
event.getMember(),
104-
event.getTextChannel(),
105+
event.getMessageChannel(),
105106
false);
106107
case "ban" -> service.ban(
107108
event.getGuild().getMemberById(id[2]),
108109
"None",
109110
event.getMember(),
110-
event.getTextChannel(),
111+
event.getMessageChannel(),
111112
false);
112113
case "unban" -> service.unban(
113114
Long.parseLong(id[2]),
114115
event.getMember(),
115-
event.getTextChannel(),
116+
event.getMessageChannel(),
116117
false);
117118
}
118119
}

‎src/main/java/net/javadiscord/javabot/systems/moderation/ModerationService.java‎

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public ModerationService(Interaction interaction) {
6767
* @param channel The channel in which the warning was issued.
6868
* @param quiet If true, don't send a message in the channel.
6969
*/
70-
public void warn(Member member, WarnSeverity severity, String reason, Member warnedBy, TextChannel channel, boolean quiet) {
70+
public void warn(Member member, WarnSeverity severity, String reason, Member warnedBy, MessageChannel channel, boolean quiet) {
7171
DbHelper.doDbAction(con -> {
7272
var repo = new WarnRepository(con);
7373
var warn = repo.insert(new Warn(member.getIdLong(), warnedBy.getIdLong(), severity, reason));
@@ -152,13 +152,13 @@ public List<Warn> getWarns(long userId) {
152152
* @param quiet If true, don't send a message in the channel.
153153
* @return Whether the moderator has the permission to time out this member or not.
154154
*/
155-
public boolean timeout(Member member, String reason, Member timedOutBy, Duration duration, TextChannel channel, boolean quiet) {
155+
public boolean timeout(Member member, String reason, Member timedOutBy, Duration duration, MessageChannel channel, boolean quiet) {
156156
var timeoutEmbed = buildTimeoutEmbed(member, timedOutBy, reason, duration);
157157
if (canTimeoutUser(member, timedOutBy)) {
158158
member.getUser().openPrivateChannel().queue(c -> c.sendMessageEmbeds(timeoutEmbed).queue(),
159159
e -> log.info("Could not send Timeout Direct Message to User {}", member.getUser().getAsTag())
160160
);
161-
channel.getGuild().timeoutFor(member, duration).queue();
161+
timedOutBy.getGuild().timeoutFor(member, duration).queue();
162162
config.getLogChannel().sendMessageEmbeds(timeoutEmbed).queue();
163163
if (!quiet) channel.sendMessageEmbeds(timeoutEmbed).queue();
164164
return true;
@@ -176,13 +176,13 @@ public boolean timeout(Member member, String reason, Member timedOutBy, Duration
176176
* @param quiet If true, don't send a message in the channel.
177177
* @return Whether the moderator has the permission to remove this Timeout or not.
178178
*/
179-
public boolean removeTimeout(Member member, String reason, Member removedBy, TextChannel channel, boolean quiet) {
179+
public boolean removeTimeout(Member member, String reason, Member removedBy, MessageChannel channel, boolean quiet) {
180180
var removeTimeoutEmbed = buildTimeoutRemovedEmbed(member, removedBy, reason);
181181
if (canTimeoutUser(member, removedBy)) {
182182
member.getUser().openPrivateChannel().queue(c -> c.sendMessageEmbeds(removeTimeoutEmbed).queue(),
183183
e -> log.info("Could not send Timeout Direct Message to User {}", member.getUser().getAsTag())
184184
);
185-
channel.getGuild().removeTimeout(member).queue();
185+
removedBy.getGuild().removeTimeout(member).queue();
186186
config.getLogChannel().sendMessageEmbeds(removeTimeoutEmbed).queue();
187187
if (!quiet) channel.sendMessageEmbeds(removeTimeoutEmbed).queue();
188188
return true;
@@ -200,14 +200,14 @@ public boolean removeTimeout(Member member, String reason, Member removedBy, Tex
200200
* @param quiet If true, don't send a message in the channel.
201201
* @return Whether the moderator has the permission to ban this member or not.
202202
*/
203-
public boolean ban(Member member, String reason, Member bannedBy, TextChannel channel, boolean quiet) {
203+
public boolean ban(Member member, String reason, Member bannedBy, MessageChannel channel, boolean quiet) {
204204
var banEmbed = buildBanEmbed(member, reason, bannedBy);
205205
if (canBanUser(member, bannedBy)) {
206206
member.getUser().openPrivateChannel().queue(
207207
c -> c.sendMessage(config.getBanMessageText()).setEmbeds(banEmbed).queue(),
208208
e -> log.info("Could not send Ban Direct Message to User {}", member.getUser().getAsTag())
209209
);
210-
channel.getGuild().ban(member, BAN_DELETE_DAYS, reason).queue();
210+
bannedBy.getGuild().ban(member, BAN_DELETE_DAYS, reason).queue();
211211
config.getLogChannel().sendMessageEmbeds(banEmbed).queue();
212212
if (!quiet) channel.sendMessageEmbeds(banEmbed).queue();
213213
return true;
@@ -224,10 +224,10 @@ public boolean ban(Member member, String reason, Member bannedBy, TextChannel ch
224224
* @param quiet If true, don't send a message in the channel.
225225
* @return Whether the member is banned or not.
226226
*/
227-
public boolean unban(long userId, Member bannedBy, TextChannel channel, boolean quiet) {
227+
public boolean unban(long userId, Member bannedBy, MessageChannel channel, boolean quiet) {
228228
var unbanEmbed = buildUnbanEmbed(userId, bannedBy);
229-
if (isBanned(channel.getGuild(), userId)) {
230-
channel.getGuild().unban(User.fromId(userId)).queue();
229+
if (isBanned(bannedBy.getGuild(), userId)) {
230+
bannedBy.getGuild().unban(User.fromId(userId)).queue();
231231
config.getLogChannel().sendMessageEmbeds(unbanEmbed).queue();
232232
if (!quiet) channel.sendMessageEmbeds(unbanEmbed).queue();
233233
return true;
@@ -276,13 +276,12 @@ private boolean canTimeoutUser(Member member, Member timedOutBy) {
276276
* @param quiet If true, don't send a message in the channel.
277277
* @return Whether the moderator has the permission to kick this member or not.
278278
*/
279-
public boolean kick(Member member, String reason, Member kickedBy, TextChannel channel, boolean quiet) {
279+
public boolean kick(Member member, String reason, Member kickedBy, MessageChannel channel, boolean quiet) {
280280
var kickEmbed = buildKickEmbed(member, kickedBy, reason);
281281
if (canKickUser(member, kickedBy)) {
282-
member.getUser().openPrivateChannel().queue(pc -> pc.sendMessageEmbeds(kickEmbed).queue(),
283-
e -> log.info("Could not send Kick Direct Message to User {}", member.getUser().getAsTag())
284-
);
285-
channel.getGuild().kick(member).queue();
282+
member.getUser().openPrivateChannel().queue(pc -> pc.sendMessageEmbeds(kickEmbed).queue(
283+
success -> {}, e -> log.info("Could not send Kick Direct Message to User {}", member.getUser().getAsTag())));
284+
member.getGuild().kick(member).queue();
286285
config.getLogChannel().sendMessageEmbeds(kickEmbed).queue();
287286
if (!quiet) channel.sendMessageEmbeds(kickEmbed).queue();
288287
return true;
@@ -295,7 +294,7 @@ private MessageEmbed buildWarnEmbed(Member member, WarnSeverity severity, long w
295294
return new EmbedBuilder()
296295
.setColor(Color.ORANGE)
297296
.setTitle(String.format("`%d` %s | Warn (%d/%d)", warnId, member.getUser().getAsTag(), totalSeverity, config.getMaxWarnSeverity()))
298-
.addField("Warned member", member.getAsMention(), true)
297+
.addField("Member", member.getAsMention(), true)
299298
.addField("Warned by", warnedBy.getAsMention(), true)
300299
.addField("Severity", String.format("`%s (%s)`", severity.name(), severity.getWeight()), true)
301300
.addField("Warn Reason", String.format(reasonFormat, reason), false)
@@ -308,7 +307,7 @@ private MessageEmbed buildKickEmbed(Member member, Member kickedBy, String reaso
308307
return new EmbedBuilder()
309308
.setColor(Color.RED)
310309
.setTitle(String.format("%s | Kick", member.getUser().getAsTag()))
311-
.addField("Kicked member", member.getAsMention(), true)
310+
.addField("Member", member.getAsMention(), true)
312311
.addField("Kicked by", kickedBy.getAsMention(), true)
313312
.addField("Kick Reason", String.format(reasonFormat, reason), false)
314313
.setTimestamp(Instant.now())
@@ -320,7 +319,7 @@ private MessageEmbed buildTimeoutEmbed(Member member, Member timedOutBy, String
320319
return new EmbedBuilder()
321320
.setColor(Color.RED)
322321
.setTitle(String.format("%s | Timeout", member.getUser().getAsTag()))
323-
.addField("Timed Out member", member.getAsMention(), true)
322+
.addField("Member", member.getAsMention(), true)
324323
.addField("Timed Out by", timedOutBy.getAsMention(), true)
325324
.addField("Until", String.format("`%s UTC`", LocalDateTime.now().plus(duration).format(TimeUtils.STANDARD_FORMATTER)), true)
326325
.addField("Timeout Reason", String.format(reasonFormat, reason), false)
@@ -373,7 +372,7 @@ private MessageEmbed buildBanEmbed(Member member, String reason, Member bannedBy
373372
return new EmbedBuilder()
374373
.setColor(Color.RED)
375374
.setTitle(String.format("%s | Ban", member.getUser().getAsTag()))
376-
.addField("Banned User", member.getAsMention(), true)
375+
.addField("User", member.getAsMention(), true)
377376
.addField("Banned by", bannedBy.getAsMention(), true)
378377
.addField("Ban Reason", String.format(reasonFormat, reason), false)
379378
.setTimestamp(Instant.now())

0 commit comments

Comments
 (0)