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) {