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.
This commit is contained in:
parent
32f0935b4a
commit
57b86d1933
|
|
@ -54,12 +54,11 @@ tasks {
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
// JDA
|
// JDA
|
||||||
implementation("net.dv8tion:JDA:5.0.0-alpha.20") {
|
implementation("net.dv8tion:JDA:5.0.0-beta.19") {
|
||||||
exclude("opus-java") // exclude audio
|
exclude("opus-java") // exclude audio
|
||||||
}
|
}
|
||||||
// MySQL
|
// MySQL
|
||||||
implementation("mysql:mysql-connector-java:8.0.28")
|
implementation("mysql:mysql-connector-java:8.0.33")
|
||||||
// implementation("org.mariadb.jdbc:mariadb-java-client:2.1.2")
|
|
||||||
|
|
||||||
// Configurate
|
// Configurate
|
||||||
implementation("org.spongepowered:configurate-yaml:4.1.2")
|
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:5.2.0")
|
||||||
implementation("org.apache.poi:poi-ooxml:5.2.0")
|
implementation("org.apache.poi:poi-ooxml:5.2.0")
|
||||||
// Other stuff?
|
// Other stuff?
|
||||||
compileOnly("org.projectlombok:lombok:1.18.24")
|
compileOnly("org.projectlombok:lombok:1.18.30")
|
||||||
annotationProcessor("org.projectlombok:lombok:1.18.24")
|
annotationProcessor("org.projectlombok:lombok:1.18.24")
|
||||||
implementation("com.alttd:AltitudeLogs:1.0")
|
implementation("com.alttd:AltitudeLogs:1.0")
|
||||||
}
|
}
|
||||||
|
|
@ -10,7 +10,7 @@ dependencyResolutionManagement {
|
||||||
maven("https://repo.spongepowered.org/maven")
|
maven("https://repo.spongepowered.org/maven")
|
||||||
// MySQL
|
// MySQL
|
||||||
maven("https://jcenter.bintray.com")
|
maven("https://jcenter.bintray.com")
|
||||||
maven("https://dev.alttd.com/releases")
|
maven("https://repo.destro.xyz/snapshots")
|
||||||
}
|
}
|
||||||
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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.DefaultMemberPermissions;
|
||||||
import net.dv8tion.jda.api.interactions.commands.build.CommandData;
|
import net.dv8tion.jda.api.interactions.commands.build.CommandData;
|
||||||
import net.dv8tion.jda.api.interactions.commands.build.Commands;
|
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 net.dv8tion.jda.api.requests.RestAction;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
|
||||||
|
|
@ -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.OptionType;
|
||||||
import net.dv8tion.jda.api.interactions.commands.build.CommandData;
|
import net.dv8tion.jda.api.interactions.commands.build.CommandData;
|
||||||
import net.dv8tion.jda.api.interactions.commands.build.Commands;
|
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.Calendar;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
|
||||||
|
|
@ -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.DefaultMemberPermissions;
|
||||||
import net.dv8tion.jda.api.interactions.commands.build.CommandData;
|
import net.dv8tion.jda.api.interactions.commands.build.CommandData;
|
||||||
import net.dv8tion.jda.api.interactions.commands.build.Commands;
|
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 net.dv8tion.jda.api.requests.RestAction;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
|
||||||
|
|
@ -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.DefaultMemberPermissions;
|
||||||
import net.dv8tion.jda.api.interactions.commands.build.CommandData;
|
import net.dv8tion.jda.api.interactions.commands.build.CommandData;
|
||||||
import net.dv8tion.jda.api.interactions.commands.build.Commands;
|
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 net.dv8tion.jda.api.requests.RestAction;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
|
||||||
|
|
@ -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.events.interaction.command.UserContextInteractionEvent;
|
||||||
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
||||||
import net.dv8tion.jda.api.requests.RestAction;
|
import net.dv8tion.jda.api.requests.RestAction;
|
||||||
|
import org.jetbrains.annotations.NonNls;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
@ -37,7 +38,7 @@ public class ContextMenuManager extends ListenerAdapter {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onUserContextInteraction(@Nonnull UserContextInteractionEvent event) {
|
public void onUserContextInteraction(@NonNls UserContextInteractionEvent event) {
|
||||||
String name = event.getInteraction().getName();
|
String name = event.getInteraction().getName();
|
||||||
Optional<DiscordContextMenu> first = contextMenus.stream()
|
Optional<DiscordContextMenu> first = contextMenus.stream()
|
||||||
.filter(discordModal -> discordModal.getContextMenuId().equalsIgnoreCase(name))
|
.filter(discordModal -> discordModal.getContextMenuId().equalsIgnoreCase(name))
|
||||||
|
|
@ -56,7 +57,7 @@ public class ContextMenuManager extends ListenerAdapter {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMessageContextInteraction(@Nonnull MessageContextInteractionEvent event) {
|
public void onMessageContextInteraction(@NonNls MessageContextInteractionEvent event) {
|
||||||
String name = event.getInteraction().getName();
|
String name = event.getInteraction().getName();
|
||||||
Optional<DiscordContextMenu> first = contextMenus.stream()
|
Optional<DiscordContextMenu> first = contextMenus.stream()
|
||||||
.filter(discordModal -> discordModal.getContextMenuId().equalsIgnoreCase(name))
|
.filter(discordModal -> discordModal.getContextMenuId().equalsIgnoreCase(name))
|
||||||
|
|
|
||||||
|
|
@ -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.DefaultMemberPermissions;
|
||||||
import net.dv8tion.jda.api.interactions.commands.build.CommandData;
|
import net.dv8tion.jda.api.interactions.commands.build.CommandData;
|
||||||
import net.dv8tion.jda.api.interactions.commands.build.Commands;
|
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 net.dv8tion.jda.api.requests.RestAction;
|
||||||
|
|
||||||
public class ContextMenuRespondSuggestion extends DiscordContextMenu {
|
public class ContextMenuRespondSuggestion extends DiscordContextMenu {
|
||||||
|
|
|
||||||
|
|
@ -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.SelectMenu;
|
||||||
import net.dv8tion.jda.api.interactions.components.selections.SelectOption;
|
import net.dv8tion.jda.api.interactions.components.selections.SelectOption;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
|
|
|
||||||
|
|
@ -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.events.message.MessageReceivedEvent;
|
||||||
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
||||||
import net.dv8tion.jda.api.interactions.components.buttons.Button;
|
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.ByteArrayOutputStream;
|
||||||
import java.io.DataOutputStream;
|
import java.io.DataOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
@ -35,7 +35,7 @@ public class AppealRepost extends ListenerAdapter {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
|
public void onMessageReceived(@NonNls MessageReceivedEvent event) {
|
||||||
if (event.getMember() != null) { //Webhooks aren't members
|
if (event.getMember() != null) { //Webhooks aren't members
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,11 @@ import com.alttd.request.RequestManager;
|
||||||
import com.alttd.selectMenuManager.SelectMenuManager;
|
import com.alttd.selectMenuManager.SelectMenuManager;
|
||||||
import com.alttd.util.Logger;
|
import com.alttd.util.Logger;
|
||||||
import net.dv8tion.jda.api.JDA;
|
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.ModalInteractionEvent;
|
||||||
import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent;
|
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 net.dv8tion.jda.api.hooks.ListenerAdapter;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
|
@ -58,10 +59,10 @@ public class JDAListener extends ListenerAdapter {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSelectMenuInteraction(@NotNull SelectMenuInteractionEvent event) {
|
public void onGenericSelectMenuInteraction(@NotNull GenericSelectMenuInteractionEvent event) {
|
||||||
String s = event.getComponentId();
|
String s = event.getComponentId();
|
||||||
if (s.startsWith("request:")) {
|
if (s.startsWith("request:") && event instanceof StringSelectInteractionEvent stringSelectInteractionEvent) {
|
||||||
RequestManager.onSelectMenuInteraction(event);
|
RequestManager.onGenericSelectMenuInteraction(stringSelectInteractionEvent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,9 @@ import com.alttd.database.queries.QueriesLockedChannels;
|
||||||
import com.alttd.util.Logger;
|
import com.alttd.util.Logger;
|
||||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||||
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
||||||
|
import org.jetbrains.annotations.NonNls;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
@ -53,7 +54,7 @@ public class LockedChannel extends ListenerAdapter {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
|
public void onMessageReceived(@NonNls MessageReceivedEvent event) {
|
||||||
if (!event.isFromGuild() || event.getAuthor().isBot() || event.getAuthor().isSystem())
|
if (!event.isFromGuild() || event.getAuthor().isBot() || event.getAuthor().isSystem())
|
||||||
return;
|
return;
|
||||||
long guildId = event.getGuild().getIdLong();
|
long guildId = event.getGuild().getIdLong();
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.alttd.modalManager;
|
package com.alttd.modalManager;
|
||||||
|
|
||||||
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
|
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 {
|
public abstract class DiscordModal {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import com.alttd.util.Util;
|
||||||
import net.dv8tion.jda.api.EmbedBuilder;
|
import net.dv8tion.jda.api.EmbedBuilder;
|
||||||
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
|
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
|
||||||
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
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 net.dv8tion.jda.api.requests.RestAction;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
|
||||||
|
|
@ -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.entities.channel.middleman.GuildMessageChannel;
|
||||||
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
|
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
|
||||||
import net.dv8tion.jda.api.interactions.components.ActionRow;
|
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.TextInput;
|
||||||
import net.dv8tion.jda.api.interactions.components.text.TextInputStyle;
|
import net.dv8tion.jda.api.interactions.components.text.TextInputStyle;
|
||||||
import net.dv8tion.jda.api.interactions.modals.ModalMapping;
|
import net.dv8tion.jda.api.interactions.modals.ModalMapping;
|
||||||
|
|
|
||||||
|
|
@ -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.entities.channel.middleman.GuildMessageChannel;
|
||||||
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
|
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
|
||||||
import net.dv8tion.jda.api.interactions.components.ActionRow;
|
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.TextInput;
|
||||||
import net.dv8tion.jda.api.interactions.components.text.TextInputStyle;
|
import net.dv8tion.jda.api.interactions.components.text.TextInputStyle;
|
||||||
import net.dv8tion.jda.api.interactions.modals.ModalMapping;
|
import net.dv8tion.jda.api.interactions.modals.ModalMapping;
|
||||||
|
|
|
||||||
|
|
@ -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.entities.channel.concrete.TextChannel;
|
||||||
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
|
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
|
||||||
import net.dv8tion.jda.api.interactions.components.ActionRow;
|
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.buttons.Button;
|
||||||
import net.dv8tion.jda.api.interactions.components.text.TextInput;
|
import net.dv8tion.jda.api.interactions.components.text.TextInput;
|
||||||
import net.dv8tion.jda.api.interactions.components.text.TextInputStyle;
|
import net.dv8tion.jda.api.interactions.components.text.TextInputStyle;
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import net.dv8tion.jda.api.entities.Member;
|
||||||
import net.dv8tion.jda.api.entities.Message;
|
import net.dv8tion.jda.api.entities.Message;
|
||||||
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
|
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
|
||||||
import net.dv8tion.jda.api.interactions.components.ActionRow;
|
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.TextInput;
|
||||||
import net.dv8tion.jda.api.interactions.components.text.TextInputStyle;
|
import net.dv8tion.jda.api.interactions.components.text.TextInputStyle;
|
||||||
import net.dv8tion.jda.api.interactions.modals.ModalMapping;
|
import net.dv8tion.jda.api.interactions.modals.ModalMapping;
|
||||||
|
|
|
||||||
|
|
@ -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.entities.channel.middleman.GuildMessageChannel;
|
||||||
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
|
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
|
||||||
import net.dv8tion.jda.api.interactions.components.ActionRow;
|
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.buttons.Button;
|
||||||
import net.dv8tion.jda.api.interactions.components.text.TextInput;
|
import net.dv8tion.jda.api.interactions.components.text.TextInput;
|
||||||
import net.dv8tion.jda.api.interactions.components.text.TextInputStyle;
|
import net.dv8tion.jda.api.interactions.components.text.TextInputStyle;
|
||||||
|
|
|
||||||
|
|
@ -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.TextChannel;
|
||||||
import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
|
import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
|
||||||
import net.dv8tion.jda.api.interactions.components.ActionRow;
|
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.buttons.Button;
|
||||||
import net.dv8tion.jda.api.interactions.components.text.TextInput;
|
import net.dv8tion.jda.api.interactions.components.text.TextInput;
|
||||||
import net.dv8tion.jda.api.interactions.components.text.TextInputStyle;
|
import net.dv8tion.jda.api.interactions.components.text.TextInputStyle;
|
||||||
|
|
|
||||||
|
|
@ -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.entities.channel.concrete.ThreadChannel;
|
||||||
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
|
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.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.SelectMenu;
|
||||||
|
import net.dv8tion.jda.api.interactions.components.selections.StringSelectMenu;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
|
||||||
|
|
@ -20,9 +22,9 @@ public class RequestManager {
|
||||||
sendRequestMessage();
|
sendRequestMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Pair<EmbedBuilder, SelectMenu.Builder> getRequestEmbed() {
|
public static Pair<EmbedBuilder, StringSelectMenu.Builder> getRequestEmbed() {
|
||||||
EmbedBuilder embedBuilder = new EmbedBuilder();
|
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")
|
embedBuilder.setDescription("Select an option below to open a request!\n")
|
||||||
.setTitle("Create a new request.")
|
.setTitle("Create a new request.")
|
||||||
.setColor(new Color(41, 43, 47));
|
.setColor(new Color(41, 43, 47));
|
||||||
|
|
@ -37,7 +39,7 @@ public class RequestManager {
|
||||||
|
|
||||||
public static void sendRequestMessage() {
|
public static void sendRequestMessage() {
|
||||||
TextChannel channel = AltitudeBot.getInstance().getJDA().getGuildById(RequestConfig.REQUEST_GUILD_ID).getTextChannelById(RequestConfig.REQUEST_CHANNEL);
|
TextChannel channel = AltitudeBot.getInstance().getJDA().getGuildById(RequestConfig.REQUEST_GUILD_ID).getTextChannelById(RequestConfig.REQUEST_CHANNEL);
|
||||||
Pair<EmbedBuilder, SelectMenu.Builder> pair = getRequestEmbed();
|
Pair<EmbedBuilder, StringSelectMenu.Builder> pair = getRequestEmbed();
|
||||||
channel.sendMessageEmbeds(pair.getValue0().build()).setActionRow(
|
channel.sendMessageEmbeds(pair.getValue0().build()).setActionRow(
|
||||||
pair.getValue1().build()
|
pair.getValue1().build()
|
||||||
).queue(m -> RequestConfig.setRequestMessage(m.getId()));
|
).queue(m -> RequestConfig.setRequestMessage(m.getId()));
|
||||||
|
|
@ -45,7 +47,7 @@ public class RequestManager {
|
||||||
|
|
||||||
public static void updateRequestMessage() {
|
public static void updateRequestMessage() {
|
||||||
TextChannel channel = AltitudeBot.getInstance().getJDA().getGuildById(RequestConfig.REQUEST_GUILD_ID).getTextChannelById(RequestConfig.REQUEST_CHANNEL);
|
TextChannel channel = AltitudeBot.getInstance().getJDA().getGuildById(RequestConfig.REQUEST_GUILD_ID).getTextChannelById(RequestConfig.REQUEST_CHANNEL);
|
||||||
Pair<EmbedBuilder, SelectMenu.Builder> pair = getRequestEmbed();
|
Pair<EmbedBuilder, StringSelectMenu.Builder> pair = getRequestEmbed();
|
||||||
channel.editMessageEmbedsById(RequestConfig.REQUEST_MESSAGE, pair.getValue0().build())
|
channel.editMessageEmbedsById(RequestConfig.REQUEST_MESSAGE, pair.getValue0().build())
|
||||||
.setActionRow(
|
.setActionRow(
|
||||||
pair.getValue1().build()
|
pair.getValue1().build()
|
||||||
|
|
@ -56,7 +58,7 @@ public class RequestManager {
|
||||||
return RequestConfig.requests.stream().filter(request -> request.getId().equalsIgnoreCase(id)).findFirst().orElse(null);
|
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(":");
|
String[] actions = event.getComponentId().split(":");
|
||||||
if (actions[1].equals("create")) {
|
if (actions[1].equals("create")) {
|
||||||
String[] selection = event.getSelectedOptions().get(0).getValue().split(":");
|
String[] selection = event.getSelectedOptions().get(0).getValue().split(":");
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@ import net.dv8tion.jda.api.entities.Member;
|
||||||
import net.dv8tion.jda.api.entities.MessageEmbed;
|
import net.dv8tion.jda.api.entities.MessageEmbed;
|
||||||
import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
|
import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
|
||||||
import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel;
|
import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.alttd.selectMenuManager;
|
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.SelectMenu;
|
||||||
import net.dv8tion.jda.api.interactions.components.selections.SelectOption;
|
import net.dv8tion.jda.api.interactions.components.selections.SelectOption;
|
||||||
|
|
||||||
|
|
@ -10,7 +11,7 @@ public abstract class DiscordSelectMenu {
|
||||||
|
|
||||||
public abstract String getSelectMenuId();
|
public abstract String getSelectMenuId();
|
||||||
|
|
||||||
public abstract void execute(SelectMenuInteractionEvent event);
|
public abstract void execute(StringSelectInteractionEvent event);
|
||||||
|
|
||||||
public abstract SelectMenu getSelectMenu(List<SelectOption> selectOptions);
|
public abstract SelectMenu getSelectMenu(List<SelectOption> selectOptions);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,12 @@
|
||||||
package com.alttd.selectMenuManager;
|
package com.alttd.selectMenuManager;
|
||||||
|
|
||||||
import com.alttd.selectMenuManager.selectMenus.SelectMenuAuction;
|
import com.alttd.selectMenuManager.selectMenus.SelectMenuAuction;
|
||||||
import com.alttd.util.Util;
|
import net.dv8tion.jda.api.events.interaction.component.GenericSelectMenuInteractionEvent;
|
||||||
import net.dv8tion.jda.api.EmbedBuilder;
|
import net.dv8tion.jda.api.events.interaction.component.StringSelectInteractionEvent;
|
||||||
import net.dv8tion.jda.api.events.interaction.component.SelectMenuInteractionEvent;
|
|
||||||
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
||||||
import net.dv8tion.jda.api.requests.RestAction;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.awt.*;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
|
@ -22,7 +19,7 @@ public class SelectMenuManager extends ListenerAdapter {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSelectMenuInteraction(@NotNull SelectMenuInteractionEvent event) {
|
public void onGenericSelectMenuInteraction(@NotNull GenericSelectMenuInteractionEvent event) {
|
||||||
String selectMenuId = event.getSelectMenu().getId();
|
String selectMenuId = event.getSelectMenu().getId();
|
||||||
Optional<DiscordSelectMenu> first = buttons.stream()
|
Optional<DiscordSelectMenu> first = buttons.stream()
|
||||||
.filter(discordModal -> discordModal.getSelectMenuId().equalsIgnoreCase(selectMenuId))
|
.filter(discordModal -> discordModal.getSelectMenuId().equalsIgnoreCase(selectMenuId))
|
||||||
|
|
@ -37,16 +34,15 @@ public class SelectMenuManager extends ListenerAdapter {
|
||||||
// .queue(RestAction.getDefaultSuccess(), Util::handleFailure);
|
// .queue(RestAction.getDefaultSuccess(), Util::handleFailure);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
first.get().execute(event);
|
if (event instanceof StringSelectInteractionEvent stringSelectInteractionEvent)
|
||||||
|
first.get().execute(stringSelectInteractionEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
public @Nullable DiscordSelectMenu getDiscordSelectMenuFor(String buttonId) {
|
public @Nullable DiscordSelectMenu getDiscordSelectMenuFor(String buttonId) {
|
||||||
Optional<DiscordSelectMenu> first = buttons.stream()
|
Optional<DiscordSelectMenu> first = buttons.stream()
|
||||||
.filter(discordSelectMenu -> discordSelectMenu.getSelectMenuId().equalsIgnoreCase(buttonId))
|
.filter(discordSelectMenu -> discordSelectMenu.getSelectMenuId().equalsIgnoreCase(buttonId))
|
||||||
.findFirst();
|
.findFirst();
|
||||||
if (first.isEmpty())
|
return first.orElse(null);
|
||||||
return null;
|
|
||||||
return first.get();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,9 +10,10 @@ import com.alttd.util.Util;
|
||||||
import net.dv8tion.jda.api.EmbedBuilder;
|
import net.dv8tion.jda.api.EmbedBuilder;
|
||||||
import net.dv8tion.jda.api.entities.Member;
|
import net.dv8tion.jda.api.entities.Member;
|
||||||
import net.dv8tion.jda.api.entities.MessageEmbed;
|
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.SelectMenu;
|
||||||
import net.dv8tion.jda.api.interactions.components.selections.SelectOption;
|
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 net.dv8tion.jda.api.requests.restaction.interactions.ReplyCallbackAction;
|
||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
|
|
@ -34,7 +35,7 @@ public class SelectMenuAuction extends DiscordSelectMenu {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute(SelectMenuInteractionEvent event) {
|
public void execute(StringSelectInteractionEvent event) {
|
||||||
Member member = event.getMember();
|
Member member = event.getMember();
|
||||||
if (member == null) {
|
if (member == null) {
|
||||||
event.replyEmbeds(Util.genericErrorEmbed("Error", "This can only be used in a guild"))
|
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());
|
error -> replyCallbackAction.setEmbeds(Util.genericErrorEmbed("Error", "Unable to finish your bid")).queue());
|
||||||
}
|
}
|
||||||
|
|
||||||
private MessageEmbed getMessageEmbed(List<MessageEmbed> embeds, SelectMenuInteractionEvent event) {
|
private MessageEmbed getMessageEmbed(List<MessageEmbed> embeds, StringSelectInteractionEvent event) {
|
||||||
if (embeds.isEmpty()) {
|
if (embeds.isEmpty()) {
|
||||||
event.replyEmbeds(Util.genericErrorEmbed("Error", "Input came from message with no embeds"))
|
event.replyEmbeds(Util.genericErrorEmbed("Error", "Input came from message with no embeds"))
|
||||||
.setEphemeral(true).queue();
|
.setEphemeral(true).queue();
|
||||||
|
|
@ -147,7 +148,7 @@ public class SelectMenuAuction extends DiscordSelectMenu {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SelectMenu getSelectMenu(List<SelectOption> selectOptions) {
|
public SelectMenu getSelectMenu(List<SelectOption> selectOptions) {
|
||||||
SelectMenu.Builder builder = SelectMenu.create(getSelectMenuId());
|
StringSelectMenu.Builder builder = StringSelectMenu.create(getSelectMenuId());
|
||||||
if (selectOptions != null)
|
if (selectOptions != null)
|
||||||
builder.addOptions(selectOptions);
|
builder.addOptions(selectOptions);
|
||||||
return builder.build();
|
return builder.build();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user