Repository: python-telegram-bot/python-telegram-bot

Issue:
May 18 changes
### Payment:
- [x] New updates: shipping_query and pre_checkout_query
- [x] New message content fields: invoice and successful_payment
- [x] New bot methods: sendInvoice, answerShippingQuery, and answerPreCheckoutQuery
- [x] New button type: pay (new boolean argument for InlineKeyBoardButton)

### Weird rounded video messages
- [x] New bot method: sendVideoNote
- [x] New Message field: video_note
- [x] New ChatActions: record_video_note or upload_video_note
- [x] VideoNote class

### i18n
- [x] New User field: language_code
Note that the documentation uses "may" wording here... we should do some research as to when.

### Admin power???
- [x] Remove warning from delete_message

### Minor stuff
- [x] Rename new_chat_member to new_chat_member**s**
- [x] New fields gif_duration (InlineQueryResultGif) and mpeg4_duration (InlineQueryResultMpeg4Gif)


Discussion:
In Minor stuff `new_chat_members` is an array of `User` and not a single one

Resolving patch:
diff --git a/telegram/bot.py b/telegram/bot.py
--- a/telegram/bot.py
+++ b/telegram/bot.py
@@ -244,7 +244,13 @@ def send_message(self,
     @log
     @message
     def delete_message(self, chat_id, message_id):
-        """Use this method to delete messages which were sent not later than 48 hours ago.
+        """Use this method to delete a message. A message can only be deleted if it was sent less
+        than 48 hours ago. Any such recently sent outgoing message may be deleted. Additionally,
+        if the bot is an administrator in a group chat, it can delete any message. If the bot is
+        an administrator in a supergroup, it can delete messages from any other user and service
+        messages about people joining or leaving the group (other types of service messages may
+        only be removed by the group creator). In channels, bots can only remove their own
+        messages.
 
         Args:
             chat_id (int|str): Unique identifier for the target chat or
@@ -252,10 +258,6 @@ def delete_message(self, chat_id, message_id):
                 @channelusername).
             message_id (int): Unique message identifier.
 
-        Note:
-            This method is not documented, so it's not guaranteed to work. Also, its behaviour can
-            be changed at any time.
-
         Returns:
             bool: On success, `True` is returned.
 
diff --git a/telegram/message.py b/telegram/message.py
--- a/telegram/message.py
+++ b/telegram/message.py
@@ -550,10 +550,6 @@ def delete(self, *args, **kwargs):
             ...                   message_id=message.message_id,
             ...                   *args, **kwargs)
 
-        Note:
-            This method is not documented, so it's not guaranteed to work. Also, its behaviour can
-            be changed at any time.
-
         Returns:
             bool: On success, `True` is returned.
 


Test patch:
diff --git a/tests/test_bot.py b/tests/test_bot.py
--- a/tests/test_bot.py
+++ b/tests/test_bot.py
@@ -96,8 +96,6 @@ def test_deleteMessage(self):
     @timeout(10)
     def test_deleteMessage_old_message(self):
         with self.assertRaisesRegexp(telegram.TelegramError, "can't be deleted"):
-            # NOTE: This behaviour can be changed in future because `deleteMessage` method is not
-            # documented in Bot API reference now.
             # Considering that the first message is old enough
             self._bot.delete_message(chat_id=self._chat_id, message_id=1)
 
diff --git a/tests/test_message.py b/tests/test_message.py
--- a/tests/test_message.py
+++ b/tests/test_message.py
@@ -152,7 +152,6 @@ def test_delete2(self):
             reply_to_message_id=1)
 
         with self.assertRaisesRegexp(telegram.TelegramError, "can't be deleted"):
-            # NOTE: This behaviour can be changed in future. See `tests/test_bot.py` for more info
             message.reply_to_message.delete()
 
     def test_equality(self):