Skip to content

Commit 9f4f772

Browse files
committed
onMessageSent -> onMessageReceived, minor improvement on adapter
1 parent 0608574 commit 9f4f772

File tree

3 files changed

+19
-14
lines changed

3 files changed

+19
-14
lines changed

application/src/main/java/org/togetherjava/tjbot/commands/MessageReceiver.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@
1717
*/
1818
public interface MessageReceiver extends Feature {
1919
/**
20-
* Triggered by the core system whenever a new message was sent in a text channel of a guild the
21-
* bot has been added to.
20+
* Triggered by the core system whenever a new message was sent and received in a text channel
21+
* of a guild the bot has been added to.
2222
*
2323
* @param event the event that triggered this, containing information about the corresponding
24-
* message that was sent
24+
* message that was sent and received
2525
*/
26-
void onMessageSent(@NotNull GuildMessageReceivedEvent event);
26+
void onMessageReceived(@NotNull GuildMessageReceivedEvent event);
2727

2828
/**
2929
* Triggered by the core system whenever an existing message was edited in a text channel of a

application/src/main/java/org/togetherjava/tjbot/commands/MessageReceiverAdapter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@
88
* Adapter implementation of a {@link MessageReceiver}. A new receiver can then be registered by
99
* adding it to {@link Features}.
1010
* <p>
11-
* {@link #onMessageSent(GuildMessageReceivedEvent)} and
11+
* {@link #onMessageReceived(GuildMessageReceivedEvent)} and
1212
* {@link #onMessageUpdated(GuildMessageUpdateEvent)} can be overridden if desired. The default
1313
* implementation is empty, the adapter will not react to such events.
1414
*/
1515
public abstract class MessageReceiverAdapter implements MessageReceiver {
1616

1717
@SuppressWarnings("NoopMethodInAbstractClass")
1818
@Override
19-
public void onMessageSent(@NotNull GuildMessageReceivedEvent event) {
19+
public void onMessageReceived(@NotNull GuildMessageReceivedEvent event) {
2020
// Adapter does not react by default, subclasses may change this behavior
2121
}
2222

application/src/main/java/org/togetherjava/tjbot/commands/system/BotCore.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,15 @@
44
import net.dv8tion.jda.api.Permission;
55
import net.dv8tion.jda.api.entities.Guild;
66
import net.dv8tion.jda.api.entities.TextChannel;
7+
import net.dv8tion.jda.api.events.GenericEvent;
78
import net.dv8tion.jda.api.events.ReadyEvent;
89
import net.dv8tion.jda.api.events.interaction.ButtonClickEvent;
910
import net.dv8tion.jda.api.events.interaction.SelectionMenuEvent;
1011
import net.dv8tion.jda.api.events.interaction.SlashCommandEvent;
1112
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
1213
import net.dv8tion.jda.api.events.message.guild.GuildMessageUpdateEvent;
1314
import net.dv8tion.jda.api.exceptions.ErrorHandler;
15+
import net.dv8tion.jda.api.hooks.EventListener;
1416
import net.dv8tion.jda.api.hooks.ListenerAdapter;
1517
import net.dv8tion.jda.api.interactions.commands.Command;
1618
import net.dv8tion.jda.api.interactions.components.ComponentInteraction;
@@ -282,21 +284,24 @@ private interface TriConsumer<A, B, C> {
282284
void accept(A first, B second, C third);
283285
}
284286

285-
private static final class MessageReceiverAsEventListener extends ListenerAdapter {
287+
private static final class MessageReceiverAsEventListener implements EventListener {
286288
private final MessageReceiver messageReceiver;
287289

288290
MessageReceiverAsEventListener(MessageReceiver messageReceiver) {
289291
this.messageReceiver = messageReceiver;
290292
}
291293

294+
@SuppressWarnings("squid:S2583") // False-positive about the if-else-instanceof, sonar
295+
// thinks the second case is unreachable; but it passes
296+
// without pattern-matching. Probably a bug in SonarLint
297+
// with Java 17.
292298
@Override
293-
public void onGuildMessageReceived(@NotNull GuildMessageReceivedEvent event) {
294-
messageReceiver.onMessageSent(event);
295-
}
296-
297-
@Override
298-
public void onGuildMessageUpdate(@NotNull GuildMessageUpdateEvent event) {
299-
messageReceiver.onMessageUpdated(event);
299+
public void onEvent(@NotNull GenericEvent event) {
300+
if (event instanceof GuildMessageReceivedEvent receivedEvent) {
301+
messageReceiver.onMessageReceived(receivedEvent);
302+
} else if (event instanceof GuildMessageUpdateEvent updateEvent) {
303+
messageReceiver.onMessageUpdated(updateEvent);
304+
}
300305
}
301306
}
302307
}

0 commit comments

Comments
 (0)