Code snipet
'use strict';
const Alexa = require('alexa-sdk');
const APP_ID = undefined; // TODO replace with your app ID (OPTIONAL).
const handlers = {
'LaunchRequest': function () {
const speechOutput = 'いらっしゃいませ。Amazonコーヒーへようこそ。今日はなににしますか?';
this.emit(':ask', speechOutput, speechOutput);
},
'OrderIntent': function () {
var intent = this.event.request.intent;
const amountSlotFilled = intent && intent.slots && intent.slots.amount && intent.slots.amount.value;
console.log(JSON.stringify(intent));
if (amountSlotFilled == null){
this.emit(':tell', 'コーヒーですね、ありがとうございます。今日は天気がいいので全部100円でいいですよ。またの御利用をお待ちしております。');
} else {
this.attributes.amount = amountSlotFilled;
this.emit(':tell', 'コーヒーを' + amountSlotFilled + 'つですね、ありがとうございます。今日は天気がいいので全部100円でいいですよ。またの御利用をお待ちしております。');
}
},
'orderIntent': function () {
this.emit(':tell', 'インテントの大文字、小文字が間違っていませんか? 一度設定を確認して下さい。');
},
'orderintent': function () {
this.emit(':tell', 'インテントの大文字、小文字が間違っていませんか? 一度設定を確認して下さい。');
},
'SugarIntent': function () {
var intent = this.event.request.intent;
const sugarSlotFilled = intent && intent.slots && intent.slots.sugar && intent.slots.sugar.value;
var msgAmount = '';
if (this.attributes.amount != null){
msgAmount = this.attributes.amount + '杯';
}
if (sugarSlotFilled == null){
this.emit(':tell', '');
} else {
this.emit(':tell', '');
}
},
'AMAZON.YesIntent': function () {
this.emit(':ask', '');
},
'AMAZON.NoIntent': function () {
var msgAmount = '';
if (this.attributes.amount != null){
msgAmount = this.attributes.amount + '杯';
}
this.emit(':tell', 'かしこまりました。ではコーヒー' + msgAmount + '、ご用意致します。ありがとうございました。');
},
'AMAZON.HelpIntent': function () {
const speechOutput = 'コーヒーショップです。挽きたての美味しいコーヒーをお届けしています。今日は何にしますか?';
this.emit(':ask', speechOutput, speechOutput);
},
'AMAZON.CancelIntent': function () {
this.emit(':tell', 'スキルを中止します。またいつでも呼んでくださいね!');
},
'AMAZON.StopIntent': function () {
this.emit(':tell', 'スキルを中止します。またいつでも呼んでくださいね!');
},
'AMAZON.StartOverIntent': function () {
const speechOutput = 'いらっしゃいませ。Amazonコーヒーへようこそ。今日はなににしますか?';
this.emit(':ask', speechOutput, speechOutput);
},
'Unhandled': function () {
const speechOutput = 'インテントの設定が間違っていませんか? 一度設定を確認して下さい。';
this.emit(':tell', speechOutput);
}
};
exports.handler = function (event, context) {
const alexa = Alexa.handler(event, context);
alexa.APP_ID = APP_ID;
// To enable string internationalization (i18n) features, set a resources object.
alexa.registerHandlers(handlers);
alexa.execute();
};