Skip to content

Repository files navigation

PyMax

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

Python 3.11+License: MITRuffPackaging

Описание

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):

frompymaximportSocketMaxClientfrompymax.payloadsimportUserAgentPayloadua=UserAgentPayload(device_type="DESKTOP", app_version="25.12.13")
client=SocketMaxClient(
phone="+79111111111",
work_dir="cache",
headers=ua,
)

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

frompymaximportMaxClientfrompymax.payloadsimportUserAgentPayloadua=UserAgentPayload(device_type="WEB", app_version="25.12.13")
client=MaxClient(
phone="+7911111111",
work_dir="cache",
headers=ua,
)

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

importasynciofrompymaximportMaxClient, Messagefrompymax.filtersimportFiltersclient=MaxClient(
phone="+1234567890",
work_dir="cache", # директория для сессий
)
# Обработка входящих сообщений@client.on_message(Filters.chat(0)) # фильтр по ID чатаasyncdefon_message(msg: Message) ->None:
print(f"[{msg.sender}] {msg.text}")
awaitclient.send_message(
chat_id=msg.chat_id,
text="Привет, я бот на PyMax!",
)
awaitclient.add_reaction(
chat_id=msg.chat_id,
message_id=str(msg.id),
reaction="👍",
)
@client.on_startasyncdefon_start() ->None:
print(f"Клиент запущен. Ваш ID: {client.me.id}")
# Получение историиhistory=awaitclient.fetch_history(chat_id=0)
print("Последние сообщения из чата 0:")
forminhistory:
print(f"- {m.text}")
asyncdefmain():
awaitclient.start() # подключение и авторизацияif__name__=="__main__":
asyncio.run(main())

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

GitHub PagesDeepWiki

Лицензия

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

Star History

Star History Chart

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

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

About

Асинхронный Python-враппер для работы с внутренним API MAX Manager (Userbot). Упрощает автоматизацию и интеграцию.

Resources

Stars

61 stars

Watchers

51 watching

Forks

Releases

Packages

Contributors

Languages