Перейти к содержанию

SetCommands

Метод изменения списка команд бота (PATCH /me/commands).

SetCommands(bot, commands=None)

Bases: BaseConnection

Класс для добавления, изменения и удаления команд бота.

https://dev.max.ru/docs-api/methods/PATCH/me/commands

Attributes:

Name Type Description
bot

Экземпляр бота для выполнения запроса.

commands

Команды, которые поддерживает бот (до 32 элементов). Пустой список удаляет все команды бота, None оставляет их без изменений.

Source code in maxapi/methods/set_commands.py
def __init__(
    self,
    bot: "Bot",
    commands: "list[BotCommand] | None" = None,
):
    if commands is not None and len(commands) > 32:
        raise ValueError("commands не может содержать больше 32 элементов")

    super().__init__()
    self.bot = bot
    self.commands = commands

fetch() async

Отправляет запрос на изменение списка команд бота.

Returns:

Name Type Description
SettedCommands SettedCommands

Актуальный список команд бота

Source code in maxapi/methods/set_commands.py
async def fetch(self) -> SettedCommands:
    """
    Отправляет запрос на изменение списка команд бота.

    Returns:
        SettedCommands: Актуальный список команд бота
    """

    bot = self._ensure_bot()

    json: dict[str, Any] = {}

    if self.commands is not None:
        json["commands"] = [
            command.model_dump(exclude_none=True)
            for command in self.commands
        ]

    response = await super().request(
        method=HTTPMethod.PATCH,
        path=ApiPath.ME.value + ApiPath.COMMANDS,
        model=SettedCommands,
        params=bot.params,
        json=json,
    )

    return cast(SettedCommands, response)