diff --git a/README.md b/README.md index c314dbe..d232d01 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,53 @@ -# Асинхронный MAX API +

+ MaxAPI +

-[![PyPI version](https://img.shields.io/pypi/v/maxapi.svg)](https://pypi.org/project/maxapi/) -[![Python Version](https://img.shields.io/pypi/pyversions/maxapi.svg)](https://pypi.org/project/maxapi/) -[![License](https://img.shields.io/github/license/love-apples/maxapi.svg)](https://love-apples/maxapi/blob/main/LICENSE) ---- +

+Документация • +Примеры • +MAX Чат • +TG Чат +

-## 📦 Установка +

+ + PyPI version + + + Python Version + + + License + +

+ +## 📦 Установка из PyPi + +Стабильная версия ```bash pip install maxapi ``` ---- +## 🐱‍👤 Установка из GitHub + +Свежая версия, возможны баги. Рекомендуется только для ознакомления с новыми коммитами. + +```bash +pip install git+https://github.com/love-apples/maxapi.git +``` + + ## 🚀 Быстрый старт Если вы тестируете бота в чате - не забудьте дать ему права администратора! +### Запуск Polling + +Если у бота установлены подписки на Webhook - события не будут приходить при методе `start_polling`. При таком случае удалите подписки на Webhook через [MasterBot](https://web.max.ru/masterbot) или через `await bot.delete_webhook()` перед `start_polling`. + ```python import asyncio import logging @@ -30,7 +60,7 @@ logging.basicConfig(level=logging.INFO) bot = Bot('тут_ваш_токен') dp = Dispatcher() - +# Ответ бота при нажатии на кнопку "Начать" @dp.bot_started() async def bot_started(event: BotStarted): await event.bot.send_message( @@ -38,7 +68,7 @@ async def bot_started(event: BotStarted): text='Привет! Отправь мне /start' ) - +# Ответ бота на команду /start @dp.message_created(Command('start')) async def hello(event: MessageCreated): await event.message.answer(f"Пример чат-бота для MAX 💙") @@ -52,44 +82,42 @@ if __name__ == '__main__': asyncio.run(main()) ``` ---- +### Запуск Webhook -## 📚 Документация +Перед запуском бота через Webhook, вам нужно установить дополнительные зависимости (fastapi, uvicorn). Можно это сделать через команду: +```bash +pip install maxapi[webhook] +``` -[Тут](https://github.com/love-apples/maxapi/wiki) +Указан пример простого запуска, для более низкого уровня можете рассмотреть [этот пример](https://github.com/love-apples/maxapi/blob/main/examples/webhook/low_level.py). +```python +import asyncio +import logging ---- +from maxapi import Bot, Dispatcher +from maxapi.types import BotStarted, Command, MessageCreated -## ⭐️ Примеры +logging.basicConfig(level=logging.INFO) -[Тут](https://github.com/love-apples/maxapi/tree/main/examples) - ---- +bot = Bot('тут_ваш_токен') +dp = Dispatcher() -## 🧩 Возможности - -- ✅ Middleware -- ✅ Роутеры -- ✅ Билдер инлайн клавиатур -- ✅ Простая загрузка медиафайлов -- ✅ MagicFilter -- ✅ Внутренние функции моделей -- ✅ Контекстный менеджер -- ✅ Поллинг -- ✅ Вебхук -- ✅ Логгирование - ---- +# Команда /start боту +@dp.message_created(Command('start')) +async def hello(event: MessageCreated): + await event.message.answer(f"Привет из вебхука!") -## 💬 Обратная связь и поддержка +async def main(): + await dp.handle_webhook( + bot=bot, + host='localhost', + port=8080, + log_level='critical' # Можно убрать для подробного логгирования + ) -- MAX: [Чат](https://max.ru/join/IPAok63C3vFqbWTFdutMUtjmrAkGqO56YeAN7iyDfc8) -- Telegram: [@loveappless](https://t.me/loveappless) -- Telegram чат: [MAXApi | Обсуждение](https://t.me/maxapi_github) ---- -## 📄 Лицензия - -Этот проект распространяется под лицензией MIT. См. файл [LICENSE](https://github.com/love-apples/maxapi/blob/main/LICENSE) для подробностей. +if __name__ == '__main__': + asyncio.run(main()) +``` \ No newline at end of file