1
0
mirror of https://github.com/eternnoir/pyTelegramBotAPI.git synced 2023-08-10 21:12:57 +03:00

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) 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. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
Returns True on success. Returns True on success.
:param chat_id: Int or Str: Unique identifier for the target chat or username of the target channel :param chat_id: Int or Str: Unique identifier for the target chat or username of the target channel
(in the format @channelusername) (in the format @channelusername)
:return: :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, 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): disable_web_page_preview=None, reply_markup=None):
@ -2317,6 +2329,10 @@ class AsyncTeleBot(TeleBot):
def unpin_chat_message(self, *args): def unpin_chat_message(self, *args):
return TeleBot.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() @util.async_dec()
def edit_message_text(self, *args, **kwargs): def edit_message_text(self, *args, **kwargs):
return TeleBot.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') 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' 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} payload = {'chat_id': chat_id}
return _make_request(token, method_url, params=payload, method='post') return _make_request(token, method_url, params=payload, method='post')