Бот может отвечать на сообщения в группе Вконтакте и в Телеграмме.
Это значительно сократит время ожидания ответа и повысит довольство жизнью сотрудников службы поддержки.
-
Создайте файл
questions.json
с вопросами и ответами. Файл должен иметь следующую структуру:{ "Тема1": { "questions": [ "Вопрос1", "Вопрос2", ... ], "answer": "Ответ" }, "Тема2": ... ... ... }
Пример:
{ "Устройство на работу": { "questions": [ "Как устроиться к вам на работу?", "Как устроиться к вам?", "Как работать у вас?" ], "answer": "Если вы хотите устроиться к нам, напишите на почту мини-эссе о себе и прикрепите ваше портфолио." }, ...
-
Создайте проект на DialogFlow и получите идентификатор проекта (например
moonlit-dynamo-211973
) -
Создайте "агента"
-
Получите JSON-ключ, переименуйте его в
google-credentials.json
и положите в корень проекта -
Также создайте в корне проекта файл
.env
и пропишите в нем переменные следующим образом:GOOGLE_APPLICATION_CREDENTIALS=google-credentials.json DIALOGFLOW_PROJECT_ID=moonlit-dynamo-211973 TRAIN_DATA_PATH=questions.json
-
Запустите в консоли обучающий файл
python train.py
-
Зарегестрируйте приложение на Heroku
-
В созданном приложении во вкладке
Deploy
привяжите данный github-репозиторий вDeployment method
и нажмитеDeploy Branch
внизу страницы -
Во вкладке
Settings
подключите два пакета (Add buildpack):heroku/python
https://github.com/gerywahyunugraha/heroku-google-application-credentials-buildpack
-
Во вкладке
Settings
заполните переменные:GOOGLE_APPLICATION_CREDENTIALS=google-credentials.json GOOGLE_CREDENTIALS=содержимое файла google-credentials.json DIALOGFLOW_PROJECT_ID=moonlit-dynamo-211973 VK_GROUP_TOKEN=токен группы вконтакте TG_BOT_TOKEN=токен телеграмм-бота TG_LOG_CHAT_ID= айди чата в телеграме для информирования об ошибках
-
Во вкладке
Resources
запустите сервер
Можно запустить сразу двух ботов
Python3 должен быть уже установлен.
Затем используйте pip
(или pip3
, есть конфликт с Python2) для установки зависимостей:
pip install -r requirements.txt
-
Создайте в корневой папке файл
.env
и пропишите в нем переменные следующим образом:GOOGLE_APPLICATION_CREDENTIALS=google-credentials.json DIALOGFLOW_PROJECT_ID=moonlit-dynamo-211973 VK_GROUP_TOKEN=токен группы вконтакте TG_BOT_TOKEN=токен телеграмм-бота TG_LOG_CHAT_ID=айди чата в телеграме для информирования об ошибках
-
Запустите ботов:
python bot_tg.py.py
илиpython bot_vk.py.py
Код написан в образовательных целях на онлайн-курсе для веб-разработчиков dvmn.org.