Skip to content

vlimkv/funnel-bot

Repository files navigation

Savoa Automated Wellness Bot 🤖

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.


🚀 Overview

  • 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

⚙️ Architecture

  • 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

🚀 Key Features

Marketing Funnels (/routers/warmup.py)

Automated onboarding sequences with timed messaging and media delivery

Subscription System (/routers/subscription.py)

Handles paid access, expiration logic, and renewal flows

Admin Panel (/routers/admin.py)

Broadcast messaging, user management, and engagement control

Background Tasks (scheduler.py)

Async scheduling for reminders, lifecycle events, and content delivery

Deployment

Fully containerized system with Docker & Docker Compose


🛠 Tech Stack

  • Python (AsyncIO)
  • Aiogram 3.x
  • PostgreSQL
  • Docker / Docker Compose

📂 Project Structure

├── 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

💡 Why this project

Built to automate user engagement and reduce manual workload for a growing EdTech platform.

Focus:

  • scalability
  • reliability
  • full lifecycle automation
  • real-world production usage

🚀 Deployment

Clone the repository and configure environment:

cp .env.example .env
# Fill BOT_TOKEN and database credentials

Run with Docker:

docker-compose up -d --build

⚠️ Disclaimer

This repository represents a production system. Some business logic (payment integrations, content delivery specifics) is intentionally omitted.

About

Telegram bot serving 10k+ users with automated funnels, subscriptions, and async FastAPI backend (PostgreSQL, Docker)

Topics

Resources

Stars

Watchers

Forks

Contributors