我知道您可以使用ReactionCollector
检测到新反应的增加。但是有可能检测到反应的消除吗?
我知道我可以跟踪数据库中的所有反应,并不断轮询不一致的api并将数据库版本与实时版本进行比较。但是,如果有更好的解决方案,我宁愿不这样做。
答案 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);