diff --git a/telebot/__init__.py b/telebot/__init__.py index 20fdf45..f151195 100644 --- a/telebot/__init__.py +++ b/telebot/__init__.py @@ -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) diff --git a/telebot/apihelper.py b/telebot/apihelper.py index 3bc6d35..b43d341 100644 --- a/telebot/apihelper.py +++ b/telebot/apihelper.py @@ -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')