Skip to main content

Асинхронная библиотека для создания ботов в MaxAPI

Project description

AsyncMaxBot SDK

PyPI version Python 3.8+ License: MIT Docs

AsyncMaxBot SDK — это современная, асинхронная и удобная библиотека на языке Python для создания ботов для Max Messenger. Она предоставляет полный набор инструментов для взаимодействия с официальным API Max, позволяя разработчикам сосредоточиться на логике бота, а не на низкоуровневых деталях API.

Библиотека разработана с учетом лучших практик асинхронного программирования и предлагает интуитивно понятный интерфейс, вдохновленный популярными фреймворками.


✨ Ключевые возможности

  • Полная асинхронность: Построена на asyncio и aiohttp для максимальной производительности.
  • Мощные фильтры (F): Создавайте сложные правила для обработки сообщений с помощью Magic-фильтров.
  • Router-система: Организуйте код в виде модулей для лучшей читаемости и поддержки.
  • Middleware: Добавляйте собственную логику в процесс обработки обновлений.
  • Интерактивные клавиатуры: Легко создавайте inline-кнопки и обрабатывайте callback-запросы.
  • Строгая типизация: Все объекты API валидируются с помощью Pydantic для надежности вашего кода.
  • Обработка событий: Реагируйте на системные события, такие как добавление пользователя в чат.

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

Вот пример простого эхо-бота, который также приветствует пользователя по команде /start.

1. Установите библиотеку:

pip install asyncmaxbot

2. Напишите код вашего бота:

# bot.py
import asyncio
from maxbot import Bot, Dispatcher, Context, F

# Рекомендуется хранить токен в переменной окружения
TOKEN = "YOUR_TOKEN_HERE"

async def main():
    # Используем 'async with' для корректного управления сессией
    async with Bot(token=TOKEN) as bot:
        dp = Dispatcher(bot)

        # 1. Обработчик команды /start
        @dp.message_handler(F.command == "start")
        async def handle_start(ctx: Context):
            await ctx.reply(f"👋 Привет, {ctx.user.name}!")

        # 2. Обработчик для всех остальных текстовых сообщений
        @dp.message_handler(F.text)
        async def handle_echo(ctx: Context):
            await ctx.reply(f"Вы написали: {ctx.text}")

        # Запускаем получение обновлений
        print("Бот запущен...")
        await bot.polling(dispatcher=dp)

if __name__ == "__main__":
    try:
        asyncio.run(main())
    except KeyboardInterrupt:
        print("Бот остановлен.")

3. Запустите бота:

python bot.py

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

Полное руководство по всем компонентам, классам и методам SDK доступно на нашем сайте документации:

➡️ Перейти к документации

На сайте вы найдете:

  • Подробное Руководство по API.
  • Коллекцию рабочих примеров, от простых до продвинутых.
  • Лучшие практики по структуре проекта.

🔗 Официальные ресурсы Max Messenger


🤝 Вклад в проект (Contributing)

Мы всегда рады помощи в развитии библиотеки! Если вы хотите внести свой вклад, пожалуйста, следуйте этим шагам.

Для разработчиков

  1. Форкните репозиторий.
  2. Создайте новую ветку для вашей функциональности (git checkout -b feature/AmazingFeature).
  3. Внесите свои изменения и закоммитьте их (git commit -m 'Add some AmazingFeature').
  4. Отправьте изменения в свой форк (git push origin feature/AmazingFeature).
  5. Создайте Pull Request.

Для AI-ассистентов

Для автоматизации рутинных задач и соблюдения стандартов кодирования, пожалуйста, ознакомьтесь с руководством в файле AI_GUIDE.md.

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

asyncmaxbot-1.4.3.tar.gz (58.7 kB view details)

Uploaded Source

Built Distribution

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

asyncmaxbot-1.4.3-py3-none-any.whl (29.5 kB view details)

Uploaded Python 3

File details

Details for the file asyncmaxbot-1.4.3.tar.gz.

File metadata

  • Download URL: asyncmaxbot-1.4.3.tar.gz
  • Upload date:
  • Size: 58.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for asyncmaxbot-1.4.3.tar.gz
Algorithm Hash digest
SHA256 c1ace7a5820985be7512fc6ce16d6179859aaa10befeddbdf5d7dcbc8f56c1c0
MD5 39b2247684c271846f0ad36d8406a262
BLAKE2b-256 f2705701901b4c65e807c521e479603ec9074b6ce0841f88a4bad31078dcd681

See more details on using hashes here.

File details

Details for the file asyncmaxbot-1.4.3-py3-none-any.whl.

File metadata

  • Download URL: asyncmaxbot-1.4.3-py3-none-any.whl
  • Upload date:
  • Size: 29.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for asyncmaxbot-1.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a1d68d2beb6232eb4519206b4fc1e27437ccde8e82e42b2c811f564af14701e1
MD5 658d473c4bf4d7bcb9f28e0b8ebbb3e3
BLAKE2b-256 670a2c57ce9a6776cb9f682b2b499a5e54da3394d7a9cc47241eb1fac46f992f

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