Discord.js V(12) messageReactionAdd 监听器不工作
Posted
技术标签:
【中文标题】Discord.js V(12) messageReactionAdd 监听器不工作【英文标题】:Discord.js V(12) messageReactionAdd listener not working 【发布时间】:2020-09-26 03:18:10 【问题描述】:client.on('messageReactionAdd', (reaction, user) =>
console.log('If u see this I actually work...');
);
这根本不起作用...我只尝试了一个简单的console.log,但它没有运行代码...我运行client.on('raw', console.log);
只是为了检查它确实表明我做出了反应但仍然...为什么即使console.log实际上被触发了,它也不能工作???我查看了有关此的其他问题,每个人都说您需要缓存消息,但这没有意义,因为它甚至不能做一个简单的console.log('If u see this I actually work...');
编辑:这里是一个例子......因为我意识到我很不清楚我指的是什么......我是说当我点击并添加对消息的反应时......听众确实表明它发生在我运行client.on('raw', console.log);
时
下面的输出显示侦听器实际上确实触发了,但是事件侦听器范围内的代码没有像使用类似的东西那样执行
client.on('message', msg =>
);
这是client.on('raw', console.log);
的输出
Object t: "MESSAGE_REACTION_ADD", s: 20, op: 0, d: Object
events.js:315
0
正如我所提到的,它确实注意到我添加了一个反应,但是我范围内的代码……没有执行……我假设有一个简单的解决方法,我只是还没有找到,但任何帮助都是很棒。
【问题讨论】:
client.on("messageReactionAdd")
我相信只适用于缓存消息
是的,我知道它只适用于缓存的消息......但问题是我可能没有得到......当它被调用时,console.log 不起作用,因为它不是任何形式的消息,或者它是一个不同的问题......我遇到了获取输出的问题......当监听器激活它说它确实但是它没有执行监听器范围内的代码,这只是一个简单的 console.log
什么?监听器messageReactionAdd
不会在非缓存消息上激活,仅此而已。你是怎么得出它确实激活的结论的?因为client.on("raw")
?
是的,如果您运行原始文件,它将输出事件侦听器已按原样触发...但是,当我单击反应时,事件侦听器范围内的代码不会执行。
是的,你知道,它成功了,再次为你的愚蠢感到抱歉......你不必回复,因为这很烦人,但只是想说谢谢你让我意识到它需要已经被缓存,而不是缓存在实际的事件侦听器范围内。
【参考方案1】:
需要事先缓存消息...
channel.messages.fetch('message.id', boolean)
^^^^^^^ ^^^^^^^^^^ ^^^^^^^
带有消息的频道 |味精ID |是否缓存
【讨论】:
以上是关于Discord.js V(12) messageReactionAdd 监听器不工作的主要内容,如果未能解决你的问题,请参考以下文章