Я хочу использовать последующие намерения. Мой пользователь говорит что-то, что запускает намерение, отправляет ответ и запускает другой, который отправляет ответ и запускает другой... Я использую эту функцию
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 за цель. Есть ли способ исправить это? Спасибо
Нет, нет никакого способа "исправить" это. Последующие события - это способ перенаправления от намеченного на текущий момент намерения к другому намерению. У намерения совпадения в настоящее время нет возможности ответить, прежде чем он будет перенаправлен. Это означает, что у вас будет только один ответ от намерения, которое перенаправлено на последний. Вы не можете скомпилировать ответ из нескольких ответов о намерениях, перенаправляя их несколькими событиями с последующими событиями.
Когда в веб-чеке запускается последующее событие, инициируется событие, указанное в ответе webhook. Запуск события через webhook отправляет запрос обратно через Dialogflow для сопоставления без ответа на пользователя. Ответ на пользователя отправляется, как если бы пользователь вызывал событие, которое было инициировано в веб-чеке. После того, как второе намерение совпадает с событием, Dialogflow выполнит любую необходимую работу (например, вызовы веб-чек или дополнительные подсказки для требуемых параметров) и отправьте ответ, как если бы второе намерение было первоначально согласованным намерением.