Исходный код maxo.bot.methods.chats.set_admins

from maxo.bot.methods.base import MaxoMethod
from maxo.bot.methods.markers import Body, Path
from maxo.omit import Omittable, Omitted
from maxo.types.chat_admin import ChatAdmin
from maxo.types.simple_query_result import SimpleQueryResult


[документация] class SetAdmins(MaxoMethod[SimpleQueryResult]): """ Назначить администратора группового чата или канала Выдаёт пользователям и ботам, которые являются участниками чата или подписчикам канала, права администратора Бот, чей токен `access_token` используется для авторизации, должен быть администратором этого чата или канала с соответствующим правом `add_admins`. Чтобы получить информацию о правах бота, используйте [GET /chats/-chatId-/members/admins](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/admins) Права, которые можно назначить, зависят от того, где (канал или чат) и кому (пользователь или бот) выданы Список прав передаётся в теле запроса в массиве `admins.permissions`. Если вы хотите изменить назначенные права, вызовите повторно текущий метод: в теле запроса передайте обновлённый список прав. При повторном вызове логика работы метода соответствует `PUT`: права администратора будут обновлены полностью в соответствии с переданными в запросе Пример запроса: ```bash curl -X POST "https://platform-api.max.ru/chats/{chatId}/members/admins" \ -H "Authorization: {access_token}" \ -H "Content-Type: application/json" \ -d '{ "admins": [ { "user_id": "{user_id}", "permissions": [ "read_all_messages", "add_remove_members", "add_admins", "change_chat_info", "pin_message", "write" ], "alias": "администраторам" } ] }' ``` ## Доступные права администратора - `read_all_messages` - читать все сообщения в канале или групповом чате. Право можно назначить пользователям и ботам. Без этого права не получится управлять сообщениями: закреплять (`pin_message`), редактировать и удалять посты в каналах (`edit` и `delete`) и групповых чатах (`write`). Также это право важно при назначении ботов: без него тот не будет получать обновления через [Webhook](https://dev.max.ru/docs-api/methods/POST/subscriptions). Управление `read_all_messages` в интерфейсе мессенджера доступно только для ботов в групповых чатах - `edit` - редактировать посты в каналах (для групповых чатов недоступно). Право можно назначить пользователям и ботам, только если уже есть право `read_all_messages` или вместе с ним - иначе вернётся ошибка. Ранее вместо `edit` в API использовалось `edit_message` - в ответе могут возвращаться оба значения, однако при назначении новых прав администраторов используйте `edit`. Управление `edit` также дублируется в интерфейсе мессенджера - `delete` - удалять посты (для групповых чатов недоступно). Право можно назначить пользователям и ботам, только если уже есть право `read_all_messages` или вместе с ним - иначе вернётся ошибка. Ранее вместо `delete` в API использовалось `delete_message` - в ответе могут возвращаться оба значения, однако при назначении новых прав администраторов используйте `delete`. Управление `delete` также дублируется в интерфейсе мессенджера - `write` - редактировать и удалять сообщения в групповых чатах, а также писать посты в каналах. Право можно назначить пользователям и ботам, только если уже есть право `read_all_messages` или вместе с ним - иначе вернётся ошибка. Ранее вместо `write` в API использовалось `post_edit_delete_message` - в ответе могут возвращаться оба значения, однако при назначении новых прав администраторам используйте `write`. Управление `write` также дублируется в интерфейсе мессенджера - `pin_message` - закреплять сообщение. Право можно назначить пользователям и ботам, только если уже есть право `read_all_messages` или вместе с ним - иначе вернётся ошибка - `change_chat_info` - изменять информацию о канале или групповом чате. Право доступно для пользователей и ботов - `add_remove_members` - добавлять и удалять участников группового чата или подписчиков канала. Право доступно для пользователей и ботов. Управление `add_remove_members` также дублируется в интерфейсе мессенджера - `add_admins` - добавлять и удалять администраторов группового чата или канала. Право доступно для пользователей и ботов. Управление `add_admins` дублируется в интерфейсе мессенджера - `edit_link` - изменять ссылку на групповой чат (для каналов недоступно). Право есть для пользователей и ботов. Управление `edit_link` также дублируется в интерфейсе мессенджера - `can_call` - звонить в групповом чате (для каналов недоступно). Право есть у пользователей и ботов - проставляется автоматически при назначении администратором. Управление `can_call` в интерфейсе мессенджера не дублируется - `view_stats` - видеть количество просмотров постов в каналах (для групповых чатов недоступно). Право есть только у пользователей - боты не могут посмотреть статистику. Управление `view_stats` в интерфейсе мессенджера не дублируется Args: admins: Список пользователей и ботов, которые получат права администратора группового чата или канала chat_id: ID группового чата или канала marker: Указатель на следующую страницу данных Источник: https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members/admins """ __url__ = "chats/{chat_id}/members/admins" __method__ = "post" chat_id: Path[int] """ID группового чата или канала""" admins: Body[list[ChatAdmin]] """Список пользователей и ботов, которые получат права администратора группового чата или канала""" marker: Body[Omittable[int | None]] = Omitted() """Указатель на следующую страницу данных"""