我已经编写了一个discord.js bot,并在添加或删除一个反应时使用消息的反应来更新我的数据库。
通过在客户机start上获取消息并使用messageReactionAdd和MessageReactionRemove,我的所有工作都很好。
问题是,显然,通过获取旧消息,我并没有获取消息的旧反应,所以当用户在客户端重新启动后立即删除反应时,什么也不会发生。如果用户在客户端运行时添加了一个反应,然后将其移除,messageReactionRemove就可以正常工作。
我怎样才能同时缓存获取消息的反应,以便messageReactionRemove在重启后立即侦听旧反应的删除?
这个问题在这里解释得更好。
解决方案是使用部分或捕获原始事件,AnIdiotsGuide对原始事件的解释,见此处。