Bot API 5.0 pinning-unpinning logic update

+ add unpin_all_chat_messages() (former unpin_chat_message())
* update unpin_chat_message() (add message_id arg)
This commit is contained in:
Alexander 2020-11-29 14:47:53 +03:00
parent 438cfe4dbd
commit 0a2216a22b
2 changed files with 26 additions and 4 deletions

View File

@ -1239,16 +1239,28 @@ class TeleBot:
"""
return apihelper.pin_chat_message(self.token, chat_id, message_id, disable_notification)
def unpin_chat_message(self, chat_id):
def unpin_chat_message(self, chat_id, message_id):
"""
Use this method to unpin a message in a supergroup chat.
Use this method to unpin specific pinned message in a supergroup chat.
The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
Returns True on success.
:param chat_id: Int or Str: Unique identifier for the target chat or username of the target channel
(in the format @channelusername)
:param message_id: Int: Identifier of a message to unpin
:return:
"""
return apihelper.unpin_chat_message(self.token, chat_id)
def unpin_all_chat_messages(self, chat_id):
"""
Use this method to unpin a all pinned messages in a supergroup chat.
The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
Returns True on success.
:param chat_id: Int or Str: Unique identifier for the target chat or username of the target channel
(in the format @channelusername)
:return:
"""
return apihelper.unpin_chat_message(self.token, chat_id)
return apihelper.unpin_all_chat_messages(self.token, chat_id, message_id)
def edit_message_text(self, text, chat_id=None, message_id=None, inline_message_id=None, parse_mode=None,
disable_web_page_preview=None, reply_markup=None):
@ -2317,6 +2329,10 @@ class AsyncTeleBot(TeleBot):
def unpin_chat_message(self, *args):
return TeleBot.unpin_chat_message(self, *args)
@util.async_dec()
def unpin_all_chat_messages(self, *args):
return TeleBot.unpin_all_chat_messages(self, *args)
@util.async_dec()
def edit_message_text(self, *args, **kwargs):
return TeleBot.edit_message_text(self, *args, **kwargs)

View File

@ -830,8 +830,14 @@ def pin_chat_message(token, chat_id, message_id, disable_notification=None):
return _make_request(token, method_url, params=payload, method='post')
def unpin_chat_message(token, chat_id):
def unpin_chat_message(token, chat_id, message_id):
method_url = 'unpinChatMessage'
payload = {'chat_id': chat_id, 'message_id': message_id}
return _make_request(token, method_url, params=payload, method='post')
def unpin_all_chat_messages(token, chat_id):
method_url = 'unpinAllChatMessages'
payload = {'chat_id': chat_id}
return _make_request(token, method_url, params=payload, method='post')