Skip to main content

Python wrapper для API мессенджера Max

Project description

PyMax

Python wrapper для API мессенджера Max

[!IMPORTANT] (29.12.2025) Снова неожиданное изменение апи, теперь MaxClient с device_type любым кроме WEB не работает, для вохда по номеру телефона используйте SocketMaxClient

Python 3.11+ License: MIT Ruff Packaging


⚠️ Дисклеймер

  • Это неофициальная библиотека для работы с внутренним API Max.
  • Использование может нарушать условия предоставления услуг сервиса.
  • Вы используете её исключительно на свой страх и риск.
  • Разработчики и контрибьюторы не несут никакой ответственности за любые последствия использования этого пакета, включая, но не ограничиваясь: блокировку аккаунтов, утерю данных, юридические риски и любые другие проблемы.
  • API может быть изменен в любой момент без предупреждения.

Описание

pymax — асинхронная Python библиотека для работы с API мессенджера Max. Предоставляет интерфейс для отправки сообщений, управления чатами, каналами и диалогами через WebSocket соединение.

Основные возможности

  • Вход по номеру телефона
  • Отправка, редактирование и удаление сообщений
  • Работа с чатами и каналами
  • История сообщений

Установка

[!IMPORTANT] Для работы библиотеки требуется Python 3.10 или выше

Установка через pip

pip install -U maxapi-python

Установка через uv

uv add -U maxapi-python

Быстрый старт

Аутентификация (device_type)

[!IMPORTANT] Параметр device_type в UserAgentPayload критически важен для выбора способа авторизации:

Вход по номеру телефона (DESKTOP):

from pymax import SocketMaxClient
from pymax.payloads import UserAgentPayload

ua = UserAgentPayload(device_type="DESKTOP", app_version="25.12.13")

client = SocketMaxClient(
    phone="+79111111111",
    work_dir="cache",
    headers=ua,
)

Вход через QR-код (WEB) — токен совместим с веб-версией Max:

from pymax import MaxClient
from pymax.payloads import UserAgentPayload

ua = UserAgentPayload(device_type="WEB", app_version="25.12.13")

client = MaxClient(
    phone="+7911111111",
    work_dir="cache",
    headers=ua,
)

Базовый пример использования

import asyncio

from pymax import MaxClient, Message
from pymax.filters import Filters

client = MaxClient(
    phone="+1234567890",
    work_dir="cache",  # директория для сессий
)


# Обработка входящих сообщений
@client.on_message(Filters.chat(0))  # фильтр по ID чата
async def on_message(msg: Message) -> None:
    print(f"[{msg.sender}] {msg.text}")

    await client.send_message(
        chat_id=msg.chat_id,
        text="Привет, я бот на PyMax!",
    )

    await client.add_reaction(
        chat_id=msg.chat_id,
        message_id=str(msg.id),
        reaction="👍",
    )


@client.on_start
async def on_start() -> None:
    print(f"Клиент запущен. Ваш ID: {client.me.id}")

    # Получение истории
    history = await client.fetch_history(chat_id=0)
    print("Последние сообщения из чата 0:")
    for m in history:
        print(f"- {m.text}")


async def main():
    await client.start()  # подключение и авторизация


if __name__ == "__main__":
    asyncio.run(main())

Документация

GitHub Pages DeepWiki

Лицензия

Этот проект распространяется под лицензией MIT. См. файл LICENSE для получения информации.

Новости

Telegram

Star History

Star History Chart

Авторы

  • ink — Главный разработчик, исследование API и его документация
  • noxzion — Оригинальный автор проекта

Контрибьюторы

Спасибо всем за помощь в разработке!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

maxapi_python-1.2.4.tar.gz (83.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

maxapi_python-1.2.4-py3-none-any.whl (64.4 kB view details)

Uploaded Python 3

File details

Details for the file maxapi_python-1.2.4.tar.gz.

File metadata

  • Download URL: maxapi_python-1.2.4.tar.gz
  • Upload date:
  • Size: 83.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.20 {"installer":{"name":"uv","version":"0.9.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for maxapi_python-1.2.4.tar.gz
Algorithm Hash digest
SHA256 89f277b586ee26d3d188b97fa9943187a5325b3c36e2e5eb23ba45f964c3d65b
MD5 952eafa7817ed1686d7f56b447f9d6e3
BLAKE2b-256 72682e279cbf23f350e2d07c36fb794401d1f963c8fe9c89c990c6bd86ae9e0c

See more details on using hashes here.

File details

Details for the file maxapi_python-1.2.4-py3-none-any.whl.

File metadata

  • Download URL: maxapi_python-1.2.4-py3-none-any.whl
  • Upload date:
  • Size: 64.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.20 {"installer":{"name":"uv","version":"0.9.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for maxapi_python-1.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 86eaae5cb53a29111d7bc4b0ebcf132cb8bf6cbf52ffc703c4fdbf6e55668753
MD5 92674c7eaf9b49ac963cad0b70783ce3
BLAKE2b-256 9b41f69597bfa310bb018c24f1e4553a55d89a2be4e6d70adf122e9612f2153f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page