Skip to content

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

License

Notifications You must be signed in to change notification settings

MaxApiTeam/PyMax

Repository files navigation

PyMax

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

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

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

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

import asyncio

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

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


# Обработка входящих сообщений
@client.on_message(filter=Filter(text=["!hello"]))
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())

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

Click (WIP)

Лицензия

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

Новости

Telegram

Star History

Star History Chart

Авторы

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

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

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Contributors 7

Languages