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

Chats Module

Icon

Bases: BaseModel

Модель иконки чата.

Attributes:

Name Type Description
url str

URL-адрес иконки.

Chat

Bases: BaseModel

Модель чата.

Attributes:

Name Type Description
chat_id int

Уникальный идентификатор чата.

type ChatType

Тип чата.

status ChatStatus

Статус чата.

title Optional[str]

Название чата.

icon Optional[Icon]

Иконка чата. Может быть None.

last_event_time int

Временная метка последнего события в чате.

participants_count int

Количество участников чата.

owner_id Optional[int]

Идентификатор владельца чата.

participants Optional[Dict[str, datetime]]

Словарь участников с временными метками. Может быть None.

is_public bool

Флаг публичности чата.

link Optional[str]

Ссылка на чат. Может быть None.

description Optional[str]

Описание чата. Может быть None.

dialog_with_user Optional[User]

Пользователь, с которым ведется диалог. Может быть None.

messages_count Optional[int]

Количество сообщений в чате. Может быть None.

chat_message_id Optional[str]

Идентификатор сообщения чата. Может быть None.

pinned_message Optional[Message]

Закрепленное сообщение. Может быть None.

convert_timestamps(value) classmethod

Преобразовать временные метки участников из миллисекунд в объекты datetime.

Parameters:

Name Type Description Default
value Optional[Dict[str, int]]

Словарь с временными метками в миллисекундах. Может быть None, если участников нет.

required

Returns:

Type Description
Optional[Dict[str, Optional[datetime]]]

Optional[Dict[str, Optional[datetime]]]: Словарь с временными метками в формате datetime. Может быть None, если входное значение было None.

Source code in maxapi/types/chats.py
@field_validator("participants", mode="before")
@classmethod
def convert_timestamps(
    cls,
    value: Optional[Dict[str, int]],
) -> Optional[Dict[str, Optional[datetime]]]:
    """
    Преобразовать временные метки участников из миллисекунд
    в объекты datetime.

    Args:
        value (Optional[Dict[str, int]]): Словарь с временными
            метками в миллисекундах. Может быть None, если участников нет.

    Returns:
        Optional[Dict[str, Optional[datetime]]]: Словарь с
            временными метками в формате datetime. Может быть None,
            если входное значение было None.
    """
    if value is None:
        return None

    return {key: from_ms(ts) for key, ts in value.items()}

serialize_participants(value, info)

Serialize participants dict: datetime -> milliseconds

Source code in maxapi/types/chats.py
@field_serializer("participants")
def serialize_participants(
    self, value: Optional[Dict[str, datetime]], info
):
    """Serialize participants dict: datetime -> milliseconds"""
    if value is None:
        return None
    return {key: to_ms(dt) for key, dt in value.items()}

Chats

Bases: BaseModel

Модель списка чатов.

Attributes:

Name Type Description
chats List[Chat]

Список чатов. По умолчанию пустой.

marker Optional[int]

Маркер для пагинации. Может быть None.

ChatMember

Bases: User

Модель участника чата.

Attributes:

Name Type Description
last_access_time Optional[int]

Время последнего доступа. Может быть None.

is_owner Optional[bool]

Флаг владельца чата. Может быть None.

is_admin Optional[bool]

Флаг администратора чата. Может быть None.

join_time Optional[int]

Время присоединения к чату. Может быть None.

permissions Optional[List[ChatPermission]]

Список разрешений участника. Может быть None.

alias Optional[str]

Заголовок, который будет показан на клиент. Может быть None.