Skip to content

Commit 44deabf

Browse files
committed
Update iter_chat_members efficiency
1 parent c0a5b0a commit 44deabf

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

pyrogram/client/ext/base_client.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,3 +126,6 @@ def get_dialogs(self, *args, **kwargs):
126126

127127
def get_chat_members(self, *args, **kwargs):
128128
pass
129+
130+
def get_chat_members_count(self, *args, **kwargs):
131+
pass

pyrogram/client/methods/chats/iter_chat_members.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,14 @@ def iter_chat_members(self,
8181
yielded = set()
8282
queries = [query] if query else QUERIES
8383
total = limit or (1 << 31) - 1
84-
filter = Filters.RECENT if total <= 10000 and filter == Filters.ALL else filter
8584
limit = min(200, total)
8685

86+
filter = (
87+
Filters.RECENT
88+
if self.get_chat_members_count(chat_id) <= 10000 and filter == Filters.ALL
89+
else filter
90+
)
91+
8792
if filter not in QUERYABLE_FILTERS:
8893
queries = [""]
8994

0 commit comments

Comments
 (0)