/kapusta-telegram-bot

Template for your Telegram bots. Latest API, production-ready

Primary LanguagePythonMIT LicenseMIT

Kapusta Telegram bot

Multifunctional Telegram bot.

It's not about purpose of the bot, but about the way it's made.

You can use it as a template for your own bots.
It's easy to add new commands and features.

I didn't want to use any frameworks like Flask or Django. So I made it from scratch using only python-telegram-bot library.

Since no frameworks are used, the bot turned out to be as fast as possible.


Quick start

git clone https://gitlab.anttek.io/kapusta/telegram-bot.git kapusta-telegram-bot
cd kapusta-telegram-bot
cp .env.example .env
# Fill .env with your data
docker compose up -d --build

Features implemented

  • Fully asynchronous
  • Latest async Telegram API support
  • Async database queries using SQLAlchemy
  • Database migrations management with Alembic
  • Localization
  • Polling mode
  • Async tasks using Celery
  • Docker, Docker Compose and Docker Swarm support
  • [CI/CD] using GitLab CI and Portainer

Features to be implemented

  • Webhook mode
  • Caching using Redis
  • Run with multiple bot tokens
  • Persistence implementation with Redis
  • S3 storage support for media files
  • Logging
  • Testing
  • Telegram payments
  • Kubernetes deployment