Доработка Телеграм-бота для знакомств (Python)

Стек:
  • 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               # Файл с переменными окружения
Текущее состояние:

Бот работает, но есть два функциональных недостатка.

Необходимые доработки:

  1. Обновление данных анкеты зарегистрированного пользователя:
    • Описание: Зарегистрированный пользователь должен иметь возможность из раздела "Моя анкета" - "Заполнить анкету заново" обновить данные своей анкеты. При этом по нажатию кнопки должен автоматически запускаться процесс обновления данных, аналогичный процессу регистрации.
    • Текущая проблема: Нажатие кнопки "Заполнить анкету заново" не инициирует процесс обновления анкеты корректно.
    • Требования:
      • Процесс обновления анкеты должен быть аналогичен процессу регистрации.
      • Пользователь должен последовательно пройти через те же шаги, что и при регистрации (выбор пола, возраст, биография, город, фото, интересующий пол).
      • Данные анкеты должны обновляться в базе данных.
      • Функционал регистрации пользователя уже есть
  2. Автоматическая регистрация нового пользователя:

    • Описание: При входе нового незарегистрированного пользователя в бота должна автоматически запускаться регистрация в текущем виде (/register), без необходимости дополнительных действий со стороны пользователя.
    • Текущая проблема: Регистрация нового пользователя требует ввода команды /register.
    • Требования:
      • При первом входе пользователя бот должен автоматически начать процесс регистрации.
      • Пользователь должен последовательно пройти через все шаги регистрации (выбор пола, возраст, биография, город, фото, интересующий пол).
      • Данные анкеты должны быть сохранены в базе данных.
      • Функционал регистрации пользователя уже есть
Дополнительные требования:
  • Все изменения должны быть документированы.
  • Комментарии в коде приветствуются.
  • Изменения не должны нарушать существующую функциональность бота.

Читайте на 123ru.net