有可能有多个Discordjs选择菜单吗



运行1个斜线命令后是否可以有多个选择菜单,例如/quiz foo将所有测验问题显示为一组选择菜单

类似这样的东西:

const row1 = new MessageActionRow().addComponents(
new MessageSelectMenu()
.setCustomId('select')
.setPlaceholder('Nothing selected')
.addOptions([
{
label: 'Select me',
description: 'This is a description',
value: 'first_option1',
},
{
label: 'You can select me too',
description: 'This is also a description',
value: 'second_option1',
},
])
)
const row2 = new MessageActionRow().addComponents(
new MessageSelectMenu()
.setCustomId('select')
.setPlaceholder('Nothing selected')
.addOptions([
{
label: 'Select me',
description: 'This is another description',
value: 'first_option2',
},
{
label: 'You can select me too',
description: 'This is also another description',
value: 'second_option2',
},
])
)
await interaction.reply({ content: 'Done!', components: [row1, row2] })

在一条消息中可以有多个MessageSelectMenu,发送它们的方式就是您使用的方式。要在选择某个选项时执行一段代码,您只需添加:

client.on('interactionCreate', (interaction) => {
const valueClicked = interaction.values[0]
// Execute whatever you want with the value
})

需要记住的一点是,您当前的代码会出现错误,因为代码中的两个MessageSelectMenu都有相同的customId,所以您可能需要将其更改为不同的值。

最新更新