Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (5)

Лучшие ответы пользователя

Все ответы (2)
  • Как сделать такое меню на discord.js?

    Более развернутый пример ты можешь увидеть тут (урок от discordjs с работой selectMenu)

    Например по команде /send, отправляем сообщение в канал.
    Импортируем для начала из discord.js StringSelectMenuBuilder, ActionRowBuilder, SlashCommandBuilder

    Это идет сама наша команда:
    module.exports = {
    	data: new SlashCommandBuilder()
    		.setName('send')
    		.setDescription('Отправит сообщение с меню'),
    	async execute(interaction) {
    		const menu_server = new ActionRowBuilder()
                .addComponents(
                    new StringSelectMenuBuilder()
                        .setCustomId('menu-server')
                        .setPlaceholder('Выбери раздел')
                        .setMaxValues(1)
                        .addOptions([
                            {
                                label: 'Подать заявку на администрацию',
                                value: 'menu-send-admin',
                                emoji: '❤',
                                description: 'Вы подаете заявку на администрацию'
                            },
                            {
                                label: 'Что-то свое еще',
                                value: 'menu-others',
                            }
                        ]),
                );
    
                await interaction.reply({content: 'Вы успешно отправили Меню',  ephemeral:  true});
                await interaction.channel.send({ components: [menu-server], content: 'Меню сервера:' });
    	},
    };

    Дальше идем в InteractionCreate:
    if (interaction.isStringSelectMenu()) {
            if(interaction.customId === 'menu-server') {
                const value = interaction.values[0];
                switch(value) {
                    case 'menu-send-admin': {
                        await interaction.reply({content: 'Вы выбрали отправку на администрацию' ,  ephemeral:  true});
                    }
                    break;
                    case 'menu-others': {
                        await interaction.reply({content: 'Вы выбрали что-то другое',  ephemeral:  true});
                    }
                    break;
                    default:
                       break;
                }
            }
        }

    Вот, вроде как-то так.
    P.S немного проблемы с табуляцией. Думаю ты сам исправишь, если что.
    Ответ написан
    1 комментарий