question

飯澤 高志 avatar image
飯澤 高志 asked

条件を満たしたら対話を終了する処理について

数当てゲームのようなスキルを開発しています。

ユーザーが正解の数字を言うまでは会話を続けて、正解の数を言ったら対話を終了させるようにしたいです。(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();

}

};

///////////////////////////////////////////////////////////////////////////////////

sessionout-of-session
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

Taira@Amazon avatar image
Taira@Amazon answered

投稿ありがとうございます。

日本語の技術サポートスタッフが一時的に不在のため、Amazonからの回答をお待ちの場合は、英語にて以下のForumに投稿いただけますでしょうか。

https://amazon.developer.forums.answerhub.com/spaces/23/index.html

ご不便をおかけして申し訳ございませんが、何卒よろしくお願い申し上げます。

10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.