Skip to main content

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

Project description

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

# Инициализация клиента
phone = "+1234567890"
client = MaxClient(phone=phone, work_dir="cache")

# Обработчик входящих сообщений
@client.on_message()
async def handle_message(message: Message) -> None:
    print(f"{message.sender}: {message.text}")

# Обработчик запуска клиента
@client.on_start
async def handle_start() -> None:
    print("Клиент запущен")

    # Получение истории сообщений
    history = await client.fetch_history(chat_id=0)
    if history:
        for message in history:
            user = await client.get_user(message.sender)
            if user:
                print(f"{user.names[0].name}: {message.text}")

async def main() -> None:
    await client.start()

    # Работа с чатами
    for chat in client.chats:
        print(f"Чат: {chat.title}")

        # Отправка сообщения
        message = await client.send_message(
            "Привет от PyMax!",
            chat.id,
            notify=True
        )

        # Редактирование сообщения
        await asyncio.sleep(2)
        await client.edit_message(
            chat.id,
            message.id,
            "Привет от PyMax! (отредактировано)"
        )

        # Удаление сообщения
        await asyncio.sleep(2)
        await client.delete_message(chat.id, [message.id], for_me=False)

    # Работа с диалогами
    for dialog in client.dialogs:
        print(f"Диалог: {dialog.last_message.text}")

    # Работа с каналами
    for channel in client.channels:
        print(f"Канал: {channel.title}")

    await client.close()

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

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

WIP

Лицензия

Этот проект распространяется под лицензией 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.1.18.tar.gz (68.4 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.1.18-py3-none-any.whl (51.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: maxapi_python-1.1.18.tar.gz
  • Upload date:
  • Size: 68.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"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.1.18.tar.gz
Algorithm Hash digest
SHA256 a679f076410ec21c65804667df7951e960e4e45aff3631cd450dd468111a6a8a
MD5 90391e6807ce44f7d25acf54f336b5a4
BLAKE2b-256 878b456c059467597fa31a0832c6cbd416a977cda8fa33084d4bef2a8cdfc2f2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: maxapi_python-1.1.18-py3-none-any.whl
  • Upload date:
  • Size: 51.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"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.1.18-py3-none-any.whl
Algorithm Hash digest
SHA256 2e2090354b2d05af8ca53bc51c5d81f5d6fdb1a0dd845069bec81ab11ed37fbc
MD5 73196d499ff0f937ee60d2432c25b6e2
BLAKE2b-256 fce623e1ccf4d92eedc79b8b4540d91d014bc9b37c4ec060685f6e31b209b632

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