Диалоговое окно: followEventInput

1

Я хочу использовать последующие намерения. Мой пользователь говорит что-то, что запускает намерение, отправляет ответ и запускает другой, который отправляет ответ и запускает другой... Я использую эту функцию

function send_message_follow(res,output,token,quote,id,action,parametre){
    res.setHeader('Content-Type', 'application/json');
    res.send(JSON.stringify({
    "fulfillmentText" : output,
    "outputContexts": [ 
        {
            "name": id + "/contexts/connected",
            "lifespanCount": 5,
            "parameters": {
                "token": token, 
                "quote" : quote 
            }
        }
    ],
    "followupEventInput": {
        "name": action,
        "languageCode": "fr",
        "parameters": {
            "param": parametre,
        }
    }
}));'

function send_message_final(res,output,token,quote,id){ res.setHeader('Content-Type', 'application/json'); res.send(JSON.stringify({ "fulfillmentText": output, "outputContexts": [ { "name": id + "/contexts/connected", "lifespanCount": 5, "parameters": { "token": token, "quote": quote } } ] }));

Однако вывод не отображается с помощью send_message_follow. Я работаю только с send_message_final. Я мог бы добавить 1-й вывод в качестве параметра для поиска для других, но это показывает только 1 блок сообщения. Я хочу 1 за цель. Есть ли способ исправить это? Спасибо

  • 1
    Вы можете перефразировать свой вопрос? это немного сбивает с толку. Обновите свой вопрос и укажите намерения, и, возможно, разговор с пользователем-ботом.
Теги:
dialogflow

1 ответ

0

Нет, нет никакого способа "исправить" это. Последующие события - это способ перенаправления от намеченного на текущий момент намерения к другому намерению. У намерения совпадения в настоящее время нет возможности ответить, прежде чем он будет перенаправлен. Это означает, что у вас будет только один ответ от намерения, которое перенаправлено на последний. Вы не можете скомпилировать ответ из нескольких ответов о намерениях, перенаправляя их несколькими событиями с последующими событиями.

Когда в веб-чеке запускается последующее событие, инициируется событие, указанное в ответе webhook. Запуск события через webhook отправляет запрос обратно через Dialogflow для сопоставления без ответа на пользователя. Ответ на пользователя отправляется, как если бы пользователь вызывал событие, которое было инициировано в веб-чеке. После того, как второе намерение совпадает с событием, Dialogflow выполнит любую необходимую работу (например, вызовы веб-чек или дополнительные подсказки для требуемых параметров) и отправьте ответ, как если бы второе намерение было первоначально согласованным намерением.

Изображение 174551

  1. Пользователь отправляет запрос в Dialogflow.
  2. "Intent 1" соответствует Dialogflow.
  3. Запрос webhook отправляется на ваш сервер выполнения, что указывает на то, что цель 1 была сопоставлена.
  4. Сервер выполнения отвечает на запрос webhook с последующим ответом на события.
  5. Dialogflow повторно сопоставляет намерение 2 на основе последующего события, отправленного в ответе webhook.
  6. Dialogflow отправляет ответ пользователю, основанному исключительно на согласовании 2. Dialogflow может отправить другой вызов webhook, указывающий на намерение 2, или отправить запрос на невыполненные требуемые параметры (если они настроены) для намерения 2.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню