Skip to content

v1ztep/DialogFlow_bot

Repository files navigation

Чатботы Telegram и VK обученные через DialogFlow.

Чатботы для Telegram и Вконтакте с распознаванием вольной речи через DialogFlow.

gif

Наглядная демонстрация с возможностью самому написать ботам

Настройки

  • Необходимо зарегистрироваться в 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.
  • Напишите в ВК группу - отключены уточняющие фразы, ВК бот молчит когда вопрос не относится к обученным темам, в ТГ можно увидеть как бот реагирует если не понимает вопрос.

Боты обучены распознавать вольную речь на следующие темы:

Приветствие
Устройство на работу
Забыл пароль
Удаление аккаунта
Вопросы от забаненных
Вопросы от действующих партнёров(совещания, контракты)

Обучение DialogFlow через API

Создайте файл questions.json в корневой папке c проектом, внесите вопросы и ожидаемый ответ, в формате:

{
    "Устройство на работу": {
        "questions": [
            "Как устроиться к вам на работу?",
            "Как устроиться к вам?",
            "Как работать у вас?",
            "Хочу работать у вас",
            "Возможно-ли устроиться к вам?",
            "Можно-ли мне поработать у вас?",
            "Хочу работать редактором у вас"
        ],
        "answer": "Если вы хотите устроиться к нам, напишите на почту [email protected] мини-эссе о себе и прикрепите ваше портфолио."
    },
    "Забыл пароль": {
        "questions": [
            ...
        ],
        "answer": ...
    },
    ...
}
  • Запустите скрипт командой:
python сreate_intent.py

About

Telegram & VK chatbots with DialogFlow.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages