From 2ce9f506ea4a5c37522b08362716e9caefb7d018 Mon Sep 17 00:00:00 2001 From: Marco Aceti Date: Sun, 7 May 2017 18:58:19 +0200 Subject: [PATCH] Add message.delete() and chat.delete_message() --- botogram/objects/mixins.py | 19 +++++++++++++++++++ docs/api/telegram.rst | 18 ++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/botogram/objects/mixins.py b/botogram/objects/mixins.py index b2826cb..0c4b472 100644 --- a/botogram/objects/mixins.py +++ b/botogram/objects/mixins.py @@ -184,6 +184,17 @@ def send_contact(self, phone, first_name, last_name=None, *, reply_to=None, return self._api.call("sendContact", args, expect=_objects().Message) + @_require_api + def delete_message(self, message): + """Delete a message from chat""" + if hasattr(message, "message_id"): + message = message.message_id + + return self._api.call("deleteMessage", { + "chat_id": self.id, + "message_id": message, + }) + class MessageMixin: """Add some methods for messages""" @@ -284,6 +295,14 @@ def reply_with_contact(self, *args, **kwargs): """Reply with a contact to the current message""" return self.chat.send_contact(*args, reply_to=self, **kwargs) + @_require_api + def delete(self): + """Delete the message""" + return self._api.call("deleteMessage", { + "chat_id": self.chat.id, + "message_id": self.message_id, + }) + class FileMixin: """Add some methods for files""" diff --git a/docs/api/telegram.rst b/docs/api/telegram.rst index 88c2acc..51c4b69 100644 --- a/docs/api/telegram.rst +++ b/docs/api/telegram.rst @@ -372,6 +372,16 @@ about its business. .. versionadded:: 0.3 + .. py:method:: delete_message(message) + + Delete the message with the provided ID or :py:class:`~botogram.Message` object. + A message can be deleted only if is sent by the bot or sent in a supergroup by an user where the bot is admin. + It can also be deleted if it's one of the supported service messages. + + :param message: The message to delete (can be an ID too) + + .. versionadded:: 0.4 + .. py:class:: botogram.Chat This class represents a Telegram chat. @@ -1274,6 +1284,14 @@ about its business. .. versionadded:: 0.3 + .. py:method:: delete() + + Delete this message. + A message can be deleted only if is sent by the bot or sent in a supergroup by an user where the bot is admin. + It can also be deleted if it's one of the supported service messages. + + .. versionadded:: 0.4 + .. py:method:: edit_caption(caption, [extra=None]) With this method you can edit the caption of the media attached to a