按下按钮后如何获取 select 菜单的值? (discord.js)
How do i get the value of a select menu after pressing a button? (discord.js)
我有一条包含 2 个操作行的消息。一个包含 select 菜单,另一个包含一个按钮。如何在按下按钮时从 select 菜单中获取 selected 项目?
到目前为止我有以下代码:
if (interaction.isButton()) {
if (interaction.customId == 'deleteTask') {
console.log("Deleting task!")
console.log(taskName)
delete(taskName)
}
}
我需要变量 taskName 成为 select 菜单中的 selected 选项。 select 菜单与按钮在同一消息中,它具有自定义 ID 'selectTask'。这是 select 菜单和按钮菜单的代码:
const row = new MessageActionRow() // Define action row
.addComponents(
new MessageSelectMenu() // Add task selector
.setCustomId('selectTask')
.setPlaceholder('Select an assignment..')
.addOptions(choices),
);
const btnrow = new MessageActionRow() // Define action row
.addComponents(
new MessageButton()
.setCustomId('deleteTask')
.setLabel("Delete task")
.setStyle("DANGER"),
);
如果您已经有一个消息组件收集器,您只需从该收集器中获取第一个值。
文档:https://discord.js.org/#/docs/discord.js/stable/class/SelectMenuInteraction?scrollTo=values
collectorInteraction.values[0]
将 collectorInteraction 更改为您命名的收集器参数
如果你还需要做一个组件收集器,也许访问这两个网站:
https://discord.js.org/#/docs/discord.js/stable/class/InteractionCollector
https://discordjs.guide/popular-topics/collectors.html#message-collectors
我有一条包含 2 个操作行的消息。一个包含 select 菜单,另一个包含一个按钮。如何在按下按钮时从 select 菜单中获取 selected 项目?
到目前为止我有以下代码:
if (interaction.isButton()) {
if (interaction.customId == 'deleteTask') {
console.log("Deleting task!")
console.log(taskName)
delete(taskName)
}
}
我需要变量 taskName 成为 select 菜单中的 selected 选项。 select 菜单与按钮在同一消息中,它具有自定义 ID 'selectTask'。这是 select 菜单和按钮菜单的代码:
const row = new MessageActionRow() // Define action row
.addComponents(
new MessageSelectMenu() // Add task selector
.setCustomId('selectTask')
.setPlaceholder('Select an assignment..')
.addOptions(choices),
);
const btnrow = new MessageActionRow() // Define action row
.addComponents(
new MessageButton()
.setCustomId('deleteTask')
.setLabel("Delete task")
.setStyle("DANGER"),
);
如果您已经有一个消息组件收集器,您只需从该收集器中获取第一个值。 文档:https://discord.js.org/#/docs/discord.js/stable/class/SelectMenuInteraction?scrollTo=values
collectorInteraction.values[0]
将 collectorInteraction 更改为您命名的收集器参数
如果你还需要做一个组件收集器,也许访问这两个网站: https://discord.js.org/#/docs/discord.js/stable/class/InteractionCollector
https://discordjs.guide/popular-topics/collectors.html#message-collectors