API Reference¶
MaxClient¶
pymax.MaxClient(phone: str, uri: str = Constants.WEBSOCKET_URI.value, work_dir: str = '.', logger: logging.Logger | None = None)
¶
Bases: ApiMixin
, WebSocketMixin
Основной клиент для работы с WebSocket API сервиса Max.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
phone
|
str
|
Номер телефона для авторизации. |
required |
uri
|
str
|
URI WebSocket сервера. По умолчанию Constants.WEBSOCKET_URI.value. |
WEBSOCKET_URI.value
|
work_dir
|
str
|
Рабочая директория для хранения базы данных. По умолчанию ".". |
'.'
|
logger
|
Logger | None
|
Пользовательский логгер. Если не передан — используется логгер модуля с именем f"{name}.MaxClient". |
None
|
Raises:
Type | Description |
---|---|
InvalidPhoneError
|
Если формат номера телефона неверный. |
Source code in src\pymax\core.py
Functions¶
start() -> None
async
¶
Запускает клиент, подключается к WebSocket, авторизует пользователя (если нужно) и запускает фоновый цикл.
Source code in src\pymax\core.py
Типы данных¶
Message¶
pymax.Message(sender: int | None, elements: list[Element] | None, reaction_info: dict[str, Any] | None, options: int | None, id: int, time: int, text: str, status: MessageStatus | str | None, type: MessageType | str, attaches: list[Any])
¶
Source code in src\pymax\types.py
User¶
pymax.User(account_status: int, update_time: int, id: int, names: list[Names], options: list[str] | None = None, base_url: str | None = None, base_raw_url: str | None = None, photo_id: int | None = None, description: str | None = None, gender: int | None = None, link: str | None = None, web_app: str | None = None, menu_button: dict[str, Any] | None = None)
¶
Source code in src\pymax\types.py
Chat¶
pymax.Chat(participants_count: int, access: AccessType | str, invited_by: int | None, link: str | None, chat_type: ChatType | str, title: str | None, last_fire_delayed_error_time: int, last_delayed_update_time: int, options: dict[str, bool], base_raw_icon_url: str | None, base_icon_url: str | None, description: str | None, modified: int, id_: int, admin_participants: dict[int, dict[Any, Any]], participants: dict[int, int], owner: int, join_time: int, created: int, last_message: Message | None, prev_message_id: str | None, last_event_time: int, messages_count: int, admins: list[int], restrictions: int | None, status: str, cid: int)
¶
Source code in src\pymax\types.py
Dialog¶
pymax.Dialog(cid: int | None, owner: int, has_bots: bool | None, join_time: int, created: int, last_message: Message | None, type: ChatType | str, last_fire_delayed_error_time: int, last_delayed_update_time: int, prev_message_id: str | None, options: dict[str, bool], modified: int, last_event_time: int, id: int, status: str, participants: dict[str, int])
¶
Source code in src\pymax\types.py
Channel¶
pymax.Channel(participants_count: int, access: AccessType | str, invited_by: int | None, link: str | None, chat_type: ChatType | str, title: str | None, last_fire_delayed_error_time: int, last_delayed_update_time: int, options: dict[str, bool], base_raw_icon_url: str | None, base_icon_url: str | None, description: str | None, modified: int, id_: int, admin_participants: dict[int, dict[Any, Any]], participants: dict[int, int], owner: int, join_time: int, created: int, last_message: Message | None, prev_message_id: str | None, last_event_time: int, messages_count: int, admins: list[int], restrictions: int | None, status: str, cid: int)
¶
Bases: Chat
Source code in src\pymax\types.py
Element¶
pymax.Element(type: ElementType | str, length: int, from_: int | None = None)
¶
Names¶
pymax.Names(name: str, first_name: str, last_name: str | None, type: str)
¶
Me¶
pymax.Me(id: int, account_status: int, phone: str, names: list[Names], update_time: int, options: list[str] | None = None)
¶
Source code in src\pymax\types.py
Исключения¶
InvalidPhoneError¶
pymax.InvalidPhoneError(phone: str)
¶
Bases: Exception
Исключение, вызываемое при неверном формате номера телефона.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
phone
|
str
|
Некорректный номер телефона. |
required |
Source code in src\pymax\exceptions.py
WebSocketNotConnectedError¶
pymax.WebSocketNotConnectedError()
¶
Константы¶
MessageType¶
pymax.MessageType
¶
Bases: str
, Enum
MessageStatus¶
pymax.MessageStatus
¶
Bases: str
, Enum
ChatType¶
pymax.ChatType
¶
Bases: str
, Enum
AuthType¶
pymax.AuthType
¶
Bases: str
, Enum
AccessType¶
pymax.AccessType
¶
Bases: str
, Enum
DeviceType¶
pymax.DeviceType
¶
Bases: str
, Enum
ElementType¶
pymax.ElementType
¶
Bases: str
, Enum
Opcode¶
pymax.Opcode
¶
Bases: IntEnum
Интерфейсы¶
ClientProtocol¶
pymax.ClientProtocol(logger: Logger)
¶
Bases: ABC