- Python 3.11+
- Docker
- docker-compose
- make
- poetry
Via Docker
- Rename
.env.dist
to.env
and configure it - Rename
docker-compose.example.yml
todocker-compose.yml
- Run
make app-build
command thenmake app-run
to start the bot
- Configure and start PostgreSQL
- Configure and start Redis (» Read more)
- Rename
.env.example
to.env
and configure it - Run database migrations with
make migrate
command - Fill
User
andWorkingDirectory
fields insystemd/telegram-bot.example.service
(» Read more - Copy
systemd/telegram-bot.example.service
to/etc/systemd/system/telegram-bot.service
- Run
systemctl start telegram-bot
to start the bot - If you want to start the bot on system boot, run
systemctl enable telegram-bot
poetry install
Make migration script:
make migration message=MESSAGE_WHAT_THE_MIGRATION_DOES
Run migrations:
make migrate
- Aiogram 3.x (Telegram bot framework)
- PostgreSQL (persistent relational database)
- SQLAlchemy (working with database from Python)
- Alembic (lightweight database migration tool)
- Redis (in-memory data storage for FSM and caching)
- Project Fluent (modern localization system)
- FTL-Extract (tool for extracting localizable strings from source code files in Fluent format)