Стек:
- python-telegram-bot
- SQLAlchemy
- Alembic
- python-dotenv
- Pillow
Описание проекта:
Телеграм-бот для знакомств, позволяющий пользователям регистрироваться, просматривать анкеты других пользователей, отмечать их как понравившиеся или нет, и получать уведомления о взаимных "лайках".
Существующая структура проекта:
dating_bot/
│
├── bot.py # Основной файл для запуска бота
├── config.py # Конфигурационные параметры
├── handlers/ # Обработчики команд бота
│ ├── __init__.py
│ ├── registration.py
│ ├── browsing.py
│ ├── notifications.py
│
├── models/ # Модели базы данных
│ ├── __init__.py
│ ├── user.py
│ ├── like.py
│ ├── notification.py
│
├── migrations/ # Миграции базы данных
├── requirements.txt # Список зависимостей
├── .env # Файл с переменными окружения
Текущее состояние:
Бот работает, но есть два функциональных недостатка.
Необходимые доработки:
- Обновление данных анкеты зарегистрированного пользователя:
- Описание: Зарегистрированный пользователь должен иметь возможность из раздела "Моя анкета" - "Заполнить анкету заново" обновить данные своей анкеты. При этом по нажатию кнопки должен автоматически запускаться процесс обновления данных, аналогичный процессу регистрации.
- Текущая проблема: Нажатие кнопки "Заполнить анкету заново" не инициирует процесс обновления анкеты корректно.
- Требования:
- Процесс обновления анкеты должен быть аналогичен процессу регистрации.
- Пользователь должен последовательно пройти через те же шаги, что и при регистрации (выбор пола, возраст, биография, город, фото, интересующий пол).
- Данные анкеты должны обновляться в базе данных.
- Функционал регистрации пользователя уже есть
- Автоматическая регистрация нового пользователя:
- Описание: При входе нового незарегистрированного пользователя в бота должна автоматически запускаться регистрация в текущем виде (/register), без необходимости дополнительных действий со стороны пользователя.
- Текущая проблема: Регистрация нового пользователя требует ввода команды /register.
- Требования:
- При первом входе пользователя бот должен автоматически начать процесс регистрации.
- Пользователь должен последовательно пройти через все шаги регистрации (выбор пола, возраст, биография, город, фото, интересующий пол).
- Данные анкеты должны быть сохранены в базе данных.
- Функционал регистрации пользователя уже есть
Дополнительные требования:
- Все изменения должны быть документированы.
- Комментарии в коде приветствуются.
- Изменения не должны нарушать существующую функциональность бота.