Skip to content

Telegram Bot with admin and dialogs. Based on aiogram, aiogram_dialogs, flask-admin, celery

Notifications You must be signed in to change notification settings

andy-takker/ecology-bot

Repository files navigation

Телеграм Бот

Запуск проекта

Инициализация проект перед запуском нативно

Выполните make init. Команда создает файл с env-переменными, инициализирует poetry в данной папке.

Запуск в виртуальном окружении

Для запуска бота нативно в корне

make run_bot

Запуск через Docker/Docker Compose

Для корректной работы в docker compose среде обратите внимание на хост переменные POSTGRES_HOST и REDIS_HOST. Они должны содержать названия этих сервисов из docker-compose.yml.

Для запуска проекта со всеми сервисами одновременно необходимо выполнить

make run

Миграции базы данных

Управление версиями БД осуществляется с помощью пакета alembic.

Создание миграции

Для автоматического создания миграции (обновления базы в соответствии со схемой) выполните

alembic revision --autogenerate -m "Name of migration"

если проект запущен локально.

и если запущен через docker compose

docker-compose exec bot alembic revision --autogenerate -m "Name of migration"

На этапе создания миграции формируется python-скрипт, который содержит инкрементные изменения схемы БД. Его можно отредактировать и поправить вручную перед применением.

Применение миграции

Для обновления/инициализации таблиц через миграции выполните команду

alembic upgrade head

или для docker compose

docker-compose exec bot alembic upgrade head

Админка

В панели администратора есть возможность управления сообщениями, которые отправляет бот. Для этого надо добавить "Текст сообщений" и выбрать, какое сообщение хотите создать.

Сообщения выстраиваются в цепочку от более важных (вес) к менее важным. В базе не может быть сообщений с одинаковым весом.

About

Telegram Bot with admin and dialogs. Based on aiogram, aiogram_dialogs, flask-admin, celery

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages