【问题标题】:How to track select menu discord.js?如何跟踪选择菜单 discord.js?
【发布时间】:2022-12-31 23:27:37
【问题描述】:

我正在尝试创建一个代码,该代码将创建所需数量的菜单选择,然后在单击后响应它们。我这样创建菜单选择

for(i = 0; i < arr.length; i++) {
 select.addOptions([
          {
            label: `${i}`,
            value: `value${i}`,
            description: `${i} role` }
          ])
}

其中 arr.length - 所需的选择次数。我只是不知道如何在此选择菜单上获取值。我很乐意提供提示!谢谢

【问题讨论】:

    标签: javascript discord.js


    【解决方案1】:

    select.addOptions 接受一个选项数组。所以你可以这样做

    let selectarr = [];
    for(i = 0; i < arr.length; i++) {
        selectarr.push({
            label: `{i}`,
            description: `value${i}`,
            value: `${i} role`,
        });
    }
    
    select.addOptions(selectarr)
    

    评论:

    //Create select menu const select = new ActionRowBuilder().addComponents( new StringSelectMenuBuilder() .setCustomId("your id") 
    .setPlaceholder("Your palceholder") 
    .addOptions(selectarr) ); 
    //Reply 
    const sendResult = interaction.channel.send({ content: "Your text", embeds: [if you have an embed], components: [select], }); 
    

    【讨论】:

    • 是的,这个方法也可以,但是我以后应该怎么回答这个选择菜单呢?因为不知道i
    • 您会回复互动或发送特定频道。我确实知道您的用户案例/代码以获得特定答案
    • 回复互动。在标准代码中我使用这个 - if(interaction.values[0] == customId),但我不知道如何获得价值(来自循环 for
    • 我不确定你想做什么,这就是我在我的案例中的回复方式: //Create select menu const select = new ActionRowBuilder().addComponents( new StringSelectMenuBuilder() .setCustomId("your id") .setPlaceholder("你的占位符") .addOptions(selectarr) ); //回复 const sendResult = interaction.channel.send({ content: "Your text", embeds: [if you have an embed], components: [select], });
    • 是的,但如果用户选择了选择操作 1,我想发送,如果 2 - 2 则发送 1 ...。在这种情况下,我只是不知道如何获取选项选择菜单的值(自定义 ID)
    猜你喜欢
    • 2023-03-11
    • 1970-01-01
    • 2011-07-14
    • 2017-12-28
    • 2022-08-17
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多