Действия в Google (обработка отката) - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть запрос к Google home (Dialogflow).

В конкретном случае, после того как я трижды выполнил резервное намерение, он завершается с заявлением

Извините, я могу 't help

Но он должен подсказать

Я заканчиваю этот сеанс, увидимся позже.

Вот код отступления от намерения

app.intent('Default Fallback Intent', (conv) => 
{
    const repromptCount = parseInt(conv.arguments.get('REPROMPT_COUNT'));
    if (repromptCount === 0) { conv.ask(`Hey are you listening?`); } 
    else if (repromptCount === 1) { conv.ask(`Are you still around?`); } 
    else if (conv.arguments.get('IS_FINAL_REPROMPT')) { conv.close(`I am ending this session see you again later.`); }
});

1 Ответ

0 голосов
/ 07 сентября 2018

Я предполагаю, что вы пытаетесь следовать указаниям в документации о динамических повторных репликациях для ответов типа "без ввода".

Похоже, проблема в том, что вы пытаетесь использовать это для Fallback Intent, который специально не запускается при событии NO_INPUT. Таким образом, он выполняет тестирование, и ни аргументы REPROMPT_COUNT, ни IS_FINAL_REPROMPT не установлены.

Если вы используете многофункциональную библиотеку , она будет хранить счетчики всех вызываемых Intents и Actions (как для сеанса, так и последовательно), и содержит некоторые макросы, помогающие в ваших ответах.

Если вы хотите использовать существующую библиотеку, вам нужно будет отслеживать это самостоятельно и сохранять ее в контексте или в объекте данных сеанса.

Если вы намеревались использовать это как часть ответа «без ввода», вам необходимо убедиться, что вы используете это с намерением, для которого установлено событие actions_intent_NO_INPUT.

...