如何通过 Telegram Bot API 获取反应更新

pry*_*bov 9 telegram-bot

再会,

是否有机会通过网络钩子或长池请求获取与机器人发布的消息的反应相关的更新?或者至少获取添加了机器人的频道/组中的任何反应更新。

在文档中找到API方法: https: //core.telegram.org/bots/api#getupdates

但根据响应模型的外观,没有机会获得与反应相关的更新。

有人解决过这样的问题吗?

先感谢您

pry*_*bov 10

@BotTalk社区组收到了回复。

Right now (Apr 2022) there is no way to do that.
Run Code Online (Sandbox Code Playgroud)


bab*_*bay 0

情况变了!从Telegram Bot API 7.0开始,您的机器人可以为每条消息设置一个反应,并且可以接收反应。

首先,要接收反应更新,您必须明确指定您的机器人希望在getUpdates/setWebhook通话中接收反应更新。

getUpdates/ 的调用setWebhook通常隐藏在用于 Telegram Bot API 的库中。我使用的库在机器人启动时提供了特殊对象 BotOptions。你的图书馆可能有类似的东西。

getUpdates/ setWebhookhttp 请求具有参数allowed_updates,其中包含您想要接收的所有更新类型的 json 序列化列表。名称对应于更新字段名称。例如,“消息”用于接收新消息。有关可用更新类型的完整列表,请参阅更新。指定一个空列表以接收除“ chat_member ”、“ message_reaction ”和“ message_reaction_count ”(默认)之外的所有更新类型。如果未指定,将使用之前的设置。

' message_reaction ' 和 ' message_reaction_count ' 是我们需要的类型,因此,您必须指定所需更新类型的列表,包括用于个人聊天的' message_reaction ' 和用于匿名反应聊天的' message_reaction_count '。

之后,您的机器人将收到带有反应的更新。