Мой первый пет-проект: как я создавал ядро для Telegram-ботов

Автор представил Coreness — on-prem ядро для -ботов с полной прозрачностью: логика и триггеры описываются в YAML, расширение — через плагины, инфраструктура остаётся у разработчика. Цель — не «бот на вечер», а переносимая платформа с предсказуемой отладкой и масштабированием.

Архитектура Event-Driven с Database Queue: батч-чтение (по умолчанию 50) и опрос очереди каждые 0,1 с; на действие выполняется один терминальный UPDATE. Потоки управляются предсказуемыми цепочками (chain/chain_drop) и отдельным «разблокировщиком». Внутри — DI-контейнер, плагин-сканер и подход vertical slice; YAML-триггеры (exact/starts_with/contains/regex/state), плейсхолдеры с модификаторами и кэшированием, валидатор правил, система запросов, инструменты работы с группами/приглашениями и кэш. Единственный параллельный сервис — речь (STT/TTS) с до 10 одновременных задач.

Деплой: .env + python main.py; есть утилиты для миграций/индексов и обновлений. Настройки в settings.yaml позволяют тюнить латентность и пропускную способность без правок кода. Database Queue (из коробки SQLite, предсказуемый апгрейд на PostgreSQL) снижает инфраструктурную сложность; брокер оправдан при сотнях тысяч событий в минуту, жёстких SLA и сложных топологиях. Контракты изначально «батчевые», поэтому миграция возможна без переписывания бизнес-логики.

Опыт эволюции V1→V4 показал: изоляция и простые контракты важнее «универсальности». В планах — PostgreSQL под высокие нагрузки, больше готовых сценариев и плагинов; доступны демо-бот и репозиторий.

Ключевые инсайты из новости (по версии ChatGPT)
  • Database Queue вместо брокера: критерии и эффекты: Для типичных ботов узкое место — сеть/API, поэтому очередь на БД даёт проще деплой и предсказуемость. Достаточно SQLite для старта и апгрейда до PostgreSQL; к внешнему брокеру есть смысл переходить только при сотнях тысяч событий в минуту, жёстких SLA или сложной топологии подписок.
    [Архитектура]
Для получения полного доступа оформите подписку PubMag PRO.
Зарегистрированные пользователи видят только два тезиса.
Зарегистрироваться
Инсайты автоматически генерируются с помощью искусственного интеллекта на основе текста статьи.
← Назад в лентуЧитать оригинал →
✈️ Подписывайтесь на мой Telegram-канал — там еще больше интересного про AdTech, MarTech, AI и многое другое!