Я пытаюсь создать очень простое приложение Dialogflow для Actions в Google.
Я имел в виду очень простой таймер, но каждые X секунд агент будет сообщать пользователю "X секунд осталось".
Я использую раздел Fulfillment в диалоге.Я попытался сделать простой setTimeout, который включает в себя еще один agent.add, но Dialogflow игнорирует его при развертывании:
function startTimer(agent)
{
agent.add("Timer started! 20 seconds from now.");
setTimeout(function(){
agent.add("10 seconds left!");
}, 10000);
agent.add("Time out.");
}
let intentMap = new Map();
intentMap.set('timer', startTimer);
agent.handleRequest(intentMap);
Ответ от помощника - простой «Таймер».начался "и" Тайм-аут ", без оставшихся X секунд.Есть ли способ добавить ответ при запуске намерения?Спасибо!
РЕДАКТИРОВАТЬ |как и предполагалось, я пробовал использовать SSML, но теги отображаются на экране, когда ассистент говорит их.
const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
const {Card, Suggestion} = require('dialogflow-fulfillment');
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
const agent = new WebhookClient({ request, response });
function startTimer(agent)
{
agent.add("Something to say");
agent.add(`<speak><seq><media begin="30s"><speak>30 seconds</speak></media><media begin="30s"><speak>1 minute</speak></media></seq></speak>`);
agent.add(new Suggestion(`Quit`));
}
let intentMap = new Map();
intentMap.set('timer-go', startTimer);
agent.handleRequest(intentMap);
});