From 22c0abee06bbe4f8df86f0195cf8d26f979231d3 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Mon, 8 Feb 2021 22:56:27 +0100 Subject: [PATCH] Fix messages.search accidentally being used over getHistory Introduced by 668dcd52ca4e2befcc456e19e4e3ee4d6d6f9df3 (this commit did change a lot more than it should have); the condition for search was never updated to account for the non-None value. Closes #1693. --- telethon/client/messages.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/telethon/client/messages.py b/telethon/client/messages.py index 057b9069..53ae5cb2 100644 --- a/telethon/client/messages.py +++ b/telethon/client/messages.py @@ -70,6 +70,8 @@ class _MessagesIter(RequestIter): if filter is None: filter = types.InputMessagesFilterEmpty() + else: + filter = filter() if isinstance(filter, type) else filter if not self.entity: self.request = functions.messages.SearchGlobalRequest( @@ -94,7 +96,7 @@ class _MessagesIter(RequestIter): min_id=0, hash=0 ) - elif search is not None or filter or from_user: + elif search is not None or not isinstance(filter, types.InputMessagesFilterEmpty) or from_user: # Telegram completely ignores `from_id` in private chats ty = helpers._entity_type(self.entity) if ty == helpers._EntityType.USER: @@ -109,7 +111,7 @@ class _MessagesIter(RequestIter): self.request = functions.messages.SearchRequest( peer=self.entity, q=search or '', - filter=filter() if isinstance(filter, type) else filter, + filter=filter, min_date=None, max_date=offset_date, offset_id=offset_id,