@Int0shiro

Как получить значение из StringSelectMenuBuilder()?

Имею меню:
const select = new StringSelectMenuBuilder()
             .setCustomId('starter')
             .setPlaceholder('Make a selection!')
             .addOptions(
                 new StringSelectMenuOptionBuilder()
                     .setLabel('Bulbasaur')
                     .setDescription('The dual-type Grass/Poison Seed Pokémon.')
                     .setValue('bulbasaur'),
                 new StringSelectMenuOptionBuilder()
                     .setLabel('Charmander')
                     .setDescription('The Fire-type Lizard Pokémon.')
                     .setValue('charmander'),
                 new StringSelectMenuOptionBuilder()
                     .setLabel('Squirtle')
                     .setDescription('The Water-type Tiny Turtle Pokémon.')
                     .setValue('squirtle'),
             );

Нужно что бы при нажатии на какой то Option выводило определенное сообщение (ембед)
Может есть метод, свойство или обработчик, в доках ничего не нашел. В гугле тоже не особо.
Код работает примерно так:
643ef9657d93f146493475.jpeg
Ошибку выводит соответственно из за отсутствия ответа.
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ответы на вопрос 1
Все взаимодействия с кнопками, меню и.т.д идет в InteractionCreate.
Для того, чтобы отследить меню нужно использовать if (interaction.isStringSelectMenu()), чтобы сравнить наше меню, которое нам необходимо if(interaction.customId === 'ur-menu')
Дальше для того, чтобы узнать, на какую опцию мы нажали используем
if(interaction.customId === 'ur-menu') {
    const value = interaction.values[0];
    switch(value) {
        case 'menu-select-ad': {
            // Что будет, если мы нажали на кнопку например 1.
        }
            break;

        default:
            break;
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы