[Настройка] Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Модераторы: Bagir, Ivan, Vit, immortal, PAV, newz20

Аватара пользователя
ovcher
Сообщения: 139
Зарегистрирован: Сб сен 12, 2015 3:11 am
Откуда: Волгоград
Благодарил (а): 41 раз
Поблагодарили: 32 раза
Контактная информация:

Re: Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Сообщение ovcher » Пн окт 15, 2018 11:18 am

sorochan.ilya писал(а):
Вс окт 14, 2018 1:51 pm
Для версии 2 нужно изменить:...
Если речь о второй версии протокола, со второй версией протокола вылазят баги, типа спонтанного воспроизведения команд.
Например, говоришь "включи свет в прихожей" команда отрабатывается и тут же следом, без каких либо моих команд, в чате вылазит "включи" и это "включи" "благополучно" улетает в мажор.
За это сообщение автора ovcher поблагодарил:
vitt76 (Вт окт 16, 2018 3:19 pm)
Рейтинг: 1.43%
sorochan.ilya
Сообщения: 17
Зарегистрирован: Вс янв 24, 2016 11:20 am
Благодарил (а): 7 раз
Поблагодарили: 7 раз

Re: Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Сообщение sorochan.ilya » Вт окт 16, 2018 9:52 am

ovcher писал(а):
Пн окт 15, 2018 11:18 am
sorochan.ilya писал(а):
Вс окт 14, 2018 1:51 pm
Для версии 2 нужно изменить:...
Если речь о второй версии протокола, со второй версией протокола вылазят баги, типа спонтанного воспроизведения команд.
Например, говоришь "включи свет в прихожей" команда отрабатывается и тут же следом, без каких либо моих команд, в чате вылазит "включи" и это "включи" "благополучно" улетает в мажор.
У меня пока сбоев не было, но в принципе и не много тестировал
Аватара пользователя
vitt76
Сообщения: 331
Зарегистрирован: Вс апр 09, 2017 2:36 pm
Благодарил (а): 94 раза
Поблагодарили: 38 раз

Re: Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Сообщение vitt76 » Вт окт 16, 2018 10:07 am

Новый webhook передает команду в систему и получает ответ быстро и без костылей.
Файл webhook.php нужно положить в корень сайта, НЕ в папку webhook.
В dialogflow обязательно внести новый адрес, а рядом логин и пароль, если у вас включена внешняя авторизация!
Версия протокола v1

Код: Выделить всё

<?php

//получаем данные
$requestBody = file_get_contents('php://input');

//декодим данные
$json = json_decode($requestBody);
$text = $json->result->resolvedQuery;

//передаем команду в систему
include_once("./config.php");
include_once("./lib/loader.php");
$session = new session("prj");
$db = new mysql(DB_HOST, '', DB_USER, DB_PASSWORD, DB_NAME);
include_once(DIR_MODULES . "application.class.php");
include_once("./load_settings.php");
say(htmlspecialchars($text), 0, 1);

// читаем ответ
$sqlQuery = "SELECT MESSAGE
               FROM shouts
              WHERE MEMBER_ID = 0
              ORDER BY ID DESC
              LIMIT 1";

$speech = current(SQLSelectOne($sqlQuery));

if ($text == 'GOOGLE_ASSISTANT_WELCOME') {$speech ='Привет, чем могу помочь?';}
//отвечаем гуглу
$response = new \stdClass();
$response->speech = $speech;
$response->displayText = $speech;
$response->source = "webhook";
echo json_encode($response);

?>
За это сообщение автора vitt76 поблагодарили (всего 3):
skysilver (Вт окт 16, 2018 12:21 pm) • ovcher (Вт окт 16, 2018 2:33 pm) • sorochan.ilya (Пт окт 19, 2018 4:45 pm)
Рейтинг: 4.29%
Broadlink + Orange Pi PC ARMBIAN 5.31
Аватара пользователя
vitt76
Сообщения: 331
Зарегистрирован: Вс апр 09, 2017 2:36 pm
Благодарил (а): 94 раза
Поблагодарили: 38 раз

Re: Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Сообщение vitt76 » Вт окт 16, 2018 2:10 pm

Добавил в код для поддержки старых версий

Код: Выделить всё

$db = new mysql(DB_HOST, '', DB_USER, DB_PASSWORD, DB_NAME);
если кто качал, перекачайте, спасибо ovcher за бета-тест :)
За это сообщение автора vitt76 поблагодарили (всего 2):
ovcher (Вт окт 16, 2018 2:34 pm) • sorochan.ilya (Пт окт 19, 2018 5:20 pm)
Рейтинг: 2.86%
Broadlink + Orange Pi PC ARMBIAN 5.31
Аватара пользователя
Strangeman
Сообщения: 70
Зарегистрирован: Ср янв 16, 2013 6:35 pm
Откуда: Золотарево
Благодарил (а): 45 раз
Поблагодарили: 11 раз
Контактная информация:

Re: Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Сообщение Strangeman » Чт окт 25, 2018 2:36 pm

Можно переносить в библиотеку решений?
Аватара пользователя
vitt76
Сообщения: 331
Зарегистрирован: Вс апр 09, 2017 2:36 pm
Благодарил (а): 94 раза
Поблагодарили: 38 раз

Re: Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Сообщение vitt76 » Чт окт 25, 2018 2:39 pm

Да, я поправил шапку, спасибо.
Broadlink + Orange Pi PC ARMBIAN 5.31
newz20
Сообщения: 58
Зарегистрирован: Пт апр 06, 2018 9:40 am
Благодарил (а): 40 раз
Поблагодарили: 3 раза

Re: Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Сообщение newz20 » Чт ноя 01, 2018 5:02 pm

vitt76 писал(а):
Чт окт 25, 2018 2:39 pm
Да, я поправил шапку, спасибо.
Поскольку решение готово, прошу для избежания вопросов:
1) поправить на скринах несоответствие путей 'Создаем свою ответную часть webhook, например, файл webhook.php, который обязательно должен лежать в корне сайта.' И последнего скрина (ваш файл лежит еще и в папке webhook, а не в корне сразу)
2) Welcome-action я удалил, чтобы он не мешал, на скрине вроде он присутствует еще или я ошибаюсь?
3) Показать как связать с гуглом и настройка в гугле если нужна.

Это из того что бегло нашел и не хватает.
В идеале Расписать все по полочкам со скринами как должно быть (Там где нужно свое указать так и пишите свое или обведите на скрине) , для самых непонятливых, как я :)

Большое спасибо вам за проделанную работу. :!:
Аватара пользователя
webms
Сообщения: 311
Зарегистрирован: Чт дек 15, 2016 3:13 am
Благодарил (а): 102 раза
Поблагодарили: 67 раз

Re: [Настройка] Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Сообщение webms » Пт ноя 02, 2018 12:24 pm

Всем привет. Т.е. благодаря решением ТС можно общаться с гугл колонкой на русском?
skysilver
Сообщения: 2042
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 288 раз
Поблагодарили: 1168 раз
Контактная информация:

Re: [Настройка] Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Сообщение skysilver » Пт ноя 02, 2018 1:41 pm

webms писал(а):
Пт ноя 02, 2018 12:24 pm
Всем привет. Т.е. благодаря решением ТС можно общаться с гугл колонкой на русском?
Нет. Колонка русский не понимает пока.

А в целом гугл ассистент давно интегрирован через Коннект. Здесь же альтернативный способ.
За это сообщение автора skysilver поблагодарил:
webms (Вс ноя 04, 2018 1:34 pm)
Рейтинг: 1.43%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Ответить