Я пытаюсь создать пользовательские запасные варианты для намерений, которые содержат подтверждения. Вот код:
const functions = require('firebase-functions');
const {
dialogflow,
Confirmation
} = require('actions-on-google');
const app = dialogflow({
debug: true,
});
app.intent('vitals-confirmation', (conv, input, confirmation) => {
conv.ask(new Confirmation(`Great! Have you fainted recently?`));
});
app.intent('vitals-confirmation-fallback', (conv, input, confirmation) => {
conv.ask(new Confirmation(`Sorry I didn't understand what you said. Did you faint?`));
})
app.intent('S1-confirmation', (conv, input, confirmation) => {
if (confirmation) {
conv.ask(new Confirmation(`I have recorded that you have fainted. Have your feet been hurting?`));
} else {
conv.ask(new Confirmation(`I have recorded that you have not fainted. Have your feet been hurting?`));
}
});
Мое приложение спрашивает пользователя, упали ли они в обморок в "vitals-подтверждении", и ожидается ли, что пользователь ответит типом ответа "да" или "нет", который будет идентифицирован помощником подтверждения, если они сделают это правильно, они перейдут к «S1-подтверждение» и будет задан следующий вопрос.
Однако, когда я отвечаю с ответом, который не является ответом типа да / нет (например, «красный»), выводится следующее:
Sorry, Great! Have you fainted recently?
Кажется, что по умолчанию есть запасной вариант, который отвечает "Извините, [повторяет предыдущий текстовый вывод]" и не переходит к пользовательскому намерению отступления, которое я создал (что является моим желаемым результатом).