From ed3dbd5da2ea445372ef732e66289e015c6655f2 Mon Sep 17 00:00:00 2001 From: christolis Date: Thu, 4 Apr 2024 12:42:52 +0300 Subject: [PATCH] use REST action chaining --- .../basic/CoolMessagesBoardManager.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/application/src/main/java/org/togetherjava/tjbot/features/basic/CoolMessagesBoardManager.java b/application/src/main/java/org/togetherjava/tjbot/features/basic/CoolMessagesBoardManager.java index 90c0f17dce..86a1a42e18 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/basic/CoolMessagesBoardManager.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/basic/CoolMessagesBoardManager.java @@ -9,6 +9,7 @@ import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.entities.emoji.Emoji; import net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent; +import net.dv8tion.jda.api.requests.restaction.MessageCreateAction; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -64,11 +65,12 @@ public void onMessageReactionAdd(MessageReactionAddEvent event) { final int newReactionsCount = originalReactionsCount + 1; if (isCoolEmoji && newReactionsCount >= config.minimumReactions()) { - event.retrieveMessage().queue(message -> { - message.addReaction(coolEmoji).queue(); - - insertCoolMessage(boardChannel.get(), message); - }, e -> logger.warn("Tried to retrieve cool message but got: {}", e.getMessage())); + event.retrieveMessage() + .queue(message -> message.addReaction(coolEmoji) + .flatMap(v -> insertCoolMessage(boardChannel.get(), message)) + .queue(), + e -> logger.warn("Tried to retrieve cool message but got: {}", + e.getMessage())); } } @@ -89,9 +91,12 @@ private Optional getBoardChannel(JDA jda, long guildId) { /** * Inserts a message to the specified text channel + * + * @return a {@link MessageCreateAction} of the call to make */ - private static void insertCoolMessage(TextChannel boardChannel, Message message) { - boardChannel.sendMessageEmbeds(Collections.singleton(createQuoteEmbed(message))).queue(); + private static MessageCreateAction insertCoolMessage(TextChannel boardChannel, + Message message) { + return boardChannel.sendMessageEmbeds(Collections.singleton(createQuoteEmbed(message))); } /**