Telegram Bot How to delete or remove a message or media from a channel or group

There is no such functionality in Telegram Bot API right now.

UPD 2017-05-19: There is an official method deleteMessage, more info: https://core.telegram.org/bots/api#deletemessage

https://stackoverflow.com/a/43965602/1140438


There is an official support of deleteMessage method in Bot API 3.0. More details here: https://core.telegram.org/bots/api#deletemessage

https://api.telegram.org/botTOKEN/deleteMessage?chat_id=CID&message_id=MID

As you can see there are two arguments: chat_id and message_id.

You can remove bot's messages or other messages (if bot is admin) except service messages (such as join/leave messages).

  1. On success, it will return following JSON object: {"ok":true,"result":true}.

  2. If you are trying to remove service message or other user's message, but bot is not an admin: {"ok":false,"error_code":400,"description":"Bad Request: message can't be deleted"}.

  3. If you are trying to remove non-existent message or its already deleted: {"ok":false,"error_code":400,"description":"Bad Request: message to delete not found"}


you can forward message and save message id, and then remove that message. if you can do it, your message exist.

do it:

try:
   mes=bot.forward_message(chat_id=?,from_chat_id=?,message_id=?)
   bot.delete_message(chat_id=?,message_id=mes.id)
except:
   print("your message deleted")