search_messages()
- Client.search_messages()
Search for text and media messages inside a specific chat.
This function performs parallel searches for faster retrieval.
- Parameters:
chat_id (
int
|str
) – Unique identifier (int) or username (str) of the target chat.query (
str
, optional) – Text query string. Defaults to “”.offset (
int
, optional) – Sequential number of the first message to be returned. Defaults to 0.filter (
MessagesFilter
, optional) – Pass a filter in order to search for specific kind of messages only. Defaults to any message (no filter).limit (
int
, optional) – Limits the number of messages to be retrieved. By default, no limit is applied and all messages are returned.from_user (
int
|str
, optional) – Unique identifier (int) or username (str) of the target user you want to search for messages from.
- Returns:
Generator
– A generator yieldingMessage
objects.
Example
from pyrogram import enums # Search for text messages in chat. Get the last 120 results async for message in app.search_messages(chat_id, query="hello", limit=120): print(message.text) # Search for pinned messages in chat async for message in app.search_messages(chat_id, filter=enums.MessagesFilter.PINNED): print(message.text) # Search for messages containing "hello" sent by yourself in chat async for message in app.search_messages(chat, "hello", from_user="me"): print(message.text)