Pyrogram - 获取超过 200 个成员的频道中的所有成员
Posted
技术标签:
【中文标题】Pyrogram - 获取超过 200 个成员的频道中的所有成员【英文标题】:Pyrogram - Get all members in a channel with more than 200 members 【发布时间】: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 名成员,直到我全部获得他们? 【参考方案1】:我知道一种方法,但我从未尝试过:
for member in app.iter_chat_members(YOUR_CHAT, filter="all"):
# Do your stuff with member object
【讨论】:
以上是关于Pyrogram - 获取超过 200 个成员的频道中的所有成员的主要内容,如果未能解决你的问题,请参考以下文章
日志监控文件中获取ip,每一分钟统计一次,超过200次的计入黑名单