Fixed select menu bug

This commit is contained in:
2023-06-04 16:43:55 +07:00
parent 9f7f5c7376
commit ac1fd46ae3
6 changed files with 16 additions and 16 deletions
+1 -1
View File
@@ -119,7 +119,7 @@ export async function joinVoiceChannelProcedure(
voiceChannel: VoiceChannel | StageChannel
) {
const isSlashCommand = data.isApplicationCommand();
const isAcceptableInteraction = data.isSelectMenu() || data.isButton();
const isAcceptableInteraction = data.isStringSelectMenu() || data.isButton();
const isMessage = data.isMessage();
if (!isSlashCommand && !isAcceptableInteraction && !isMessage) return;
+2 -2
View File
@@ -187,8 +187,8 @@ export default class Play extends DiscordModule {
instance.addTrackToQueue(song);
}
if (hybridData.getSelectMenu().message instanceof Message)
await (hybridData.getSelectMenu().message as Message).edit({ components: [] });
if (hybridData.getStringSelectMenu().message instanceof Message)
await (hybridData.getStringSelectMenu().message as Message).edit({ components: [] });
return await sendHybridInteractionMessageResponse(
hybridData,
+3 -3
View File
@@ -3,7 +3,7 @@ import {
CommandInteraction,
ActionRowBuilder,
ButtonInteraction,
SelectMenuBuilder,
StringSelectMenuBuilder,
SelectMenuComponentOptionData
} from 'discord.js';
import { I18n } from 'i18n';
@@ -137,7 +137,7 @@ export default class Search extends DiscordModule {
const menuOptions: SelectMenuComponentOptionData[] = [];
const messageSelectMenu = new SelectMenuBuilder();
const messageSelectMenu = new StringSelectMenuBuilder();
/*
Discord have 100 char custom id char limit
So we need to shorten our json.
@@ -168,7 +168,7 @@ export default class Search extends DiscordModule {
messageSelectMenu.addOptions(menuOptions);
const row = new ActionRowBuilder<SelectMenuBuilder>();
const row = new ActionRowBuilder<StringSelectMenuBuilder>();
row.addComponents([messageSelectMenu]);
return await sendHybridInteractionMessageResponse(data, {
+1 -1
View File
@@ -178,7 +178,7 @@ class Discord {
`Triggering 'GuildButtonInteractionCreate' event for module ${thisModule.constructor.name}`
);
thisModule.GuildButtonInteractionCreate(interaction);
} else if (interaction.isSelectMenu()) {
} else if (interaction.isStringSelectMenu()) {
Logger.verbose(
LOGGING_TAG,
`Triggering 'GuildSelectMenuInteractionCreate' event for module ${thisModule.constructor.name}`
+1 -1
View File
@@ -176,7 +176,7 @@ export async function sendHybridInteractionMessageResponse(
): Promise<Message | BaseInteraction | undefined> {
Logger.verbose(LOGGING_TAG, `Sending hybrid interaction message response, ${JSON.stringify(payload)})}`);
if (data.isApplicationCommand() || data.isButton() || data.isSelectMenu()) {
if (data.isApplicationCommand() || data.isButton() || data.isStringSelectMenu()) {
const messageComponent = data.getMessageComponentInteraction();
if (!messageComponent.replied) {
+8 -8
View File
@@ -8,7 +8,7 @@ import {
TextBasedChannel,
MessageComponentInteraction,
User,
SelectMenuInteraction,
StringSelectMenuInteraction,
InteractionType,
BaseInteraction,
GuildBasedChannel,
@@ -46,7 +46,7 @@ export default class DiscordModule {
GuildCommandInteractionCreate(interaction: CommandInteraction): void | Promise<void | any> {}
GuildModuleCommandInteractionCreate(interaction: CommandInteraction): void | Promise<void | any> {}
GuildSelectMenuInteractionCreate(interaction: SelectMenuInteraction): void | Promise<void | any> {}
GuildSelectMenuInteractionCreate(interaction: StringSelectMenuInteraction): void | Promise<void | any> {}
GuildButtonInteractionCreate(interaction: ButtonInteraction): void | Promise<void | any> {}
@@ -73,8 +73,8 @@ export class HybridInteractionMessage {
return this.data instanceof ButtonInteraction && this.data.isButton();
}
public isSelectMenu(): boolean {
return this.data instanceof SelectMenuInteraction && this.data.isSelectMenu();
public isStringSelectMenu(): boolean {
return this.data instanceof StringSelectMenuInteraction && this.data.isStringSelectMenu();
}
public isMessage(): boolean {
@@ -117,11 +117,11 @@ export class HybridInteractionMessage {
return this.data as CommandInteraction;
}
public getSelectMenu(): SelectMenuInteraction {
if (this.isInteraction() && !(this.data as SelectMenuInteraction))
throw new Error('Unable to cast to SelectMenuInteraction');
public getStringSelectMenu(): StringSelectMenuInteraction {
if (this.isInteraction() && !(this.data as StringSelectMenuInteraction))
throw new Error('Unable to cast to StringSelectMenuInteraction');
return this.data as SelectMenuInteraction;
return this.data as StringSelectMenuInteraction;
}
public getMessageComponentInteraction(): MessageComponentInteraction {