/Gov_support

Обучаемый бот службы техподдержки

Primary LanguagePythonMIT LicenseMIT

Обучаемый бот службы техподдержки

Проект предназначен для осуществления техподдержки платформы Игра Глаголов в соцсетях Вконтакте и Telegram. Бот отвечает на типичные вопросы пользователей после обучения на платформе DialogFlow.

Пример работы бота

Chat example

Как установить

  1. Python3 должен быть уже установлен.

  2. Используйте pip (или pip3, есть конфликт с Python2) для установки зависимостей:

pip install -r requirements.txt
  1. Рекомендуется использовать virtualenv/venv для изоляции проекта.

  2. Получить файл с правами credentials.json по инструкции от сюда. [ Create project -> Enable the Api -> Set up authentication (Create a service account and download the private key file) ]. Полученный файл положить в папку проекта, указать к нему путь в файле .env под именем GOOGLE_APPLICATION_CREDENTIALS.

  3. Создать агента на DialogFlow, установить русский язык общения и привязать к нему созданный проект Google. Project ID из настроек агента положить в .env под именем DIALOGFLOW_PROJECT_ID.

  4. Для работы с Api Вконтакте требуется получить токен группы (вкладка "Работа с API" в настройках сообщества) и разрешить ему отправку сообщений. Полученный токен в .env под именем VK_GROUP_MESSAGE_TOKEN.

  5. Для работы с Telegram потребуется:

    • Включить VPN, если мессенджер заблокирован в вашей стране;
    • Получить bot token и положить его в .env под именем TG_BOT_TOKEN, об этом здесь;
    • Получить bot token для бота-логера, требуемого для отслеживания ошибок в работе ботов. Полученный token в .env под именем TG_LOG_BOT_TOKEN.
  6. Запустить файлы vk_bot.py и tg_bot.py.

Для обучения бота:

  1. Отредактируйте файл questions.json по своим требованиям, соблюдая представленное оформление.

  2. Укажите путь к файлу questions.json (имя может быть изменено) в .env под именем TRAINING_FILE_PATH.

  3. Запустите функцию train_bot() из файла dialogflow_aps.py.

Цель проекта

Код написан в образовательных целях на онлайн-курсе для веб-разработчиков dvmn.org.