【问题标题】:Pyrogram - Get all members in a channel with more than 200 membersPyrogram - 获取超过 200 个成员的频道中的所有成员
【发布时间】:2022-01-18 23:58:31
【问题描述】:

我有一个拥有 200 多名成员的频道,我正在努力争取所有成员。

我知道 iter_chat_members 有 200 个成员的限制,所以我通过像这样增加偏移量多次调用 get_chat_members

    # Get members count
    members_count = client.get_chat_members_count(chat.id)
    # Retrieve them
    members_offset = 0
    while members_offset <= members_count:
        members = client.get_chat_members(chat.id,
                                          limit=200,
                                          offset=members_offset)
        # Do something with the members...
        members_offset += 200

但是,我继续只获得前 200 个成员(当 members_offset 大于或等于 200 时,我从 get_chat_members 获得零个成员)。

有没有办法使用多个调用从一个拥有超过 200 个成员的频道中获取所有成员?

谢谢

【问题讨论】:

  • 200 名成员的限制是服务器端的,正如文档中提到的那样。据我记得,Telethon 有一种方法可以强制执行此操作,但这不是一个尝试规避的好主意。
  • 好吧,那么基本上没有办法得到它们了?我什至不能打多个电话并在每次通话中获得 200 名成员,直到我全部获得他们?

标签: python bots pyrogram


【解决方案1】:

我知道一种方法,但我从未尝试过:

for member in app.iter_chat_members(YOUR_CHAT, filter="all"):
    # Do your stuff with member object

【讨论】:

    猜你喜欢
    • 2019-06-03
    • 2022-09-25
    • 2021-10-07
    • 2018-10-09
    • 1970-01-01
    • 2021-07-21
    • 1970-01-01
    • 2020-09-11
    • 2021-04-24
    相关资源
    最近更新 更多