Мне нужно использовать последующие события, чтобы увеличить время ожидания Dialogflow на 5 секунд до 15 (или, по крайней мере, 10) секунд, так как я делаю несколько запросов, которые требуют друг друга, сумма всех часто достигает больше, чем 5 секунд.
Я пытался вызвать некоторые последующие события в встроенном редакторе, но метод agent.setFollowupEvent(...)
, похоже, ничего не делает, событие вообще не вызывается.
Я пытался добавлять / удалять действия, обучающие фразы, которые идеально соответствуют ответу предыдущего намерения, использовали контексты, но ничего не получалось. Я всегда получаю ошибку «тайм-аут», мой агент ничего не делает.
Я также удостоверился, что вызовы webhook активированы для каждого намерения
'use strict';
var https = require ('https');
const functions = require('firebase-functions');
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
let action = request.body.queryResult.action;
const agent = new WebhookClient({ request, response });
if (action == 'test.followup') { //triggered by 1st intent
console.log("In test.followup");
agent.setFollowupEvent('customevent1'); //should trigger the 2nd intent
console.log("We are here");
}
else if (action == 'test.followup2') { //triggered by 2nd intent
console.log("In test.followup2");
agent.setFollowupEvent('customevent2');//should trigger the 3rd intent
}
else if (action == 'test.followup3') { //triggered by 3rd intent
console.log("In test.followup3");
response.send(JSON.stringify({"fulfillmentText": "We did it !"}));
}
}
Я ожидаю, что 1-е намерение вызовет событие "cusomevent1", что вызовет 2-е намерение, приводящее к действию "test.followup2", затем к событию "customevent2" и т. Д., Однако строка "agent.setFollowupEvent" ('customevent1') "ничего не делает (и я вижу, что в консоли Firebase записывается строка« Мы здесь! »), что в итоге дает мне ответ по умолчанию для намерения 1.