Metadata-Version: 2.5
Name: efir-bot
Version: 1.0.0
Summary: Библиотека для ботов Эфира: HTTP API и шлюз событий
Project-URL: Documentation, https://github.com/RedArtem39/efir-releases/blob/main/docs/README.md
Author: Red_Artem39
License-Expression: MIT
License-File: LICENSE
Keywords: api,bot,chat,efir
Classifier: Framework :: AsyncIO
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Communications :: Chat
Requires-Python: >=3.10
Requires-Dist: aiohttp>=3.9
Description-Content-Type: text/markdown

# efir-bot

Библиотека для ботов Эфира на Python: HTTP API и шлюз событий в одном классе.
Python 3.10+, asyncio, одна зависимость — `aiohttp`.

```
pip install efir-bot
```

```python
import os
from efir_bot import Bot

bot = Bot(os.environ["EFIR_TOKEN"], "http://<сервер>:4318")

@bot.command("ping")
async def ping(msg):
    await msg.reply("pong")

@bot.on("message")
async def on_message(msg):
    if msg.dm and not msg.text.startswith("/"):
        await msg.send(f"Вы написали: {msg.text}")

bot.run()
```

Что библиотека делает сама: держит соединение со шлюзом и переподключается, при `429`
ждёт `retry_after` и повторяет запрос, превращает события шлюза в события с понятными
именами, даёт сообщениям методы (`reply`, `react`, `delete`, …), разбирает команды.

- [Документация](https://github.com/RedArtem39/efir-releases/blob/main/docs/README.md)
- [Справочник библиотеки](https://github.com/RedArtem39/efir-releases/blob/main/docs/bots/python.md)
- Примеры — папка `examples`: пинг и кубик, модерация, опрос по расписанию.
