/aiogram_bot_template

Aiogram 3.x bot template using PostgreSQL (asyncpg) with SQLAlchemy + alembic.

Primary LanguagePythonMIT LicenseMIT

Deployment

Via Docker

  1. Rename .env.dist to .env and configure it
  2. Rename docker-compose.example.yml to docker-compose.yml
  3. Run make app-build command then make app-run to start the bot

Via Systemd service

  1. Setup venv and install requirements (pip install -r requirements.txt)
  2. Configure and start PostgreSQL
  3. Configure and start Redis (» Read more)
  4. Rename .env.example to .env and configure it
  5. Run database migrations with make migrate command
  6. Configure telegram-bot.service (» Read more)

Development

Please note that additional dependencies should be installed!

pip install -r dev-requirements.txt

Update database tables structure

Make migration script:

make migration message=MESSAGE_WHAT_THE_MIGRATION_DOES

Run migrations:

make migrate

Update translations

  1. Parse new used localization keys to update translations files (make l10n locale=TRANSLATION_LOCALE)
  2. Write new translations in .ftl files by translations/TRANSLATION_LOCALE
  3. Restart the bot

Used technologies: