Javascript 是否可以从Discord.js中的ReactionCollector获取用户?

Javascript 是否可以从Discord.js中的ReactionCollector获取用户?,javascript,discord.js,Javascript,Discord.js,大约一个月前,我正在积极开发一个Discord机器人,但我有一个问题,就是如何通过ReactionCollector从reaction中抓取用户 我知道您可以通过以下示例了解这一点: bot.on('messageReactionAdd',(reaction,user)=>{ console.log(user); //Return the user console.log(reaction); //Return the Reaction }); 但是我想创建一个复杂的系统,我不知

大约一个月前,我正在积极开发一个Discord机器人,但我有一个问题,就是如何通过ReactionCollector从reaction中抓取用户

我知道您可以通过以下示例了解这一点:

bot.on('messageReactionAdd',(reaction,user)=>{
  console.log(user); //Return the user
  console.log(reaction); //Return the Reaction
});
但是我想创建一个复杂的系统,我不知道是否有可能使用ReactionCollect抓取用户来执行类似以下的操作:

let reactionCollector = new Discord.ReactionCollector(messagefilteroptions);
reactionCollector.on('collect', (reactions,user,collector)=>{
  console.log(user); //Return the User
  console.log(reaction); //Return the Reaction
  console.log(collector); //Return the Collector
});
我如何解决这个问题

对V11的回答
有关v12,请参阅

A用于等待有关消息上的反应的特定条件(若干反应、特定时间等)。收集器收集反应后,您可以访问这些反应

你有一个例子:

const filter=(反应,用户)=>{

return reaction.emoji.name=='这有点晚了,但是您可以将代码放入过滤器中,并使用它来代替collect

const filter=(反应,用户)=>{
console.log(用户);

如果(return reaction.emoji.name=='以前的答案现在已经过时了,就像Discord.js的版本11一样。
从那时起,第12版就发布了,由于它带来了多项更改,
Collector
s也得到了“刷新”

现在,
ReactionCollector
上的
collect
事件给出的不是reaction和collector本身,而是reaction和user对象


const filter=(reaction,user)=>reaction.emoji.name==”如果您在('collect')
上聚合
user
,您是否也需要在('remove')上解释
?嗯?删除一个反应与添加它完全无关,可能除了不能两次添加同一个反应之外。示例代码除了显示“某个用户的反应”。如果您询问“从缓存中删除该用户”,那么这也不是它的工作方式。用户将被库缓存,只要收集用户将取消反应的时间,就不会执行魔术并从缓存中删除。我相信我的问题是,用户可以单击他的表情删除它,然后添加相同的表情,然后再次计数。(已经有一段时间了,该项目被搁置了。)也许这与问题无关,但值得在一个更健壮的解决方案中考虑。好吧,是的,如果给定的示例将反应计算在内,那么确实需要进行处理。但是,它只是通知反应,因此在这里没有必要这样做。在Discord.js v12中,我认为您需要使用
reaction.users.cache.forEach(…)