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

ChangeInfo

ChangeInfo(bot, first_name=None, last_name=None, description=None, commands=None, photo=None)

Bases: BaseConnection

Класс для изменения данных текущего бота.

.. deprecated:: 0.9.8 Этот метод отсутствует в официальной swagger-спецификации API MAX. Использование не рекомендуется.

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

Parameters:

Name Type Description Default
first_name str

Имя бота (1–64 символа).

None
last_name str

Второе имя бота (1–64 символа).

None
description str

Описание бота (1–16000 символов).

None
commands list[BotCommand]

Список команд (до 32 элементов).

None
photo PhotoAttachmentRequestPayload

Фото бота.

None
Note

Метод :meth:fetch возвращает объект :class:User с обновленными данными бота.

Source code in maxapi/methods/change_info.py
def __init__(
    self,
    bot: "Bot",
    first_name: Optional[str] = None,
    last_name: Optional[str] = None,
    description: Optional[str] = None,
    commands: Optional[List[BotCommand]] = None,
    photo: Optional[PhotoAttachmentRequestPayload] = None,
):
    warnings.warn(
        "ChangeInfo устарел и отсутствует в официальной swagger-спецификации API MAX. "
        "Использование не рекомендуется.",
        DeprecationWarning,
        stacklevel=2,
    )

    if not any([first_name, last_name, description, commands, photo]):
        raise ValueError(
            "Нужно указать хотя бы один параметр для изменения"
        )

    if first_name is not None and not (1 <= len(first_name) <= 64):
        raise ValueError("first_name должен быть от 1 до 64 символов")

    if last_name is not None and not (1 <= len(last_name) <= 64):
        raise ValueError("last_name должен быть от 1 до 64 символов")

    if description is not None and not (1 <= len(description) <= 16000):
        raise ValueError("description должен быть от 1 до 16000 символов")

    if commands is not None and len(commands) > 32:
        raise ValueError("commands не может содержать больше 32 элементов")

    self.bot = bot
    self.first_name = first_name
    self.last_name = last_name
    self.description = description
    self.commands = commands
    self.photo = photo

fetch() async

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

Returns:

Name Type Description
User User

Объект с обновленными данными бота

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

    Returns:
        User: Объект с обновленными данными бота
    """

    bot = self._ensure_bot()

    json: Dict[str, Any] = {}

    if self.first_name:
        json["first_name"] = self.first_name
    if self.last_name:
        json["last_name"] = self.last_name
    if self.description:
        json["description"] = self.description
    if self.commands:
        json["commands"] = [
            command.model_dump() for command in self.commands
        ]
    if self.photo:
        json["photo"] = self.photo.model_dump()

    response = await super().request(
        method=HTTPMethod.PATCH,
        path=ApiPath.ME,
        model=User,
        params=bot.params,
        json=json,
    )

    return cast(User, response)