一旦我知道message IDs
,我就可以通过channels.getMessages请求成功检索来自频道的消息。顺便说一句,我找到contacts.search的频道ID。
目前,消息ID是连续的整数,因此获取max_id可以解决问题。
我确信这是可能的,因为官方客户这样做(查看频道而不加入它)。我将通过阅读its sources来了解官方桌面应用程序是如何做到这一点的,但我们将非常感谢任何帮助。
我需要这个,因为我正在写一个简单的公共电报频道 - > rss / web界面。
请不要将Telegram Client API与Telegram Bot API混淆。 Bot API允许接收'推送'有关新邮件的消息,但没有阅读历史记录'。
答案 0 :(得分:7)
以下是您从未加入的频道收到邮件时必须执行的步骤:
contacts.resolveUsername
messages.getHistory
以获取所需的消息。以下是messages.getHistory
参数的简短说明:
:param peer: The channel from whom to retrieve the message history
:param limit: Number of messages to be retrieved
:param offset_date: Offset date (messages *previous* to this date will be retrieved)
:param offset_id: Offset message ID (only messages *previous* to the given ID will be retrieved)
:param max_id: All the messages with a higher (newer) ID or equal to this will be excluded
:param min_id: All the messages with a lower (older) ID or equal to this will be excluded
:param add_offset: Additional message offset (all of the specified offsets + this offset = older messages)
答案 1 :(得分:2)
事实证明,messages.getHistory还可以,给你最后N条消息+总计数。