get_messages()

Client.get_messages()

Get one or more messages from a chat by using message identifiers or link.

You can retrieve up to 200 messages at once.

Usable by Users Bots
Parameters:
  • chat_id (int | str, optional) – Unique identifier (int) or username (str) of the target chat. For your personal cloud (Saved Messages) you can simply use “me” or “self”. For a contact that exists in your Telegram address book you can use his phone number (str).

  • message_ids (int | Iterable of int | str, optional) – Pass a single message identifier or an iterable of message ids (as integers) or link to get the content of the message themselves or previous message you replied to using this message.

  • reply (bool, optional) – If True, you will get the content of the previous message you replied to using this message.

  • pinned (bool, optional) – If True, you will get last pinned message.

  • replies (int, optional) – The number of subsequent replies to get for each message. Pass 0 for no reply at all or -1 for unlimited replies. Defaults to 1.

Returns:

Message | List of Message – In case message_ids was not a list, a single message is returned, otherwise a list of messages is returned.

Example

# Get one message
await app.get_messages(chat_id=chat_id, message_ids=12345)

# Get more than one message (list of messages)
await app.get_messages(chat_id=chat_id, message_ids=[12345, 12346])

# Get message by ignoring any replied-to message
await app.get_messages(chat_id=chat_id, message_ids=message_id, replies=0)

# Get message with all chained replied-to messages
await app.get_messages(chat_id=chat_id, message_ids=message_id, replies=-1)

# Get the replied-to message of a message
await app.get_messages(chat_id=chat_id, message_ids=message_id, reply=True)

# Get pinned message
await app.get_messages(chat_id=chat_id, pinned=True)

# Get message from link
await app.get_messages(message_ids="https://t.me/pyrogram/49")
Raises:

ValueError – In case of invalid arguments.