Я пытаюсь получить всех пользователей группы, но не выходит. Находит только 10.000, а их 21.000. Я пробовал следующее:
client.get_participents(group, aggressive=True)
client.get_participents(group)
client.iter_participents(group)
Но, я нашел выход:
members=[]
queryKey = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't','u', 'v', 'w', 'x', 'y', 'z']
for key in queryKey:
offset = 0
limit = 100
while True:
participants = await client(GetParticipantsRequest(
group, ChannelParticipantsSearch(key), offset, limit,
hash=0
))
if not participants.users:
break
for user in participants.users:
try:
if re.findall(r"\b[a-zA-Z]", user.first_name)[0].lower() == key:
members.append(user)
except:
pass
offset += len(participants.users)
Этот код, достает всех пользователей группы, но если человек может писать в этой группе, в других группах, он не работает.
Как создать универсальный способ?