gpt4 book ai didi

node.js - 如何通过 Node.js 的电报数据库库(TDLib)请求用户的所有聊天/群组

转载 作者:行者123 更新时间:2023-12-05 07:24:12 45 4
gpt4 key购买 nike

telegram 的官方例子解释说,为了使用 getChats() 命令,需要设置两个参数 'offset_order' 和 'offset_chat_id'。我正在使用这个 node.js wrapper for the TDLib .因此,当我将 getChats() 与以下参数一起使用时:

'offset_order': '9223372036854775807',
'offset_chat_id': 0,
'limit': 100

就像official docs中解释的那样:

For example, to get a list of chats from the beginning, the offset_order should be equal to 2^63 - 1

因此,我从用户列表的顶部获得了 100 个聊天。

我无法理解的是如何遍历该列表?如何使用 API 分页?

当我尝试从前 100 个中间输入合法的 chat_id 时,我仍然得到相同的前 100 个,所以看起来没有什么区别。

如果我将该 offset_order 更改为任何其他数字,我将得到一个空的聊天列表......

完全迷失在这里,如every single example我发现和官方文档说的一样,即如何获得前 100。

最佳答案

有同样的问题,尝试了不同的方法并重新阅读了很长时间的文档,这是一个决定:

  1. 像使用 '9223372036854775807' offset_order 参数一样执行 getChats
  2. 使用您上次聊天的 ID 执行 getChat 请求。这是一个离线请求,只对 tdlib。
  3. 在这里你得到一个带有 positions 属性的聊天对象 - 从这里得到一个位置,看起来像这样:
  positions: [
{
_: 'chatPosition',
list: [Object],
order: '6910658003385450706',
is_pinned: false
}
],
  1. 下一个请求 - getChats - 使用 (3) 中的 positions[0].order 作为 offset_order
  2. 如果还有更多聊天,则转到 (2)

做到这一点并不容易,所以如果它能帮助像我这样来自谷歌的任何人,我会很高兴:)

关于node.js - 如何通过 Node.js 的电报数据库库(TDLib)请求用户的所有聊天/群组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55552416/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com