按下按钮后如何获取 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