Skip to main content

Async Python client for the Max messenger Bot API

Project description

python-max-bot

PyPI Python License: MIT

Async Python client for the Max messenger Bot API.

A thin, stable, Pydantic-modeled wrapper. No bot framework, no FSM, no middleware — just the API surface you need to send messages, upload attachments, and poll for updates.

Install

pip install python-max-bot

Quickstart

import asyncio
from max_bot_api import MaxClient

async def main():
    async with MaxClient(token="YOUR_BOT_TOKEN") as client:
        # Send a plain message
        await client.send_message(chat_id=42, text="Hello, Max!")

        # Send a message with an image
        with open("photo.jpg", "rb") as f:
            img = await client.upload_image(f.read(), filename="photo.jpg")
        await client.send_message(
            chat_id=42,
            text="<b>Look at this</b>",
            format="html",
            attachments=[img],
        )

asyncio.run(main())

What's in v0.1

Feature Status
Send / edit / delete messages
Long-poll updates (get_updates)
Image / video / audio / file uploads
Inline keyboards
Chat metadata (get_chat)
HTML and Markdown formatting
Typed exceptions per HTTP status
Auto-retry / backoff ⏳ v0.2
Webhook subscription endpoints ⏳ v0.3+
Bot framework (handlers, FSM) ❌ out of scope

Errors

from max_bot_api import (
    MaxClient,
    MaxAuthError,
    MaxRateLimitError,
    MaxTransportError,
)

async with MaxClient(token=...) as client:
    try:
        await client.send_message(chat_id=42, text="hi")
    except MaxAuthError:
        # Bad token — surface to user
        ...
    except MaxRateLimitError as e:
        await asyncio.sleep(e.retry_after or 1)
    except MaxTransportError:
        # Network problem; retry your way
        ...

Built with Claude

This project is developed in collaboration with Claude, Anthropic's AI assistant — design, code, and tests. Commits are co-authored. The repo ships with a CLAUDE.md and .claude/settings.json so any contributor running Claude on the codebase picks up the same conventions automatically. See the v0.1 design for the full collaboration workflow.

Links

License

MIT — see LICENSE.

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

python_max_bot-0.1.0.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

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

python_max_bot-0.1.0-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file python_max_bot-0.1.0.tar.gz.

File metadata

  • Download URL: python_max_bot-0.1.0.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for python_max_bot-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b7fb2a840997a95e32632c1dcca27f0ffbcca824a498c65e61f32a8e38b09e42
MD5 7d5764e3922bd21bf1706647db695309
BLAKE2b-256 9d3b2cdd75be40c616e2124d83a3ae76a5d87dfde930b3bcb01c99c47bb1e0f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_max_bot-0.1.0.tar.gz:

Publisher: release.yml on Kitaeza/python-max-bot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_max_bot-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: python_max_bot-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for python_max_bot-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 81385e1354a3ffb870efe11263260b026c8cedc25d7fc4389c7295660d7899db
MD5 b435d2f81a7d16464c6e6d557a4a9774
BLAKE2b-256 e1cc092a379dd04d0c61c8a4cf074da23e1a0fe796961477e8eff3c27c15da00

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_max_bot-0.1.0-py3-none-any.whl:

Publisher: release.yml on Kitaeza/python-max-bot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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