discord.js 如何从 fetchMessage 事件中获取“反应用户”列表?
Posted
技术标签:
【中文标题】discord.js 如何从 fetchMessage 事件中获取“反应用户”列表?【英文标题】:discord.js How to obtain a "reactions user's" list from a fetchMessage event? 【发布时间】:2019-07-10 12:02:33 【问题描述】:我试图弄清楚如何使用fetchMessage
事件获取对频道中的消息提供反应的用户列表。我成功地获得了用户数量或表情符号本身的计数,但是,实际的用户列表并没有显示出来。
我正在使用
message.channel.fetchMessage(MessageID).then(themessage =>
let MessageOBJ = themessage.reactions.find(r => r.name === "emoji Unicode");
console.log(MessageOBJ.users);
);
当我去调用 MessageOBJ.users 时,它是一个空对象或看起来是。其他一切都正确显示,包括做出反应的用户数。
任何帮助将不胜感激。
谢谢!
【问题讨论】:
谢谢dpap! 【参考方案1】:因此,事实证明,您只能在机器人重新启动后才能获得此信息。方法是正确的。只有在机器人重新启动后创建消息并做出反应时才会向用户显示。如果您再次重新启动机器人,所有这些信息都将再次无法获取。
【讨论】:
嗯,你是对的,它似乎只知道自机器人启动以来做出反应的用户。如果您进行扫描和 fetchMessage,它甚至不知道任何做出反应的用户。当然必须有一种方法来获取已做出反应的用户列表(即可能在另一个 API 中)【参考方案2】:您必须调用另一个 API 才能让用户做出反应
MessageOBJ.fetchUsers().then(users =>
console.log(users);
);
fetchUsers documentation
【讨论】:
以上是关于discord.js 如何从 fetchMessage 事件中获取“反应用户”列表?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 discord.js 中删除 [object Promise]?