From 57b86d19333c5b0c98bc96abe4c66d004eb1ef87 Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Sat, 13 Jan 2024 08:27:42 +0100 Subject: [PATCH] Update JDA interactions and adjust package imports This commit updates the handling of JDA interactions to use the latest available methods and classes. Classes such as Modal and SelectMenu have been refactored and updated with new package locations. This change also includes adjustments for event handling where methods dealing with SelectMenuInteractionEvent are updated to GenericSelectMenuInteractionEvent and StringSelectInteractionEvent. Finally, minor changes were made to replace the use of some javax annotations with their JetBrains equivalents. --- build.gradle.kts | 7 +++---- settings.gradle.kts | 2 +- .../commandManager/commands/CommandEvidence.java | 2 +- .../commandManager/commands/CommandRemindMe.java | 2 +- .../commands/CommandSuggestCrateItem.java | 2 +- .../commands/CommandSuggestion.java | 2 +- .../contextMenuManager/ContextMenuManager.java | 7 ++++--- .../ContextMenuRespondSuggestion.java | 2 +- .../queries/QueriesAuctions/Auction.java | 3 ++- .../java/com/alttd/listeners/AppealRepost.java | 6 +++--- .../java/com/alttd/listeners/JDAListener.java | 11 ++++++----- .../java/com/alttd/listeners/LockedChannel.java | 5 +++-- .../com/alttd/modalManager/DiscordModal.java | 2 +- .../com/alttd/modalManager/ModalManager.java | 2 +- .../modalManager/modals/ModalCrateItem.java | 2 +- .../alttd/modalManager/modals/ModalEvidence.java | 2 +- .../alttd/modalManager/modals/ModalRemindMe.java | 2 +- .../modals/ModalReplySuggestion.java | 2 +- .../modalManager/modals/ModalSuggestion.java | 2 +- src/main/java/com/alttd/request/Request.java | 2 +- .../java/com/alttd/request/RequestManager.java | 14 ++++++++------ .../com/alttd/schedulers/AuctionScheduler.java | 2 +- .../selectMenuManager/DiscordSelectMenu.java | 5 +++-- .../selectMenuManager/SelectMenuManager.java | 16 ++++++---------- .../selectMenus/SelectMenuAuction.java | 9 +++++---- 25 files changed, 58 insertions(+), 55 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index d47a37a..b29b431 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -54,12 +54,11 @@ tasks { dependencies { // JDA - implementation("net.dv8tion:JDA:5.0.0-alpha.20") { + implementation("net.dv8tion:JDA:5.0.0-beta.19") { exclude("opus-java") // exclude audio } // MySQL - implementation("mysql:mysql-connector-java:8.0.28") -// implementation("org.mariadb.jdbc:mariadb-java-client:2.1.2") + implementation("mysql:mysql-connector-java:8.0.33") // Configurate implementation("org.spongepowered:configurate-yaml:4.1.2") @@ -68,7 +67,7 @@ dependencies { implementation("org.apache.poi:poi:5.2.0") implementation("org.apache.poi:poi-ooxml:5.2.0") // Other stuff? - compileOnly("org.projectlombok:lombok:1.18.24") + compileOnly("org.projectlombok:lombok:1.18.30") annotationProcessor("org.projectlombok:lombok:1.18.24") implementation("com.alttd:AltitudeLogs:1.0") } \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index 9570726..4207c39 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -10,7 +10,7 @@ dependencyResolutionManagement { maven("https://repo.spongepowered.org/maven") // MySQL maven("https://jcenter.bintray.com") - maven("https://dev.alttd.com/releases") + maven("https://repo.destro.xyz/snapshots") } repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) } diff --git a/src/main/java/com/alttd/commandManager/commands/CommandEvidence.java b/src/main/java/com/alttd/commandManager/commands/CommandEvidence.java index 7dfc7bd..8b6007b 100644 --- a/src/main/java/com/alttd/commandManager/commands/CommandEvidence.java +++ b/src/main/java/com/alttd/commandManager/commands/CommandEvidence.java @@ -11,7 +11,7 @@ import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEve import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions; import net.dv8tion.jda.api.interactions.commands.build.CommandData; import net.dv8tion.jda.api.interactions.commands.build.Commands; -import net.dv8tion.jda.api.interactions.components.Modal; +import net.dv8tion.jda.api.interactions.modals.Modal; import net.dv8tion.jda.api.requests.RestAction; import java.util.Collections; diff --git a/src/main/java/com/alttd/commandManager/commands/CommandRemindMe.java b/src/main/java/com/alttd/commandManager/commands/CommandRemindMe.java index 1b5da6e..b3e9027 100644 --- a/src/main/java/com/alttd/commandManager/commands/CommandRemindMe.java +++ b/src/main/java/com/alttd/commandManager/commands/CommandRemindMe.java @@ -16,7 +16,7 @@ import net.dv8tion.jda.api.interactions.commands.OptionMapping; import net.dv8tion.jda.api.interactions.commands.OptionType; import net.dv8tion.jda.api.interactions.commands.build.CommandData; import net.dv8tion.jda.api.interactions.commands.build.Commands; -import net.dv8tion.jda.api.interactions.components.Modal; +import net.dv8tion.jda.api.interactions.modals.Modal; import java.util.Calendar; import java.util.Collections; diff --git a/src/main/java/com/alttd/commandManager/commands/CommandSuggestCrateItem.java b/src/main/java/com/alttd/commandManager/commands/CommandSuggestCrateItem.java index e790451..5ac3677 100644 --- a/src/main/java/com/alttd/commandManager/commands/CommandSuggestCrateItem.java +++ b/src/main/java/com/alttd/commandManager/commands/CommandSuggestCrateItem.java @@ -10,7 +10,7 @@ import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEve import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions; import net.dv8tion.jda.api.interactions.commands.build.CommandData; import net.dv8tion.jda.api.interactions.commands.build.Commands; -import net.dv8tion.jda.api.interactions.components.Modal; +import net.dv8tion.jda.api.interactions.modals.Modal; import net.dv8tion.jda.api.requests.RestAction; import java.util.Collections; diff --git a/src/main/java/com/alttd/commandManager/commands/CommandSuggestion.java b/src/main/java/com/alttd/commandManager/commands/CommandSuggestion.java index 0b68407..971a94e 100644 --- a/src/main/java/com/alttd/commandManager/commands/CommandSuggestion.java +++ b/src/main/java/com/alttd/commandManager/commands/CommandSuggestion.java @@ -11,7 +11,7 @@ import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEve import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions; import net.dv8tion.jda.api.interactions.commands.build.CommandData; import net.dv8tion.jda.api.interactions.commands.build.Commands; -import net.dv8tion.jda.api.interactions.components.Modal; +import net.dv8tion.jda.api.interactions.modals.Modal; import net.dv8tion.jda.api.requests.RestAction; import java.util.Collections; diff --git a/src/main/java/com/alttd/contextMenuManager/ContextMenuManager.java b/src/main/java/com/alttd/contextMenuManager/ContextMenuManager.java index 94e2ab6..fa8c5e2 100644 --- a/src/main/java/com/alttd/contextMenuManager/ContextMenuManager.java +++ b/src/main/java/com/alttd/contextMenuManager/ContextMenuManager.java @@ -8,8 +8,9 @@ import net.dv8tion.jda.api.events.interaction.command.MessageContextInteractionE import net.dv8tion.jda.api.events.interaction.command.UserContextInteractionEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; import net.dv8tion.jda.api.requests.RestAction; +import org.jetbrains.annotations.NonNls; + -import javax.annotation.Nonnull; import java.awt.*; import java.util.List; import java.util.Optional; @@ -37,7 +38,7 @@ public class ContextMenuManager extends ListenerAdapter { } @Override - public void onUserContextInteraction(@Nonnull UserContextInteractionEvent event) { + public void onUserContextInteraction(@NonNls UserContextInteractionEvent event) { String name = event.getInteraction().getName(); Optional first = contextMenus.stream() .filter(discordModal -> discordModal.getContextMenuId().equalsIgnoreCase(name)) @@ -56,7 +57,7 @@ public class ContextMenuManager extends ListenerAdapter { } @Override - public void onMessageContextInteraction(@Nonnull MessageContextInteractionEvent event) { + public void onMessageContextInteraction(@NonNls MessageContextInteractionEvent event) { String name = event.getInteraction().getName(); Optional first = contextMenus.stream() .filter(discordModal -> discordModal.getContextMenuId().equalsIgnoreCase(name)) diff --git a/src/main/java/com/alttd/contextMenuManager/contextMenus/ContextMenuRespondSuggestion.java b/src/main/java/com/alttd/contextMenuManager/contextMenus/ContextMenuRespondSuggestion.java index 7e63c3e..24cfe7d 100644 --- a/src/main/java/com/alttd/contextMenuManager/contextMenus/ContextMenuRespondSuggestion.java +++ b/src/main/java/com/alttd/contextMenuManager/contextMenus/ContextMenuRespondSuggestion.java @@ -18,7 +18,7 @@ import net.dv8tion.jda.api.events.interaction.command.UserContextInteractionEven import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions; import net.dv8tion.jda.api.interactions.commands.build.CommandData; import net.dv8tion.jda.api.interactions.commands.build.Commands; -import net.dv8tion.jda.api.interactions.components.Modal; +import net.dv8tion.jda.api.interactions.modals.Modal; import net.dv8tion.jda.api.requests.RestAction; public class ContextMenuRespondSuggestion extends DiscordContextMenu { diff --git a/src/main/java/com/alttd/database/queries/QueriesAuctions/Auction.java b/src/main/java/com/alttd/database/queries/QueriesAuctions/Auction.java index 5606ce2..3d47e6b 100644 --- a/src/main/java/com/alttd/database/queries/QueriesAuctions/Auction.java +++ b/src/main/java/com/alttd/database/queries/QueriesAuctions/Auction.java @@ -12,8 +12,9 @@ import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.interactions.components.selections.SelectMenu; import net.dv8tion.jda.api.interactions.components.selections.SelectOption; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + -import javax.annotation.Nullable; import java.time.Instant; import java.util.ArrayList; import java.util.LinkedList; diff --git a/src/main/java/com/alttd/listeners/AppealRepost.java b/src/main/java/com/alttd/listeners/AppealRepost.java index e9d5ef6..85f5691 100644 --- a/src/main/java/com/alttd/listeners/AppealRepost.java +++ b/src/main/java/com/alttd/listeners/AppealRepost.java @@ -16,9 +16,9 @@ import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; import net.dv8tion.jda.api.interactions.components.buttons.Button; +import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.Nullable; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOException; @@ -35,7 +35,7 @@ public class AppealRepost extends ListenerAdapter { } @Override - public void onMessageReceived(@Nonnull MessageReceivedEvent event) { + public void onMessageReceived(@NonNls MessageReceivedEvent event) { if (event.getMember() != null) { //Webhooks aren't members return; } diff --git a/src/main/java/com/alttd/listeners/JDAListener.java b/src/main/java/com/alttd/listeners/JDAListener.java index b5ff89c..c9c324a 100644 --- a/src/main/java/com/alttd/listeners/JDAListener.java +++ b/src/main/java/com/alttd/listeners/JDAListener.java @@ -12,10 +12,11 @@ import com.alttd.request.RequestManager; import com.alttd.selectMenuManager.SelectMenuManager; import com.alttd.util.Logger; import net.dv8tion.jda.api.JDA; -import net.dv8tion.jda.api.events.ReadyEvent; +import net.dv8tion.jda.api.events.interaction.component.StringSelectInteractionEvent; +import net.dv8tion.jda.api.events.session.ReadyEvent; import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent; 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.hooks.ListenerAdapter; import org.jetbrains.annotations.NotNull; @@ -58,10 +59,10 @@ public class JDAListener extends ListenerAdapter { } @Override - public void onSelectMenuInteraction(@NotNull SelectMenuInteractionEvent event) { + public void onGenericSelectMenuInteraction(@NotNull GenericSelectMenuInteractionEvent event) { String s = event.getComponentId(); - if (s.startsWith("request:")) { - RequestManager.onSelectMenuInteraction(event); + if (s.startsWith("request:") && event instanceof StringSelectInteractionEvent stringSelectInteractionEvent) { + RequestManager.onGenericSelectMenuInteraction(stringSelectInteractionEvent); } } diff --git a/src/main/java/com/alttd/listeners/LockedChannel.java b/src/main/java/com/alttd/listeners/LockedChannel.java index db58e30..2700e0d 100644 --- a/src/main/java/com/alttd/listeners/LockedChannel.java +++ b/src/main/java/com/alttd/listeners/LockedChannel.java @@ -4,8 +4,9 @@ import com.alttd.database.queries.QueriesLockedChannels; import com.alttd.util.Logger; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; +import org.jetbrains.annotations.NonNls; + -import javax.annotation.Nonnull; import java.util.HashMap; import java.util.HashSet; import java.util.Objects; @@ -53,7 +54,7 @@ public class LockedChannel extends ListenerAdapter { } @Override - public void onMessageReceived(@Nonnull MessageReceivedEvent event) { + public void onMessageReceived(@NonNls MessageReceivedEvent event) { if (!event.isFromGuild() || event.getAuthor().isBot() || event.getAuthor().isSystem()) return; long guildId = event.getGuild().getIdLong(); diff --git a/src/main/java/com/alttd/modalManager/DiscordModal.java b/src/main/java/com/alttd/modalManager/DiscordModal.java index e8c87ff..9073f58 100644 --- a/src/main/java/com/alttd/modalManager/DiscordModal.java +++ b/src/main/java/com/alttd/modalManager/DiscordModal.java @@ -1,7 +1,7 @@ package com.alttd.modalManager; import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent; -import net.dv8tion.jda.api.interactions.components.Modal; +import net.dv8tion.jda.api.interactions.modals.Modal; public abstract class DiscordModal { diff --git a/src/main/java/com/alttd/modalManager/ModalManager.java b/src/main/java/com/alttd/modalManager/ModalManager.java index 54d1eb6..38ca225 100644 --- a/src/main/java/com/alttd/modalManager/ModalManager.java +++ b/src/main/java/com/alttd/modalManager/ModalManager.java @@ -6,7 +6,7 @@ import com.alttd.util.Util; import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; -import net.dv8tion.jda.api.interactions.components.Modal; +import net.dv8tion.jda.api.interactions.modals.Modal; import net.dv8tion.jda.api.requests.RestAction; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/com/alttd/modalManager/modals/ModalCrateItem.java b/src/main/java/com/alttd/modalManager/modals/ModalCrateItem.java index b3ef8b6..c39ed47 100644 --- a/src/main/java/com/alttd/modalManager/modals/ModalCrateItem.java +++ b/src/main/java/com/alttd/modalManager/modals/ModalCrateItem.java @@ -12,7 +12,7 @@ import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel; import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel; import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent; import net.dv8tion.jda.api.interactions.components.ActionRow; -import net.dv8tion.jda.api.interactions.components.Modal; +import net.dv8tion.jda.api.interactions.modals.Modal; import net.dv8tion.jda.api.interactions.components.text.TextInput; import net.dv8tion.jda.api.interactions.components.text.TextInputStyle; import net.dv8tion.jda.api.interactions.modals.ModalMapping; diff --git a/src/main/java/com/alttd/modalManager/modals/ModalEvidence.java b/src/main/java/com/alttd/modalManager/modals/ModalEvidence.java index fb7a06a..327db45 100644 --- a/src/main/java/com/alttd/modalManager/modals/ModalEvidence.java +++ b/src/main/java/com/alttd/modalManager/modals/ModalEvidence.java @@ -12,7 +12,7 @@ import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel; import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel; import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent; import net.dv8tion.jda.api.interactions.components.ActionRow; -import net.dv8tion.jda.api.interactions.components.Modal; +import net.dv8tion.jda.api.interactions.modals.Modal; import net.dv8tion.jda.api.interactions.components.text.TextInput; import net.dv8tion.jda.api.interactions.components.text.TextInputStyle; import net.dv8tion.jda.api.interactions.modals.ModalMapping; diff --git a/src/main/java/com/alttd/modalManager/modals/ModalRemindMe.java b/src/main/java/com/alttd/modalManager/modals/ModalRemindMe.java index 9f8ea95..a1c8e44 100644 --- a/src/main/java/com/alttd/modalManager/modals/ModalRemindMe.java +++ b/src/main/java/com/alttd/modalManager/modals/ModalRemindMe.java @@ -11,7 +11,7 @@ import net.dv8tion.jda.api.entities.MessageEmbed; import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent; import net.dv8tion.jda.api.interactions.components.ActionRow; -import net.dv8tion.jda.api.interactions.components.Modal; +import net.dv8tion.jda.api.interactions.modals.Modal; import net.dv8tion.jda.api.interactions.components.buttons.Button; import net.dv8tion.jda.api.interactions.components.text.TextInput; import net.dv8tion.jda.api.interactions.components.text.TextInputStyle; diff --git a/src/main/java/com/alttd/modalManager/modals/ModalReplySuggestion.java b/src/main/java/com/alttd/modalManager/modals/ModalReplySuggestion.java index 421a5aa..51a8f17 100644 --- a/src/main/java/com/alttd/modalManager/modals/ModalReplySuggestion.java +++ b/src/main/java/com/alttd/modalManager/modals/ModalReplySuggestion.java @@ -6,7 +6,7 @@ import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent; import net.dv8tion.jda.api.interactions.components.ActionRow; -import net.dv8tion.jda.api.interactions.components.Modal; +import net.dv8tion.jda.api.interactions.modals.Modal; import net.dv8tion.jda.api.interactions.components.text.TextInput; import net.dv8tion.jda.api.interactions.components.text.TextInputStyle; import net.dv8tion.jda.api.interactions.modals.ModalMapping; diff --git a/src/main/java/com/alttd/modalManager/modals/ModalSuggestion.java b/src/main/java/com/alttd/modalManager/modals/ModalSuggestion.java index 9928fe2..7e5978a 100644 --- a/src/main/java/com/alttd/modalManager/modals/ModalSuggestion.java +++ b/src/main/java/com/alttd/modalManager/modals/ModalSuggestion.java @@ -14,7 +14,7 @@ import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel; import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel; import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent; import net.dv8tion.jda.api.interactions.components.ActionRow; -import net.dv8tion.jda.api.interactions.components.Modal; +import net.dv8tion.jda.api.interactions.modals.Modal; import net.dv8tion.jda.api.interactions.components.buttons.Button; import net.dv8tion.jda.api.interactions.components.text.TextInput; import net.dv8tion.jda.api.interactions.components.text.TextInputStyle; diff --git a/src/main/java/com/alttd/request/Request.java b/src/main/java/com/alttd/request/Request.java index f22c2df..dc74845 100644 --- a/src/main/java/com/alttd/request/Request.java +++ b/src/main/java/com/alttd/request/Request.java @@ -9,7 +9,7 @@ import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel; import net.dv8tion.jda.api.interactions.components.ActionRow; -import net.dv8tion.jda.api.interactions.components.Modal; +import net.dv8tion.jda.api.interactions.modals.Modal; import net.dv8tion.jda.api.interactions.components.buttons.Button; import net.dv8tion.jda.api.interactions.components.text.TextInput; import net.dv8tion.jda.api.interactions.components.text.TextInputStyle; diff --git a/src/main/java/com/alttd/request/RequestManager.java b/src/main/java/com/alttd/request/RequestManager.java index d2c0651..e67bd04 100644 --- a/src/main/java/com/alttd/request/RequestManager.java +++ b/src/main/java/com/alttd/request/RequestManager.java @@ -7,8 +7,10 @@ import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel; import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent; 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.interactions.components.selections.SelectMenu; +import net.dv8tion.jda.api.interactions.components.selections.StringSelectMenu; import java.awt.*; @@ -20,9 +22,9 @@ public class RequestManager { sendRequestMessage(); } - public static Pair getRequestEmbed() { + public static Pair getRequestEmbed() { EmbedBuilder embedBuilder = new EmbedBuilder(); - SelectMenu.Builder selectMenuBuilder = SelectMenu.create("request:create"); + StringSelectMenu.Builder selectMenuBuilder = StringSelectMenu.create("request:create"); embedBuilder.setDescription("Select an option below to open a request!\n") .setTitle("Create a new request.") .setColor(new Color(41, 43, 47)); @@ -37,7 +39,7 @@ public class RequestManager { public static void sendRequestMessage() { TextChannel channel = AltitudeBot.getInstance().getJDA().getGuildById(RequestConfig.REQUEST_GUILD_ID).getTextChannelById(RequestConfig.REQUEST_CHANNEL); - Pair pair = getRequestEmbed(); + Pair pair = getRequestEmbed(); channel.sendMessageEmbeds(pair.getValue0().build()).setActionRow( pair.getValue1().build() ).queue(m -> RequestConfig.setRequestMessage(m.getId())); @@ -45,7 +47,7 @@ public class RequestManager { public static void updateRequestMessage() { TextChannel channel = AltitudeBot.getInstance().getJDA().getGuildById(RequestConfig.REQUEST_GUILD_ID).getTextChannelById(RequestConfig.REQUEST_CHANNEL); - Pair pair = getRequestEmbed(); + Pair pair = getRequestEmbed(); channel.editMessageEmbedsById(RequestConfig.REQUEST_MESSAGE, pair.getValue0().build()) .setActionRow( pair.getValue1().build() @@ -56,7 +58,7 @@ public class RequestManager { return RequestConfig.requests.stream().filter(request -> request.getId().equalsIgnoreCase(id)).findFirst().orElse(null); } - public static void onSelectMenuInteraction(SelectMenuInteractionEvent event) { + public static void onGenericSelectMenuInteraction(StringSelectInteractionEvent event) { String[] actions = event.getComponentId().split(":"); if (actions[1].equals("create")) { String[] selection = event.getSelectedOptions().get(0).getValue().split(":"); diff --git a/src/main/java/com/alttd/schedulers/AuctionScheduler.java b/src/main/java/com/alttd/schedulers/AuctionScheduler.java index 3d1fe3a..dfbae14 100644 --- a/src/main/java/com/alttd/schedulers/AuctionScheduler.java +++ b/src/main/java/com/alttd/schedulers/AuctionScheduler.java @@ -11,8 +11,8 @@ import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.MessageEmbed; import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel; import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel; +import org.jetbrains.annotations.Nullable; -import javax.annotation.Nullable; import java.awt.*; import java.time.Instant; import java.util.*; diff --git a/src/main/java/com/alttd/selectMenuManager/DiscordSelectMenu.java b/src/main/java/com/alttd/selectMenuManager/DiscordSelectMenu.java index 9d3b5e8..a3c12f6 100644 --- a/src/main/java/com/alttd/selectMenuManager/DiscordSelectMenu.java +++ b/src/main/java/com/alttd/selectMenuManager/DiscordSelectMenu.java @@ -1,6 +1,7 @@ package com.alttd.selectMenuManager; -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.interactions.components.selections.SelectMenu; import net.dv8tion.jda.api.interactions.components.selections.SelectOption; @@ -10,7 +11,7 @@ public abstract class DiscordSelectMenu { public abstract String getSelectMenuId(); - public abstract void execute(SelectMenuInteractionEvent event); + public abstract void execute(StringSelectInteractionEvent event); public abstract SelectMenu getSelectMenu(List selectOptions); } diff --git a/src/main/java/com/alttd/selectMenuManager/SelectMenuManager.java b/src/main/java/com/alttd/selectMenuManager/SelectMenuManager.java index 1d1a48e..83137a7 100644 --- a/src/main/java/com/alttd/selectMenuManager/SelectMenuManager.java +++ b/src/main/java/com/alttd/selectMenuManager/SelectMenuManager.java @@ -1,15 +1,12 @@ package com.alttd.selectMenuManager; import com.alttd.selectMenuManager.selectMenus.SelectMenuAuction; -import com.alttd.util.Util; -import net.dv8tion.jda.api.EmbedBuilder; -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.ListenerAdapter; -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; @@ -22,7 +19,7 @@ public class SelectMenuManager extends ListenerAdapter { } @Override - public void onSelectMenuInteraction(@NotNull SelectMenuInteractionEvent event) { + public void onGenericSelectMenuInteraction(@NotNull GenericSelectMenuInteractionEvent event) { String selectMenuId = event.getSelectMenu().getId(); Optional first = buttons.stream() .filter(discordModal -> discordModal.getSelectMenuId().equalsIgnoreCase(selectMenuId)) @@ -37,16 +34,15 @@ public class SelectMenuManager extends ListenerAdapter { // .queue(RestAction.getDefaultSuccess(), Util::handleFailure); return; } - first.get().execute(event); + if (event instanceof StringSelectInteractionEvent stringSelectInteractionEvent) + first.get().execute(stringSelectInteractionEvent); } public @Nullable DiscordSelectMenu getDiscordSelectMenuFor(String buttonId) { Optional first = buttons.stream() .filter(discordSelectMenu -> discordSelectMenu.getSelectMenuId().equalsIgnoreCase(buttonId)) .findFirst(); - if (first.isEmpty()) - return null; - return first.get(); + return first.orElse(null); } } diff --git a/src/main/java/com/alttd/selectMenuManager/selectMenus/SelectMenuAuction.java b/src/main/java/com/alttd/selectMenuManager/selectMenus/SelectMenuAuction.java index 1c9f0ed..e040828 100644 --- a/src/main/java/com/alttd/selectMenuManager/selectMenus/SelectMenuAuction.java +++ b/src/main/java/com/alttd/selectMenuManager/selectMenus/SelectMenuAuction.java @@ -10,9 +10,10 @@ import com.alttd.util.Util; import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.MessageEmbed; -import net.dv8tion.jda.api.events.interaction.component.SelectMenuInteractionEvent; +import net.dv8tion.jda.api.events.interaction.component.StringSelectInteractionEvent; import net.dv8tion.jda.api.interactions.components.selections.SelectMenu; import net.dv8tion.jda.api.interactions.components.selections.SelectOption; +import net.dv8tion.jda.api.interactions.components.selections.StringSelectMenu; import net.dv8tion.jda.api.requests.restaction.interactions.ReplyCallbackAction; import java.time.Instant; @@ -34,7 +35,7 @@ public class SelectMenuAuction extends DiscordSelectMenu { } @Override - public void execute(SelectMenuInteractionEvent event) { + public void execute(StringSelectInteractionEvent event) { Member member = event.getMember(); if (member == null) { event.replyEmbeds(Util.genericErrorEmbed("Error", "This can only be used in a guild")) @@ -136,7 +137,7 @@ public class SelectMenuAuction extends DiscordSelectMenu { error -> replyCallbackAction.setEmbeds(Util.genericErrorEmbed("Error", "Unable to finish your bid")).queue()); } - private MessageEmbed getMessageEmbed(List embeds, SelectMenuInteractionEvent event) { + private MessageEmbed getMessageEmbed(List embeds, StringSelectInteractionEvent event) { if (embeds.isEmpty()) { event.replyEmbeds(Util.genericErrorEmbed("Error", "Input came from message with no embeds")) .setEphemeral(true).queue(); @@ -147,7 +148,7 @@ public class SelectMenuAuction extends DiscordSelectMenu { @Override public SelectMenu getSelectMenu(List selectOptions) { - SelectMenu.Builder builder = SelectMenu.create(getSelectMenuId()); + StringSelectMenu.Builder builder = StringSelectMenu.create(getSelectMenuId()); if (selectOptions != null) builder.addOptions(selectOptions); return builder.build();