Чатботы Telegram и VK обученные через DialogFlow.
Чатботы для Telegram и Вконтакте с распознаванием вольной речи через DialogFlow.
Наглядная демонстрация с возможностью самому написать ботам
- Необходимо зарегистрироваться в Google Cloud.
- Создать проект в DialogFlow и забрать ваш идентификатор проекта(project_id).
- Создать агента DialogFlow.
- Натренируйте DialogFlow создав intent вручную, либо можете воспользоваться
скриптом
сreate_intent.py(описание ниже). - Создайте JSON-ключ.
- Создать бота в Telegram через специального бота: @BotFather, забрать API ключ и написать созданному боту.
- Забрать свой
chat_idчерез @userinfobot - необходим для получения логов (ошибки будут идти именно этому пользователю). - Создать группу в Вконтакте и в настройках группы -> "Работа с API" создать API-ключ с правами: "Управление группой", "Отправка сообщений". Также не забудьте включить "сообщения группы" в настройках -> сообщения.
Создайте файл .env в корневой папке с кодом и запишите туда:
DIALOGFLOW_PROJECT_ID=ВАШ_PROJECT_ID
GOOGLE_APPLICATION_CREDENTIALS=ПУТЬ_ДО_JSON_КЛЮЧА
TG_BOT_TOKEN=ВАШ_TELEGRAM_API_КЛЮЧ
TG_CHAT_ID=ВАШ_CHAT_ID
VK_BOT_TOKEN=ВАШ_API_КЛЮЧ_ВК
Для запуска у вас уже должен быть установлен Python 3.
- Скачайте код.
- Установите зависимости командой:
pip install -r requirements.txt
- Запустите скрипт командой:
python tg_bot.py
python vk_bot.py
Вы можете протестировать работу данных ботов.
- Напишите в Telegram @v1ztep_bot.
- Напишите в ВК группу - отключены уточняющие фразы, ВК бот молчит когда вопрос не относится к обученным темам, в ТГ можно увидеть как бот реагирует если не понимает вопрос.
Боты обучены распознавать вольную речь на следующие темы:
Приветствие
Устройство на работу
Забыл пароль
Удаление аккаунта
Вопросы от забаненных
Вопросы от действующих партнёров(совещания, контракты)
Создайте файл questions.json в корневой папке c проектом, внесите вопросы и
ожидаемый ответ, в формате:
{
"Устройство на работу": {
"questions": [
"Как устроиться к вам на работу?",
"Как устроиться к вам?",
"Как работать у вас?",
"Хочу работать у вас",
"Возможно-ли устроиться к вам?",
"Можно-ли мне поработать у вас?",
"Хочу работать редактором у вас"
],
"answer": "Если вы хотите устроиться к нам, напишите на почту [email protected] мини-эссе о себе и прикрепите ваше портфолио."
},
"Забыл пароль": {
"questions": [
...
],
"answer": ...
},
...
}
- Запустите скрипт командой:
python сreate_intent.py
