morfiscam
@morfiscam
Developer bot in Discord and design

Как правильно получить label select menu и вписать ее?

Суть команды: человек пишет "search", после выбирает время в select menu и отправляется готовый текст с его времени, но я не знаю, как в текст вставить время с select menu..
Нужно получить label с селект меню и вписать ее в эмбед nabortxt, как я понял, обьясните и дайте решение..

const { EmbedBuilder, SlashCommandBuilder, PermissionFlagsBits, StringSelectMenuBuilder, ActionRowBuilder, ButtonBuilder } = require('discord.js')

module.exports = {
    data: new SlashCommandBuilder()
        .setName('search')
        .setDescription('Отправляет уведомление в канал по объявлению по набору.')
            .setDefaultMemberPermissions(PermissionFlagsBits.ManageRoles),
        async execute(interaction) {

            if (!interaction.isChatInputCommand()) return;
            if (interaction.commandName === 'search') {

                const time = new ActionRowBuilder()
                .addComponents(
                    new StringSelectMenuBuilder()
                        .setCustomId('intime')
                        .setPlaceholder('Выберите время начало набора')
                        .addOptions(
                            {
                                label: ' 12:00',
                                description: 'Выберите начало времени набора',
                                value: '12_00',
                            },
                            {
                                label: ' 13:00',
                                description: 'Выберите начало времени набора',
                                value: '13_00',
                            },
                            {
                                label: ' 14:00',
                                description: 'Выберите начало времени набора',
                                value: '14_00',
                            },
                            {
                                label: ' 15:00',
                                description: 'Выберите начало времени набора',
                                value: '15_00',
                            },
                            {
                                label: ' 16:00',
                                description: 'Выберите начало времени набора',
                                value: '16_00',
                            },
                            {
                                label: ' 17:00',
                                description: 'Выберите начало времени набора',
                                value: '17_00',
                            },
                            {
                                label: ' 18:00',
                                description: 'Выберите начало времени набора',
                                value: '18_00',
                            },
                            {
                                label: ' 19:00',
                                description: 'Выберите начало времени набора',
                                value: '19_00',
                            },
                            {
                                label: ' 20:00',
                                description: 'Выберите начало времени набора',
                                value: '20_00',
                            },
                            {
                                label: ' 21:00',
                                description: 'Выберите начало времени набора',
                                value: '21_00',
                            },
                            {
                                label: ' 22:00',
                                description: 'Выберите начало времени набора',
                                value: '22_00',
                            },

                        ),
                );

                const times = new EmbedBuilder()
                     .setColor('#36393E')
                     .setTitle('<:nabor:1089682927887073352> Установите, пожалуйста, время начало вашего набора')
                     .setDescription('Нажмите ниже на меню, чтобы начать взаимодействие.\n Не забывается правила <#1067196967719022642>')
    
                await interaction.reply({ embeds: [times], components: [time] });
        }

        const ten = new EmbedBuilder()
            .setColor('#36393E')
            .setTitle('<:nabor:1089682927887073352> Установите, пожалуйста, конец завершения вашего набора')
            .setDescription('Нажмите ниже на меню, чтобы начать взаимодействие.\n Не забывается правила <#1067196967719022642>')

            const time1 = new ActionRowBuilder()
            .addComponents(
              new StringSelectMenuBuilder()
                .setCustomId('dotime')
                .setPlaceholder('Выберите время конец набора')
                .addOptions(
                    {
                        label: ' 12:00',
                        description: 'Выберите конец времени набора',
                        value: '12_000',
                    },
                    {
                        label: ' 13:00',
                        description: 'Выберите конец времени набора',
                        value: '13_000',
                    },
                    {
                        label: ' 14:00',
                        description: 'Выберите конец времени набора',
                        value: '14_000',
                    },
                    {
                        label: ' 15:00',
                        description: 'Выберите конец времени набора',
                        value: '15_000',
                    },
                    {
                        label: ' 16:00',
                        description: 'Выберите конец времени набора',
                        value: '16_000',
                    },
                    {
                        label: ' 17:00',
                        description: 'Выберите конец времени набора',
                        value: '17_000',
                    },
                    {
                        label: ' 18:00',
                        description: 'Выберите конец времени набора',
                        value: '18_000',
                    },
                    {
                        label: ' 19:00',
                        description: 'Выберите конец времени набора',
                        value: '19_000',
                    },
                    {
                        label: ' 20:00',
                        description: 'Выберите конец времени набора',
                        value: '20_000',
                    },
                    {
                        label: ' 21:00',
                        description: 'Выберите конец времени набора',
                        value: '21_000',
                    },
                    {
                        label: ' 22:00',
                        description: 'Выберите конец времени набора',
                        value: '22_000',
                    },

                ),
            )

            const nabortxt = new EmbedBuilder()
            .setColor('#36393E')
            .setTitle(`Проводится набор без заявок в администрацию Dark-RP`)
            .setDescription(`
            <:time:1089721579086303354> С **indufinde** до **indufinde** по **МСК**\n> Ожидаем вас в комнате - <#533944987776319491>
            \n> :sunglasses: Вы сможете наказывать донатную администрацию 
            > :gem: Вы получите доступ ко всем VIP возможностям.
            > :moneybag: Вам будут выдавать зарплату за вашу хорошую работу. 
            > :star: За вашу хорошую работу в нашем коллективе вас ждут стабильные повышения в должности.
            > :reminder_ribbon: А так-же у нас очень дружелюбный коллектив, поэтому мы ждем именно тебя! 

            Перед собеседованием, вам нужно зайти на сервер **Downtown**

            :first_place: Platinum RP // RP_Downtown // IP:46.174.49.38:27015 // steam://connect/46.174.49.38:27015

            Если вы не можете пройти набор прямо сейчас, то для вас у нас есть заявки на пост администратора.
            `)
            .setImage('https://i.postimg.cc/cCRvvFqc/nabor.png')

            const nabor4 = new ActionRowBuilder()
            .addComponents(
                new ButtonBuilder()
                    .setURL('https://clck.ru/33sFdu')
                    .setLabel('Подключиться')
                    .setStyle('Link'),
                    new ButtonBuilder()
                    .setURL('https://clck.ru/33sJNp')
                    .setLabel('Правила Сервера')
                    .setStyle('Link'),
                    new ButtonBuilder()
                    .setURL('https://clck.ru/33tBSj')
                    .setLabel('Подать заявку')
                    .setStyle('Link'),
            )

            const yspex = new EmbedBuilder()
            .setColor('#36393E')
            .setTitle(` Оповощение`)
            .setDescription(`Ваше сообщение было отправлено в <#679005139067076638>`)

        const collector = interaction.channel.createMessageComponentCollector();

        collector.on('collect', async i => {
            if (i.isStringSelectMenu()) {
                const selected = i.values[0];
                if(selected == '12_00'){
                    await i.reply({ embeds: [ten], components: [time1] })
                    }
                }
            });

        collector.on('collect', async i => {
            if (i.isStringSelectMenu()) {
                const selected = i.values[0];
                if(selected == '12_000'){
                await i.update({ embeds: [yspex], components: [] });
                i.guild.channels.cache.get(`679005139067076638`).send({ embeds: [nabortxt], components: [nabor4]})
                
                    }
                }
            });
    }
}
  • Вопрос задан
  • 40 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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