diff --git a/aiogram/bot/bot.py b/aiogram/bot/bot.py index 11409fcc..4ea34f8d 100644 --- a/aiogram/bot/bot.py +++ b/aiogram/bot/bot.py @@ -1147,20 +1147,32 @@ class Bot(BaseBot, DataMixin, ContextInstanceMixin): result = await self.request(api.Methods.KICK_CHAT_MEMBER, payload) return result - async def unban_chat_member(self, chat_id: typing.Union[base.Integer, base.String], - user_id: base.Integer) -> base.Boolean: + async def unban_chat_member(self, + chat_id: typing.Union[base.Integer, base.String], + user_id: base.Integer, + only_if_banned: typing.Optional[base.Boolean] = None, + ) -> base.Boolean: """ - Use this method to unban a previously kicked user in a supergroup or channel. ` - The user will not return to the group or channel automatically, but will be able to join via link, etc. - - The bot must be an administrator for this to work. + Use this method to unban a previously kicked user in a supergroup or channel. + The user will not return to the group or channel automatically, but will be + able to join via link, etc. The bot must be an administrator for this to + work. By default, this method guarantees that after the call the user is not + a member of the chat, but will be able to join it. So if the user is a member + of the chat they will also be removed from the chat. If you don't want this, + use the parameter only_if_banned. Returns True on success. Source: https://core.telegram.org/bots/api#unbanchatmember - :param chat_id: Unique identifier for the target group or username of the target supergroup or channel + :param chat_id: Unique identifier for the target group or username of the + target supergroup or channel (in the format @username) :type chat_id: :obj:`typing.Union[base.Integer, base.String]` + :param user_id: Unique identifier of the target user :type user_id: :obj:`base.Integer` + + :param only_if_banned: Do nothing if the user is not banned + :type only_if_banned: :obj:`typing.Optional[base.Boolean]` + :return: Returns True on success :rtype: :obj:`base.Boolean` """