Возможности⚓︎
Асинхронность на основе asyncio⚓︎
Всё построено на async/await. Высокая производительность и отсутствие блокировок.
Похожесть на aiogram⚓︎
Используются знакомые концепции: Router, декораторы, шорткаты (message.answer, message.reply), фильтры и даже magic-filter (F.text, F.document, F.photo).
Удобная обработка входящих событий⚓︎
Все входящие JSON автоматически трансформируются в классы Python (Message, AttachmentContent, UploadingProgress и др.), поэтому работа с данными проста и безопасна.
Декораторы для роутинга⚓︎
Роутер позволяет элегантно обрабатывать события:
from trueconf import Router, Message
from trueconf.enums import MessageType
from trueconf.filters import F
router = Router()
@router.message(F.text.startswith("/start"))
async def on_start(msg: Message):
await msg.answer("Привет! Я TrueConf бот 👋")
@router.message(F.document.mime_type == "application/pdf")
async def on_pdf(msg: Message):
await msg.reply("Спасибо за PDF!")
Два варианта подключения⚓︎
-
Используя заранее полученный JWT-токен:
-
или авторизацию с помощью логина и пароля:
Алиасы и шорткаты в стиле aiogram⚓︎
Для сообщений доступны привычные методы:
await msg.answer("Текст в чат")
await msg.reply("Ответ на сообщение")
await msg.copy_to(chat_id="other_chat")
Многоботность⚓︎
Вы можете запустить несколько ботов одновременно и маршрутизировать события отдельно для каждого.
Асинхронный транспорт — WebSocket⚓︎
Всё общение с сервером происходит через WebSocket. Это быстрее и эффективнее классических REST-запросов.
Magic-filter, как в aiogram⚓︎
Точно так же, как в aiogram:
@router.message(F.photo)
async def on_photo(msg: Message): ...
@router.message(F.document.mime_type.in_(["application/pdf", "application/msword"]))
async def on_doc(msg: Message): ...
Файлы и загрузки⚓︎
Поддержана асинхронная отправка и скачивание файлов. Можно скачивать файл во временную директории или по указанному пути.
Все публичные методы API⚓︎
В библиотеке реализованы все основные методы TrueConf API: отправка сообщений, загрузка/скачивание файлов, опросы, конференции, управление участниками и пр.