From 1d9afbc2834bcd640bcddbc96ea5eb37ca1e5660 Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Thu, 15 Sep 2022 23:08:43 +0200 Subject: [PATCH] Implemented onButtonInteraction --- .../alttd/buttonManager/ButtonManager.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/alttd/buttonManager/ButtonManager.java b/src/main/java/com/alttd/buttonManager/ButtonManager.java index b9a1955..607113f 100644 --- a/src/main/java/com/alttd/buttonManager/ButtonManager.java +++ b/src/main/java/com/alttd/buttonManager/ButtonManager.java @@ -2,12 +2,16 @@ package com.alttd.buttonManager; import com.alttd.buttonManager.buttons.suggestionReview.ButtonSuggestionReviewAccept; import com.alttd.buttonManager.buttons.suggestionReview.ButtonSuggestionReviewDeny; +import com.alttd.util.Util; +import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; import net.dv8tion.jda.api.interactions.components.buttons.Button; +import net.dv8tion.jda.api.requests.RestAction; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.awt.*; import java.util.List; import java.util.Optional; @@ -23,7 +27,21 @@ public class ButtonManager extends ListenerAdapter { @Override public void onButtonInteraction(@NotNull ButtonInteractionEvent event) { - + String buttonId = event.getButton().getId(); + Optional first = buttons.stream() + .filter(discordModal -> discordModal.getButtonId().equalsIgnoreCase(buttonId)) + .findFirst(); + if (first.isEmpty()) { + event.replyEmbeds(new EmbedBuilder() + .setTitle("Invalid command") + .setDescription("Unable to process button with id: [" + buttonId + "], please report this issue to a Teri") + .setColor(Color.RED) + .build()) + .setEphemeral(true) + .queue(RestAction.getDefaultSuccess(), Util::handleFailure); + return; + } + first.get().execute(event); } public @Nullable Button getButtonFor(String buttonId) {