alexa-sdk response.listen(повторная речь)

В игровом навыке Alexa High Low Game Skill есть следующий код в startGameHandlers:

'AMAZON.YesIntent': function() {
    this.attributes["guessNumber"] = Math.floor(Math.random() * 100);
    this.handler.state = states.GUESSMODE;
    this.response.speak('Great! ' + 'Try saying a number to start the game.').listen('Try saying a number.');
    this.emit(':responseReady');
},

После того, как я запускаю игру и отвечаю "да", я слышу речевые сообщения Алексы "Отлично! Попробуйте произнести число, чтобы начать игру". Если я не отвечаю, следует ли ожидать повторной речи "Попробуйте произнести число". разыгрывается Алекса? Что я заметил, так это то, что речь о повторении никогда не разыгрывается.

И как долго Алекса будет ждать моего ответа до закрытия сессии? Похоже, я должен ответить быстро, чтобы продолжить, в противном случае сессия закрыта.

1 ответ

Да, Алекса должна сыграть ответную речь. Перепроверка срабатывает после ожидания 8 секунд. Время ответа после повторной реплики равно 8 с. После этого времени сеанс закрывается.

Чтобы решить проблему, когда Alexa не запускает повторную реплику, попробуйте отправить свой ответ следующим образом.

'AMAZON.YesIntent': function() {
    this.attributes["guessNumber"] = Math.floor(Math.random() * 100);
    this.handler.state = states.GUESSMODE;
    var speechOutput = 'Great! Try saying a number to start the game.';
    var repromptSpeech = 'Try saying a number.';
    this.emit(':ask', speechOutput, repromptSpeech);
};
Другие вопросы по тегам