Исходный код maxo.types.chat_member

from datetime import datetime

from maxo.enums.chat_admin_permission import ChatAdminPermission
from maxo.errors import AttributeIsEmptyError
from maxo.omit import Omittable, Omitted, is_defined
from maxo.types.user_with_photo import UserWithPhoto


[документация] class ChatMember(UserWithPhoto): """ Объект включает общую информацию о пользователе или боте, URL аватара и описание (при наличии). Является наследником [схемы UserWithPhoto](https://dev.max.ru/docs-api/objects/UserWithPhoto). Дополнительно к ней содержит данные для пользователей-участников чата или канала. Возвращается только при вызове некоторых методов группы `/chats`, например [`GET /chats/{chatId}/members`](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members) Args: alias: Описание роли, которое будет отображаться на клиентском устройстве в настройках чата или канала рядом с именем пользователя Если пользователь администратор или владелец и ему не установлено это название, то поле не передаётся, клиентское устройство на своей стороне подменит значение на соответствующее: "владелец" или "админ" is_admin: Является ли пользователь администратором группового чата или канала is_owner: Является ли пользователь владельцем группового чата или канала join_time: Дата присоединения к чату в формате Unix time last_access_time: Время последней активности пользователя в чате. Может быть устаревшим для суперчатов (равно времени вступления) permissions: Перечень прав доступа пользователя или бота, если тот является администратором группового чата или канала. Для обычных участников чата или канала поле не возвращается Если право назначается действующему администратору, то его текущие права будут обновлены в соответствии с переданным списком. Ниже приведено краткое описание всех прав - подробнее читайте [в разделе «Доступные права администратора»](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members/admins) **Краткое описание доступных прав администратора**: - `read_all_messages` - читать все сообщения в канале или групповом чате - `edit` - редактировать посты в каналах (для групповых чатов недоступно). Ранее вместо `edit` в API использовалось `edit_message` - в ответе могут возвращаться оба значения, однако при назначении новых прав администраторам используйте `edit` - `delete` - удалять посты (для групповых чатов недоступно). Ранее вместо `delete` в API использовалось `delete_message` - в ответе могут возвращаться оба значения, однако при назначении новых прав администраторам используйте `delete` - `write` - редактировать и удалять сообщения в групповых чатах, а также писать посты в каналах. Ранее вместо `write` в API использовалось `post_edit_delete_message` - в ответе могут возвращаться оба значения, однако при назначении новых прав администраторам используйте `write` - `pin_message` - закреплять сообщение - `change_chat_info` - изменять информацию о канале или групповом чате - `add_remove_members` - добавлять и удалять участников группового чата или подписчиков канала - `add_admins` - добавлять и удалять администраторов группового чата или канала - `edit_link` - изменять ссылку на групповой чат (для каналов недоступно) - `can_call` - звонить в групповом чате (для каналов недоступно) - `view_stats` - видеть количество просмотров постов в каналах (для групповых чатов недоступно). Право есть только у пользователей - боты не могут посмотреть статистику """ is_admin: bool """Является ли пользователь администратором группового чата или канала""" is_owner: bool """Является ли пользователь владельцем группового чата или канала""" join_time: datetime """Дата присоединения к чату в формате Unix time""" last_access_time: datetime """Время последней активности пользователя в чате. Может быть устаревшим для суперчатов (равно времени вступления)""" permissions: list[ChatAdminPermission] | None = None """ Перечень прав доступа пользователя или бота, если тот является администратором группового чата или канала. Для обычных участников чата или канала поле не возвращается Если право назначается действующему администратору, то его текущие права будут обновлены в соответствии с переданным списком. Ниже приведено краткое описание всех прав - подробнее читайте [в разделе «Доступные права администратора»](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members/admins) **Краткое описание доступных прав администратора**: - `read_all_messages` - читать все сообщения в канале или групповом чате - `edit` - редактировать посты в каналах (для групповых чатов недоступно). Ранее вместо `edit` в API использовалось `edit_message` - в ответе могут возвращаться оба значения, однако при назначении новых прав администраторам используйте `edit` - `delete` - удалять посты (для групповых чатов недоступно). Ранее вместо `delete` в API использовалось `delete_message` - в ответе могут возвращаться оба значения, однако при назначении новых прав администраторам используйте `delete` - `write` - редактировать и удалять сообщения в групповых чатах, а также писать посты в каналах. Ранее вместо `write` в API использовалось `post_edit_delete_message` - в ответе могут возвращаться оба значения, однако при назначении новых прав администраторам используйте `write` - `pin_message` - закреплять сообщение - `change_chat_info` - изменять информацию о канале или групповом чате - `add_remove_members` - добавлять и удалять участников группового чата или подписчиков канала - `add_admins` - добавлять и удалять администраторов группового чата или канала - `edit_link` - изменять ссылку на групповой чат (для каналов недоступно) - `can_call` - звонить в групповом чате (для каналов недоступно) - `view_stats` - видеть количество просмотров постов в каналах (для групповых чатов недоступно). Право есть только у пользователей - боты не могут посмотреть статистику """ alias: Omittable[str] = Omitted() """ Описание роли, которое будет отображаться на клиентском устройстве в настройках чата или канала рядом с именем пользователя Если пользователь администратор или владелец и ему не установлено это название, то поле не передаётся, клиентское устройство на своей стороне подменит значение на соответствующее: "владелец" или "админ" """ @property def unsafe_alias(self) -> str: if is_defined(self.alias): return self.alias raise AttributeIsEmptyError( obj=self, attr="alias", ) @property def unsafe_permissions(self) -> list[ChatAdminPermission]: if is_defined(self.permissions): return self.permissions raise AttributeIsEmptyError( obj=self, attr="permissions", )