mirror of
https://github.com/Mayuri-Chan/pyrofork.git
synced 2026-01-04 22:34:52 +00:00
Fix flood waits generated when iterating over basic chat members
This commit is contained in:
parent
6d00e9cfd8
commit
90b959555d
1 changed files with 5 additions and 0 deletions
|
|
@ -20,6 +20,7 @@ from string import ascii_lowercase
|
||||||
from typing import Union, Generator
|
from typing import Union, Generator
|
||||||
|
|
||||||
import pyrogram
|
import pyrogram
|
||||||
|
from pyrogram.api import types
|
||||||
from ...ext import BaseClient
|
from ...ext import BaseClient
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -82,6 +83,7 @@ class IterChatMembers(BaseClient):
|
||||||
queries = [query] if query else QUERIES
|
queries = [query] if query else QUERIES
|
||||||
total = limit or (1 << 31) - 1
|
total = limit or (1 << 31) - 1
|
||||||
limit = min(200, total)
|
limit = min(200, total)
|
||||||
|
resolved_chat_id = self.resolve_peer(chat_id)
|
||||||
|
|
||||||
filter = (
|
filter = (
|
||||||
Filters.RECENT
|
Filters.RECENT
|
||||||
|
|
@ -107,6 +109,9 @@ class IterChatMembers(BaseClient):
|
||||||
if not chat_members:
|
if not chat_members:
|
||||||
break
|
break
|
||||||
|
|
||||||
|
if isinstance(resolved_chat_id, types.InputPeerChat):
|
||||||
|
total = len(chat_members)
|
||||||
|
|
||||||
offset += len(chat_members)
|
offset += len(chat_members)
|
||||||
|
|
||||||
for chat_member in chat_members:
|
for chat_member in chat_members:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue