Production-grade Telegram bot for automated user onboarding, engagement, and subscription management.
This bot powers the core user lifecycle of the Savoa platform — from first interaction to paid subscription and daily content delivery.
- Handles full user lifecycle: onboarding → engagement → paid subscriptions
- Serves 10,000+ users through automated funnels and daily content delivery
- Reduced manual operations by ~90% via full automation
- Designed for reliability, scalability, and async processing
- Aiogram (async event-driven bot)
- PostgreSQL — user data, subscriptions, state
- Background scheduler (cron / async tasks)
- Modular routers (admin / user / subscription separation)
- Dockerized environment for deployment
Automated onboarding sequences with timed messaging and media delivery
Handles paid access, expiration logic, and renewal flows
Broadcast messaging, user management, and engagement control
Async scheduling for reminders, lifecycle events, and content delivery
Fully containerized system with Docker & Docker Compose
- Python (AsyncIO)
- Aiogram 3.x
- PostgreSQL
- Docker / Docker Compose
├── assets/ # Static media for funnels
├── sql/ # Database schemas and init scripts
├── src/
│ ├── routers/ # Admin / User / Subscription logic
│ ├── db.py # Database layer
│ ├── scheduler.py # Background jobs
│ ├── main.py # Entry point
│ └── utils/ # Helpers
├── Dockerfile
└── docker-compose.yml
Built to automate user engagement and reduce manual workload for a growing EdTech platform.
Focus:
- scalability
- reliability
- full lifecycle automation
- real-world production usage
Clone the repository and configure environment:
cp .env.example .env
# Fill BOT_TOKEN and database credentialsRun with Docker:
docker-compose up -d --buildThis repository represents a production system. Some business logic (payment integrations, content delivery specifics) is intentionally omitted.