Skip to content

Studio-Yandex-Practicum/together-for-life

Repository files navigation

pre-commit

Чат-бот для официальной группы ВКонтакте Свердловской региональной благотворительной общественной организации помощи онкологическим больным "Вместе ради жизни" (https://vk.com/vmesteradizhizni)

Назначение

Продукт призван частично автоматизировать работу администратора группы ВКонтакте, ускорить отклик на типовые запросы пользователей, собирать обратную связь и вопросы пользователей.

Разработчики:

Технологии

  • Python 3.9
  • vk-api 11.9.9

Функции

  • Приветствие пользователей в чате.
  • Предоставление ответов на типовые, наиболее часто встречающиеся вопросы пользователей (вопросы и ответы (источники информации) заранее задаются при настройке бота в файле menu.csv, пункты 1-5).
  • Направление сообщений обратной связи (отзывы и впечатления о деятельности фонда) от пользователей администратору (пункт 6 меню).
  • Направление сообщений пользователя с вопросами специалисту (пункт 7 меню).
  • Редактирование меню. Администратору по ключевому слову доступен режим редактирования меню, в котором можно изменить заголовок и информацию по имеющимся пунктам меню, в том числе приветствия.
  • Логирование работы бота осуществляется в файл 'logs/logfile.txt'. Настройки и описание параметров логирования хранятся в constants.py в каталоге проекта.

Планируемые функции (направления развития)

  • В диалоге для ответов использование заранее заготовленных эмодзи, фото-, аудио-, видео- материалов.
  • Приём в диалоге от пользователей (кроме текста) эмодзи, фото-, аудио-, видео- материалов, передача их администратору.
  • Сбор обратной связи (отзывы и впечатления) по результатам общения с чат-ботом и администратором, в целом о сообществе (оценка работы чат-бота).
  • Разнообразие сообщений приветствия и реакций бота на действия пользователей (более одного варианта на один вид реакции).

Настройка

  • Меню бота (заранее заготовленные пункты меню и информация, предоставляемая по этим пунктам, включая приветствие) хранится в файле 'data/menu.csv' в каталоге проекта.
  • В переменных окружения хранятся токен-сообщества, user id пользователя ВК - администратора чат-бота (которому приходят сообщения пользователей с обратной связью и вопросами), от которого бот принимает команды редактирования меню. (См. файл env.example).
  • При заданных переменных окружения после запуска main.py бот готов к работе и принимает команды от пользователей.

Pre-commit

Для минимизации трудностей во время разработки и поддержании высокого качества кода в разработке мы используем pre-commit. Данный фреймворк позволяет проверить код на соответствие PEP8, защитить ветки master и develop от непреднамеренного коммита, проверить корректность импортов и наличие trailing spaces. Pre-commit конфигурируется с помощью специального файл .pre-commit-config.yaml. Для использования фреймворка его необходимо установить, выполнив команду из активированного виртуального окружения:

(venv)$ pip install pre-commit

или

(venv)$ pip install -r requirements-dev.txt

Для принудительной проверки всех файлов можно выполнить команду:

(venv)$ pre-commit run --all-files

При первом запуске будут скачаны и установлены все необходимые хуки, указанные в конфигурационном файле.

Для автоматической проверки всех файлов необходимо инициализировать фреймворк командой:

(venv)$ pre-commit install

Установка и запуск

В каталоге проекта при включенном виртуальном окружении обновить менеджер пакетов Package installer for Python, установить зависимости

(venv)$ python -m pip install --upgrade pip 
(venv)$ pip install -r requirements.txt

Запустить исполнение основного модуля

(venv)$ python main.py

.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published