From 4e909508e5b9282c22dd7d1cef710edb696becae Mon Sep 17 00:00:00 2001 From: wulan17 Date: Thu, 21 Nov 2024 22:36:35 +0700 Subject: [PATCH] pyrofork: Add thread_id parameter to search_messages and search_messages_count methods Signed-off-by: wulan17 --- pyrogram/methods/messages/search_messages.py | 15 +++++++++++---- .../methods/messages/search_messages_count.py | 9 +++++++-- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/pyrogram/methods/messages/search_messages.py b/pyrogram/methods/messages/search_messages.py index effce1c2..57fbdb67 100644 --- a/pyrogram/methods/messages/search_messages.py +++ b/pyrogram/methods/messages/search_messages.py @@ -31,7 +31,8 @@ async def get_chunk( filter: "enums.MessagesFilter" = enums.MessagesFilter.EMPTY, offset: int = 0, limit: int = 100, - from_user: Union[int, str] = None + from_user: Union[int, str] = None, + thread_id: int = None ) -> List["types.Message"]: r = await client.invoke( raw.functions.messages.Search( @@ -50,7 +51,8 @@ async def get_chunk( if from_user else None ), - hash=0 + hash=0, + thread_id=thread_id ), sleep_threshold=60 ) @@ -67,7 +69,8 @@ class SearchMessages: offset: int = 0, filter: "enums.MessagesFilter" = enums.MessagesFilter.EMPTY, limit: int = 0, - from_user: Union[int, str] = None + from_user: Union[int, str] = None, + thread_id: int = None ) -> Optional[AsyncGenerator["types.Message", None]]: """Search for text and media messages inside a specific chat. @@ -103,6 +106,9 @@ class SearchMessages: from_user (``int`` | ``str``, *optional*): Unique identifier (int) or username (str) of the target user you want to search for messages from. + thread_id (``int``, *optional*): + Unique identifier of the thread (Message.message_thread_id or Message.reply_top_message_id) to search in. + Returns: ``Generator``: A generator yielding :obj:`~pyrogram.types.Message` objects. @@ -136,7 +142,8 @@ class SearchMessages: filter=filter, offset=offset, limit=limit, - from_user=from_user + from_user=from_user, + thread_id=thread_id ) if not messages: diff --git a/pyrogram/methods/messages/search_messages_count.py b/pyrogram/methods/messages/search_messages_count.py index d9f8a902..fb2a2a92 100644 --- a/pyrogram/methods/messages/search_messages_count.py +++ b/pyrogram/methods/messages/search_messages_count.py @@ -29,7 +29,8 @@ class SearchMessagesCount: chat_id: Union[int, str], query: str = "", filter: "enums.MessagesFilter" = enums.MessagesFilter.EMPTY, - from_user: Union[int, str] = None + from_user: Union[int, str] = None, + thread_id: int = None ) -> int: """Get the count of messages resulting from a search inside a chat. @@ -56,6 +57,9 @@ class SearchMessagesCount: from_user (``int`` | ``str``, *optional*): Unique identifier (int) or username (str) of the target user you want to search for messages from. + thread_id (``int``, *optional*): + Unique identifier of the thread (Message.message_thread_id or Message.reply_top_message_id) to search in. + Returns: ``int``: On success, the messages count is returned. """ @@ -76,7 +80,8 @@ class SearchMessagesCount: if from_user else None ), - hash=0 + hash=0, + top_msg_id=thread_id ) )