delete_messages()

Client.delete_messages()

Delete messages, including service messages.

Usable by Users Bots

Note

  • For BOTS Only: A message can only be deleted if it was sent less than 48 hours ago.

  • Service messages about a supergroup, channel, or forum topic creation can’t be deleted.

  • A dice message in a private chat can only be deleted if it was sent more than 24 hours ago.

  • Client can delete outgoing messages in private chats, groups, and supergroups.

  • Client can delete incoming messages in private chats.

  • Client granted can_post_messages permissions can delete outgoing messages in channels.

  • If the Client is an administrator of a group, it can delete any message there.

  • If the Client has can_delete_messages permission in a supergroup or a channel, it can delete any message there.

Parameters:
  • chat_id (int | str) – 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) – An iterable of message identifiers to delete (integers) or a single message id.

  • revoke (bool, optional) – Deletes messages on both parts. This is only for private cloud chats and normal groups, messages on channels and supergroups are always revoked (i.e.: deleted for everyone). Defaults to True.

  • is_scheduled (bool, optional) – If True, the message will be deleted from the scheduled messages. For userbots only.

Returns:

int – Amount of affected messages

Example

# Delete one message
await app.delete_messages(chat_id, message_id)

# Delete multiple messages at once
await app.delete_messages(chat_id, list_of_message_ids)

# Delete messages only on your side (without revoking)
await app.delete_messages(chat_id, message_id, revoke=False)

# Delete scheduled messages
await app.delete_messages(chat_id, message_id, is_scheduled=True)