【问题标题】:I can't get my bot to recognize the reaction and respond to it (Discord.js)我无法让我的机器人识别反应并做出响应 (Discord.js)
【发布时间】:2021-10-07 23:29:38
【问题描述】:
const Discord = require ('discord.js')

module.exports.run = async (client, message, reaction, user) => {
        
        message.channel.send("Press **F** to pay respect!!").then(msg => {msg.react("<:pressf:861646469180948530>")})
        
        const filter = (reaction, user) => {
                return reaction.emoji.name === ' === "<:pressf:861646469180948530>' && user.id === message.author.id;
                
        };
        
        
        const collector = message.createReactionCollector( filter);
        
        
        collector.on('collect', (reaction, user) => {
                if (message.emoji.name === "<:pressf:861646469180948530>"){
                        message.channel.send("You pay respect!!")
                }
        })
        
};

【问题讨论】:

  • 看起来像语法错误,为什么你有两个等号?还要修正你的引号。

标签: javascript node.js discord.js


【解决方案1】:

问题是您正在对原始消息设置反应收集器。尝试等待发送的消息,并接受对此的反应:

module.exports.run = async (client, message, reaction, user) => {
  const sentMessage = await message.channel.send('Press **F** to pay respect!!');

  sentMessage.react('<:pressf:861646469180948530>');

  const filter = (reaction, user) =>
    // there was an extra  === " here
    reaction.emoji.name === '<:pressf:861646469180948530>' &&
    user.id === message.author.id;

  const collector = sentMessage.createReactionCollector(filter);

  collector.on('collect', (reaction, user) => {
    if (reaction.emoji.name === '<:pressf:861646469180948530>') {
      message.channel.send('You pay respect!!');
    }
  });
};

【讨论】:

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