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();