我正在尝试从 Telegram API(不是机器人 API )获取最新消息。我目前正在使用 messages.getHistory 但它会从头开始返回所有消息。如果我收到新消息(自从我登录以来),那也没关系。
到目前为止,我最好的选择是读取所有消息,然后跟踪偏移量,这样我就不会再次读取相同的消息,但这太慢并且资源昂贵。
有一种更简单的方法可以从 Telegram API 获取实时更新。
如果您将 TCP 连接设置为非轮询,那么一旦您的 telegram 帐户有更新,消息就会推送给您。
这消除了您提到的成本,并且您根本不会得到任何重复。
对于我的 Telegram 客户,我只需在启动时运行以下命令即可成功完成此操作:
TL.invokewithlayer(layer, TL.initconnection(app_id, device_model, system_version, app_version, lang_code, TL.help_getconfig))
Run Code Online (Sandbox Code Playgroud)
然后,我只需处理来自连接的 TCP 套接字的传入数据即可。
| 归档时间: |
|
| 查看次数: |
13184 次 |
| 最近记录: |