diff --git a/aiogram/bot/api.py b/aiogram/bot/api.py index 6f3dc951..5b760d07 100644 --- a/aiogram/bot/api.py +++ b/aiogram/bot/api.py @@ -207,6 +207,7 @@ class Methods(Helper): DELETE_CHAT_STICKER_SET = Item() # deleteChatStickerSet ANSWER_CALLBACK_QUERY = Item() # answerCallbackQuery SET_MY_COMMANDS = Item() # setMyCommands + GET_MY_COMMANDS = Item() # getMyCommands # Updating messages EDIT_MESSAGE_TEXT = Item() # editMessageText diff --git a/aiogram/bot/bot.py b/aiogram/bot/bot.py index 1b1e8615..e8de768d 100644 --- a/aiogram/bot/bot.py +++ b/aiogram/bot/bot.py @@ -1530,7 +1530,7 @@ class Bot(BaseBot, DataMixin, ContextInstanceMixin): At most 100 commands can be specified. :type commands: :obj: `typing.List[types.BotCommand]` :return: Returns True on success. - :rtype: base.Boolean + :rtype: :obj:`base.Boolean` """ commands = prepare_arg(commands) payload = generate_payload(**locals()) @@ -1538,6 +1538,19 @@ class Bot(BaseBot, DataMixin, ContextInstanceMixin): result = await self.request(api.Methods.SET_MY_COMMANDS, payload) return result + async def get_my_commands(self) -> typing.List[types.BotCommand]: + """ + Use this method to get the current list of the bot's commands. + + Source: https://core.telegram.org/bots/api#getmycommands + :return: Returns Array of BotCommand on success. + :rtype: :obj:`typing.List[types.BotCommand]` + """ + payload = generate_payload(**locals()) + + result = await self.request(api.Methods.GET_MY_COMMANDS, payload) + return result + async def edit_message_text(self, text: base.String, chat_id: typing.Union[base.Integer, base.String, None] = None, message_id: typing.Union[base.Integer, None] = None,