【问题标题】:Discord.js Reaction CollectingDiscord.js 反应收集
【发布时间】:2023-03-18 12:02:01
【问题描述】:

我试图创建一个嵌入,然后从该嵌入中收集反应,一切正常,直到它到达收集器,收集器似乎没有识别我给它的反应。

代码如下:

let embed = new Discord.MessageEmbed();
message.channel.send(embed).then(embedMessage => {
    embedMessage.react('????');
    const filter = (reaction) => {
        return reaction === '????'
    };
    const collector = new Discord.ReactionCollector(embedMessage, filter, {
        time: 15000
    });
    collector.on('collect', (reaction) => {
        console.log('reaction received:' + reaction)
    });
    collector.on('end', collected => {
        console.log('Collecter Expired')
    });
});

【问题讨论】:

    标签: node.js discord.js


    【解决方案1】:

    问题是您的过滤器正在检查reaction == 'some emoji'。然而,reaction 实际上是一个MessageReaction 对象,而不是表情符号的字符串表示形式。如果您想要字符串表示,则需要改用reaction.emoji.name

    let embed = new Discord.MessageEmbed()
            .embedStuff();
        message.channel.send(embed).then(embedMessage => {
            embedMessage.react('?');
            const filter = (reaction) => {
                return reaction.emoji.name == '?'
            };
    
            const collector = new Discord.ReactionCollector(embedMessage, filter, {
                time: 15000
            });
            collector.on('collect', (reaction) => {
                console.log('reaction received:' + reaction.emoji.name)
            });
    
            collector.on('end', collected => {
               console.log('Collecter Expired')
            });
        });
    

    【讨论】:

      猜你喜欢
      • 2021-05-11
      • 2020-11-30
      • 1970-01-01
      • 2020-07-06
      • 2020-05-09
      • 2021-08-05
      • 1970-01-01
      • 2021-06-16
      • 2019-12-18
      相关资源
      最近更新 更多