是否可以阅读机器人 Telegram 消息

问题描述 投票:0回答:4

我已经成功创建了一个机器人,并且能够使用

getupdates
方法(长轮询)从聊天中获取消息。

getUpdates 方法仅显示用户发布的消息(客户端)。当我直接使用

sendmessage
方法(服务器端)发布消息时,这些消息确实会出现在聊天中,但不会出现在 getUpdates 日志中。

此页面https://github.com/LibreLabUCM/teleg-api-bot/wiki/Getting-started-with-the-Telegram-Bot-API#getupdates 声明仅当“用户直接或以群组形式向您的机器人发送消息”时才会记录。还有其他一些方式,但是sendMessage方式没有提到。

我已经阅读了一些关于

setwebhook
方法(推送)的内容,但不确定这是否能解决我的问题。

这可能吗?

api logging bots telegram sendmessage
4个回答
3
投票

根据机器人常见问题解答,无论模式如何,机器人都无法看到来自其他机器人的消息。


3
投票

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

sendPhoto
) ...).

要获取旧消息,您可以将每条消息(甚至是机器人使用 sendMessage 方法发送的消息)的整个更新(或仅需要的部分更新)存储在文件或数据库中,并且当您需要旧消息时消息,您可以简单地从数据库或文件中获取它。


3
投票
我设法使用两个机器人获取机器人消息。

一个执行
sendMessage

 方法,另一个执行 getUpdates
 方法。

@Giolacca9回答激励我尝试这个解决方法并且它有效,“不是来自机器人本身”:)


0
投票
你能告诉我你是如何决定通过另一个机器人阅读该机器人的消息的吗?

© www.soinside.com 2019 - 2024. All rights reserved.