是否可以检测到反应的消除?

时间:2020-01-02 18:16:39

标签: discord.js

我知道您可以使用ReactionCollector检测到新反应的增加。但是有可能检测到反应的消除吗?

我知道我可以跟踪数据库中的所有反应,并不断轮询不一致的api并将数据库版本与实时版本进行比较。但是,如果有更好的解决方案,我宁愿不这样做。

2 个答案:

答案 0 :(得分:1)

是的,discord.js API具有GenericUDFRpad。您必须维护一个消息缓存,因为它仅对缓存中的消息触发。您可以使用an event you can listen for: messageReactionRemove填写缓存。

答案 1 :(得分:0)

您可以为此创建一个事件,称为“ messageReactionRemove”,以查看是否有人删除了反应。 这是我所具有的反应角色机器人的一个简单示例:

const events = {
    MESSAGE_REACTION_REMOVE: 'messageReactionRemove',
}; 

然后,您可以制作一个if语句,并要求输入MESSAGE_REACTION_REMOVE

if (event.t === "MESSAGE_REACTION_REMOVE") member.addRole(guildRole.id);