MAX API

Python-библиотека для работы с мессенджером MAX (ex-TamTam / OK Messenger). Поддерживает отправку сообщений, фото, работу с чатами и real-time события.

25+API-методов
Push ✅real-time события
Python 3.10+asyncio

Что это такое?

MAX API — неофициальная Python-библиотека для мессенджера MAX. Общается с сервером api.oneme.ru:443 по бинарному протоколу (заголовок 10 байт + MessagePack-payload, опционально LZ4).

Есть класс MaxClient, методы-корутины, сессия в JSON, context manager.

ℹ️
Все сетевые методы — async/await. Требуется Python 3.10+ и зависимости msgpack, aiohttp, lz4.

Разделы документации

Быстрый старт
Установка, первое подключение, отправка сообщения
🔑
Авторизация
SMS, QR, токен, регистрация
💬
Чаты
Список, история, участники, создание
✉️
Сообщения
Отправка, редактирование, удаление, реакции
👥
Контакты
Поиск, список, блокировка
🔢
Таблица OpCode
100+ wire-кодов операций

Структура пакета

# Бинарный пакет MAX (10-байтный заголовок)
┌──────────┬──────────┬──────────┬──────────┬──────────────────────────────┐
│ ver (1b) │ cmd (1b) │ seq (2b) │ op  (2b) │ length (4b) │ payload ...  │
└──────────┴──────────┴──────────┴──────────┴──────────────────────────────┘
# payload = msgpack({...})  или  lz4_compress(msgpack({...}))  если >= 32 байт

Быстрый пример

import asyncio
from maxapi import MaxClient

async def main():
    async with MaxClient("my_session") as client:
        # Первый вход — по SMS
        await client.send_code("+79999999999")
        await client.sign_in(input("Код из SMS: "))

        # Профиль и чаты
        me    = client.me             # dict из LOGIN-кэша
        chats = client.cached_chats   # list чатов из LOGIN-кэша

        # Отправить сообщение
        result = await client.send_message(chat_id=34540359, text="Привет!")
        msg = result["message"]
        print(msg.get("msgId") or msg.get("id"))  # ID отправленного сообщения

asyncio.run(main())
ℹ️
Высокоуровневые методы MAX API часто возвращают сырой ответ сервера. Проверяйте не только ожидаемые поля, но и наличие error в ответе.

Зависимости

ПакетВерсияНазначение
msgpack≥1.0Сериализация пакетов
aiohttp≥3.9HTTP-запросы к OK API
lz4≥4.0Сжатие больших пакетов