/VKinder

Primary LanguagePython

Проект "VKinder"

Задание

Необходимо разработать приложение для знакомств, аналог Tinder для VK - чат-бота 'VKinder'. Приложение предоставляет простой интерфейс для выбора понравившегося человека. Бот должен искать людей, подходящих под критерии поиска, которые выбирает сам пользователь:

  • Возраст
  • Пол
  • Город
  • Семейное положение - "в активном поиске"

У тех людей, которые подошли по требованиям пользователю, необходимо получать топ-3 популярных фотографии профиля и отправлять их пользователю в чат вместе со ссылкой на найденного человека. Популярность определяется по количеству лайков.

Требование к сервису

  1. Код программы удовлетворяет PEP8;
  2. Получать токен от пользователя с нужными правами;
  3. Программа декомпозирована на функции/классы/модули/пакеты;
  4. Результат программы записывать в БД;
  5. Люди не должны повторяться при повторном поиске;
  6. Не запрещается использовать внешние библиотеки для vk.

Запуск программы

  1. Установка необходимых библиотек:
    pip install -r requirements.txt
  1. Размещение токенов бота и пользователя в файле .env (смотри env_example.txt)
  2. Создание БД с именем vkinder на postgres. Параметры user и password необходимо обновить в файле config.ini, указав действительные параметры от вашей СУБД.
  3. Запуск файла main.py
  4. Взаимодействие с ботом начинается после написания команды "привет" или нажатия кнопки "начать".
  5. Бот доступен по ссылке

Входные данные

  • Id пользователя в ВК, для которого мы ищем пару. Сервис автоматически получает его при написании команды "привет" или нажатии кнопки "начать".

Список команд

  1. 'привет' - запуск бота
  2. 'Начать поиск' - начать поиск партнера по указанным критериям (критерии запрашиваются у пользователя)
  3. 'Список понравившихся пользователей' - выводит список избранных кандидатов с фотографиями.
  4. 'Пока/Стоп' - завершение работы сервиса.
  5. Дополнительно реализована возможность занесения в список избранных, либо в черный список при ответе на вопросы бота.