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);
};