首页 > 解决方案 > 即使在获取时,机器人也不会检测到自己的反应

问题描述

如果用户单击第二个反应,我的不和谐机器人应该删除最后一个反应。我尝试获取消息、反应和反应用户。无论我做什么,如果我的机器人在反应后重新启动,reaction.me总是错误的。我怎样才能解决这个问题?

这是我当前的代码:

//trying to detect a 2nd user reaction gives expected result
console.log('Reaction.me: ', reaction.me) //always false no matter how many times I click the reaction
if(user.bot) return;
if(reaction.partial) await reaction.fetch().catch(console.log)
if(reaction.message.partial) await reaction.message.fetch().catch(console.log);
await reaction.users.fetch()
await reaction.message.reactions.cache.find(r => r.emoji.name === (reaction.emoji.name === '⬆️') ? '⬇️' : '⬆️').users.fetch()
if(!reaction.me) return; //always returns early here

注意:经过进一步测试,似乎在缓存reaction.me找到了客户端用户,但仍然存在false. 它确实解决了我的问题,但我想了解为什么我有这个问题reaction.me

标签: javascriptdiscorddiscord.js

解决方案


推荐阅读