数当てゲームのようなスキルを開発しています。
ユーザーが正解の数字を言うまでは会話を続けて、正解の数を言ったら対話を終了させるようにしたいです。(if (receivedNumber == correctAnswer){responce = '正解。'} の条件になったら対話を終了)
今のコードだと正解を言った後も対話(セッション?)がオープンになったままになり、スキル審査を通過できません。
どのような処理を加えればよいのでしょうか?
///////////////////////////////////////////////////////////////////////////////////
const AnswerIntentHandler = {
canHandle(handlerInput) {
return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest'
&& Alexa.getIntentName(handlerInput.requestEnvelope) === 'AnswerIntent';
},
handle(handlerInput) {
//数字を取得
let receivedNumber = handlerInput.requestEnvelope.request.intent.slots.number.value;
let times = firstTime++;
let correctAnswer = 10;
if (receivedNumber == correctAnswer){
responce = '正解。'
}
if (receivedNumber > correctAnswer){
responce = 'ブー。大きい'
}
if (receivedNumber < correctAnswer){
responce = 'ブーー。小さい'
}
let speakOutput = times + '回目の回答です。' + responce ;
return handlerInput.responseBuilder
.speak(speakOutput)
.reprompt('さて、私の思い浮かべている数は何でしょうか?')
.getResponse();
}
};
///////////////////////////////////////////////////////////////////////////////////