Перед вами простой Telegram-бот, который использует форумы в Telegram для разделения разговоров с разными юзерами по разным топикам. По сути, это логическое развитие моего stateless фидбек-бота.
- Python 3.11
- PostgreSQL 15
- Redis
- aiogram 3.x
- SQLAlchemy 2.x
- psycopg3 (aka psycopg)
и другие...
- установите docker
- подложите свои файлы локализации, согласно инструкции
- создайте виртуальное окружение
python -m venv venv
- установите зависимости
pip install -r requirements.txt
- в файле
compose.local.yml
укажите пользователя и пароль для postgres - в файле
settings.yml
(основан на settings.example.yml) укажите настройки (обязательно 'token' и 'forum_supergroup_id') - запустите docker контейнеры
docker compose -f compose.local.yml up -d
- (при первом запуске) выполните миграции
alembic upgrade head
- и запустите бота
python -m bot
- в файле
compose.yml
укажите пользователя и пароль для postgres - в файле
settings.prod.yml
(основан на settings.prod.example.yml) укажите настройки (обязательно 'token' и 'forum_supergroup_id') - запустите docker контейнеры
docker compose up -d
- (при первом запуске) выполните
миграции
docker compose exec tg_bot alembic upgrade head
Чтобы не ловить
ошибку Could not create new topic error_type=TelegramBadRequest message=Bad Request: not enough rights to create a topic method=CreateForumTopic
В вашей супергруппе с топиками бот должен иметь права на создание топиков (быть
администратором)