Telegram-бот на Python (aiogram 3): архітектура, БД, деплой 2026
Зробити «hello-world» бота на python-telegram-bot може школяр. Зробити продакшн-бота, який не падає на 5000 одночасних користувачів — інша задача. Ділимось нашим стеком.
Стек, який ми використовуємо
- aiogram 3.x — async, type-hints, native FSM
- PostgreSQL + SQLAlchemy 2.0 (async)
- Redis для FSM-state і кешу
- Alembic — міграції БД
- Pydantic v2 — валідація даних
- Docker + docker-compose — деплой
- Sentry — моніторинг помилок
Архітектура (clean)
bot/ ├── handlers/ # роутери по фічах ├── keyboards/ # inline/reply клавіатури ├── states/ # FSM-стани ├── services/ # бізнес-логіка ├── db/ # моделі, репозиторії ├── middlewares/ # throttling, auth └── main.pyЩо обов'язково на проді
- Throttling middleware — інакше один користувач завалить бот через флуд
- Error handler з логом у Sentry + повідомленням адміну в чат
- Graceful shutdown — щоб не втратити in-flight повідомлення
- Webhook замість long polling для > 1000 користувачів
- Бекапи БД щодня
Скільки коштує розробка
Простий бот (форми + БД + адмінка) — від $500, 5-10 днів. Складний з інтеграціями (CRM, оплата, AI) — $1500-5000. Python vs Node.js — що обрати.
Замовити → /services/telegram-bots.
