pyrofork: Add thread_id parameter to search_messages and search_messages_count methods

Signed-off-by: wulan17 <wulan17@nusantararom.org>
This commit is contained in:
wulan17 2024-11-21 22:36:35 +07:00
parent 4ced5fbd8b
commit 4e909508e5
No known key found for this signature in database
GPG key ID: 318CD6CD3A6AC0A5
2 changed files with 18 additions and 6 deletions

View file

@ -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:

View file

@ -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
)
)