首页 > 解决方案 > Discord.js - 反应收集器的问题

问题描述

那是我的一个小函数的代码,但 user.id 每次都是未定义的。我不知道为什么。

const bot = new Discord.Client();

bot.on('message', function(message) {
  if(message.author.bot) return;
  if(message.content === prefix+'react'){
  message.react('');
  const filter = (reaction, user) => {
    return reaction.emoji.name === '' && user.id != bot.user.id;
  };
  
  const collector = message.createReactionCollector(filter, { time: 5000 });
  
  collector.on('collect', (reaction, user) => {
    message.channel.send(`Collected ${reaction.emoji.name} from ${user.id}`);
  });
  
  collector.on('end', collected => {
    console.log(`Collected ${collected.size} items`);
  });
 }
});

标签: node.jsdiscord.jsemojicollectors

解决方案


尝试:

const filter = (reaction, user) => {
        return [''].includes(reaction.emoji.name) && user.id !== bot.user.id;
};

像这样的东西对我有用


推荐阅读