Discord 机器人反应数组

Posted

技术标签:

【中文标题】Discord 机器人反应数组【英文标题】:Discord bot reactions array 【发布时间】:2021-04-23 20:12:13 【问题描述】:

我试图通过反应数组的索引 0 获得特定反应:

   private async void reset(IUserMessage message)
   
       message.Reactions.ElementAt(0);
   

但是当我这样做时,我看不到 discord documentation 说它应该包含的计数或表情符号变量。关于如何根据索引从特定反应中获取表情符号变量的任何想法?

问候, 耶勒

【问题讨论】:

【参考方案1】:

我不确定您的 IUserMessage 是否也实现了 IMessage,但以下解决方案适用于 IMessage。您可以使用 message as IMessage 将 IUserMessage 更改为 IMessage。

IMessage.Emotes (docs) 包含一个 IEmote 的字典,ReactionMetadata。您可以使用此字典根据您要查找的索引或 IEmote 获取反应元数据。 ReactionMetadata 包含 ReactionCount,即对该表情的反应次数。

如果您想知道做出反应的用户,您应该使用IMessage.GetReactionUsersAsync(IEmote, Int32, RequestOptions) 方法(docs)。

【讨论】:

以上是关于Discord 机器人反应数组的主要内容,如果未能解决你的问题,请参考以下文章

Discord 机器人消息不收集反应

当用户对 2 个反应做出反应时,机器人不会读取第二个反应.. discord.py

Discord 机器人有时会做出反应

对自己的消息做出反应的 Discord 机器人

(discord.py) 向不和谐机器人发布的嵌入添加反应

v12 不会删除机器人的反应,但 v13 会删除机器人的反应 (discord.js)