From 9e12b4b4f2d9d243b036522c67ab00a32de144fe Mon Sep 17 00:00:00 2001 From: IoyoCode <81972974+IoyoCode@users.noreply.github.com> Date: Tue, 25 Oct 2022 14:40:22 +0100 Subject: [PATCH] fix: fixed conflicts & updated things broken by changes in JDA feat: Added support for new select menu types --- src/main/java/com/seailz/jdaframework/DiscordBot.java | 6 ++++-- src/main/java/com/seailz/jdaframework/modals/Modal.java | 4 ++-- .../jdaframework/modals/controller/ModalManager.java | 8 ++++---- .../seailz/jdaframework/select/SelectMenuListener.java | 4 ++-- .../com/seailz/jdaframework/select/SelectMenuManager.java | 4 ++-- 5 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/seailz/jdaframework/DiscordBot.java b/src/main/java/com/seailz/jdaframework/DiscordBot.java index 4dbacc1..62f0502 100644 --- a/src/main/java/com/seailz/jdaframework/DiscordBot.java +++ b/src/main/java/com/seailz/jdaframework/DiscordBot.java @@ -15,9 +15,11 @@ import net.dv8tion.jda.api.JDABuilder; import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent; -import net.dv8tion.jda.api.events.interaction.component.SelectMenuInteractionEvent; +import net.dv8tion.jda.api.events.interaction.component.GenericSelectMenuInteractionEvent; +import net.dv8tion.jda.api.events.interaction.component.StringSelectInteractionEvent; import net.dv8tion.jda.api.hooks.EventListener; import net.dv8tion.jda.api.hooks.ListenerAdapter; +import net.dv8tion.jda.api.interactions.components.selections.EntitySelectMenu; import javax.security.auth.login.LoginException; import java.util.HashMap; @@ -37,7 +39,7 @@ public class DiscordBot { private static HashMap> buttonRegistry; @Getter - private static HashMap> selectRegistry; + private static HashMap> selectRegistry; private String token; private JDA jda; diff --git a/src/main/java/com/seailz/jdaframework/modals/Modal.java b/src/main/java/com/seailz/jdaframework/modals/Modal.java index d3df10b..eb93098 100644 --- a/src/main/java/com/seailz/jdaframework/modals/Modal.java +++ b/src/main/java/com/seailz/jdaframework/modals/Modal.java @@ -7,7 +7,7 @@ import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent; -import net.dv8tion.jda.api.events.interaction.component.SelectMenuInteractionEvent; +import net.dv8tion.jda.api.events.interaction.component.GenericSelectMenuInteractionEvent; import net.dv8tion.jda.api.interactions.components.ItemComponent; import net.dv8tion.jda.api.interactions.modals.ModalMapping; @@ -72,7 +72,7 @@ public void open(Member member, SlashCommandInteractionEvent interaction) { * @param member The member to show the modal to * @param interaction The interaction to reply to */ - public void open(Member member, SelectMenuInteractionEvent interaction) { + public void open(Member member, GenericSelectMenuInteractionEvent interaction) { ModalManager.open(this, member, interaction); } diff --git a/src/main/java/com/seailz/jdaframework/modals/controller/ModalManager.java b/src/main/java/com/seailz/jdaframework/modals/controller/ModalManager.java index 05c2d83..b85345c 100644 --- a/src/main/java/com/seailz/jdaframework/modals/controller/ModalManager.java +++ b/src/main/java/com/seailz/jdaframework/modals/controller/ModalManager.java @@ -5,7 +5,7 @@ import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent; -import net.dv8tion.jda.api.events.interaction.component.SelectMenuInteractionEvent; +import net.dv8tion.jda.api.events.interaction.component.GenericSelectMenuInteractionEvent; import net.dv8tion.jda.api.interactions.Interaction; import net.dv8tion.jda.api.interactions.components.ActionRow; import net.dv8tion.jda.api.interactions.components.ItemComponent; @@ -36,7 +36,7 @@ public static void open(Modal modal, Member member, Interaction interaction) { components.add(component.apply(member)); }); - net.dv8tion.jda.api.interactions.components.Modal.Builder jdaModal = net.dv8tion.jda.api.interactions.components.Modal.create( + net.dv8tion.jda.api.interactions.modals.Modal.Builder jdaModal = net.dv8tion.jda.api.interactions.modals.Modal.create( modal.getId(), modal.getTitle() ); @@ -50,8 +50,8 @@ public static void open(Modal modal, Member member, Interaction interaction) { } else if (interaction instanceof ButtonInteractionEvent) { ButtonInteractionEvent e = (ButtonInteractionEvent) interaction; e.replyModal(jdaModal.build()).queue(); - } else if (interaction instanceof SelectMenuInteractionEvent) { - SelectMenuInteractionEvent e = (SelectMenuInteractionEvent) interaction; + } else if (interaction instanceof GenericSelectMenuInteractionEvent) { + GenericSelectMenuInteractionEvent e = (GenericSelectMenuInteractionEvent) interaction; e.replyModal(jdaModal.build()).queue(); } else throw new IllegalStateException("Interaction is not a SlashCommandInteractionEvent, SelectMenuInteractionEvent or ButtonInteractionEvent"); diff --git a/src/main/java/com/seailz/jdaframework/select/SelectMenuListener.java b/src/main/java/com/seailz/jdaframework/select/SelectMenuListener.java index 85b6393..72b22e2 100644 --- a/src/main/java/com/seailz/jdaframework/select/SelectMenuListener.java +++ b/src/main/java/com/seailz/jdaframework/select/SelectMenuListener.java @@ -1,13 +1,13 @@ package com.seailz.jdaframework.select; import com.seailz.jdaframework.DiscordBot; -import net.dv8tion.jda.api.events.interaction.component.SelectMenuInteractionEvent; +import net.dv8tion.jda.api.events.interaction.component.GenericSelectMenuInteractionEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; import org.jetbrains.annotations.NotNull; public class SelectMenuListener extends ListenerAdapter { @Override - public void onSelectMenuInteraction(@NotNull SelectMenuInteractionEvent event) { + public void onGenericSelectMenuInteraction(@NotNull GenericSelectMenuInteractionEvent event) { if (DiscordBot.getSelectRegistry().containsKey(event.getSelectMenu().getId())) { DiscordBot.getSelectRegistry().get(event.getSelectMenu().getId()).accept(event); } diff --git a/src/main/java/com/seailz/jdaframework/select/SelectMenuManager.java b/src/main/java/com/seailz/jdaframework/select/SelectMenuManager.java index eff40fc..7406f31 100644 --- a/src/main/java/com/seailz/jdaframework/select/SelectMenuManager.java +++ b/src/main/java/com/seailz/jdaframework/select/SelectMenuManager.java @@ -1,7 +1,7 @@ package com.seailz.jdaframework.select; import com.seailz.jdaframework.DiscordBot; -import net.dv8tion.jda.api.events.interaction.component.SelectMenuInteractionEvent; +import net.dv8tion.jda.api.events.interaction.component.GenericSelectMenuInteractionEvent; import java.util.function.Consumer; @@ -12,7 +12,7 @@ public class SelectMenuManager { * @param id The id of the select menu * @param onClick The action to perform when the select menu is interacted with */ - public static void listen(String id, Consumer onClick) { + public static void listen(String id, Consumer onClick) { DiscordBot.getSelectRegistry().put(id, onClick); }