Суть команды: человек пишет "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]})
}
}
});
}
}