是否可以读取机器人电报消息

时间:2017-06-17 23:11:59

标签: api logging bots telegram sendmessage

我已成功创建了一个机器人,并且能够使用https://core.telegram.org/bots/api#getupdates方法(长轮询)从聊天中获取消息。

getUpdates方法仅显示用户发布的消息(clientside)。当我使用https://core.telegram.org/bots/api#sendmessage方法(服务器端)直接发布消息时,这些消息会出现在聊天中,但不会出现在getUpdates日志中。

此页面https://github.com/LibreLabUCM/teleg-api-bot/wiki/Getting-started-with-the-Telegram-Bot-API#getupdates 声明它仅在"用户直接或在一组中向您的机器人发送消息时记录。"和其他一些方法,但没有提到sendMessage方式。

我已经对https://core.telegram.org/bots/api#setwebhook方法(推送)了解了一下,但我不确定这是否会解决我的问题。

这可能吗?如果是这样,请指出正确的方向。

干杯!

2 个答案:

答案 0 :(得分:1)

根据Bot FAQ,无论模式如何,机器人都无法看到来自其他机器人的消息。

答案 1 :(得分:1)

getUpdates方法仅显示来自用户的更新,而不显示来自漫游器本身的更新。这意味着当您使用getUpdates方法获取新消息时,Telegram API将仅列出用户发送的消息,而不列出机器人通过任何方法(例如sendMessagesendPhoto发送的消息...)。

要获取旧消息,您可以在文件或数据库中以及需要时,将每条消息(甚至是由bot通过sendMessage方法发送的消息)存储整个更新(或仅需要更新的部分)。旧消息,您只需从数据库或文件中获取它即可。