如果你想在Alexa技能中验证用户提供的DateSlot是否为"Morgen"而不是"Morgan",你可以使用以下代码示例中的逻辑:
const Alexa = require('ask-sdk-core');
const CheckDateIntentHandler = {
canHandle(handlerInput) {
return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest'
&& Alexa.getIntentName(handlerInput.requestEnvelope) === 'CheckDateIntent';
},
handle(handlerInput) {
const dateSlotValue = Alexa.getSlotValue(handlerInput.requestEnvelope, 'DateSlot');
if (dateSlotValue.toLowerCase() === 'morgen') {
// DateSlot的值是"Morgen"
return handlerInput.responseBuilder
.speak('DateSlot的值是"Morgen"')
.getResponse();
} else {
// DateSlot的值不是"Morgen"
return handlerInput.responseBuilder
.speak('DateSlot的值不是"Morgen"')
.getResponse();
}
},
};
const skillBuilder = Alexa.SkillBuilders.custom();
exports.handler = skillBuilder
.addRequestHandlers(
CheckDateIntentHandler
)
.lambda();
在上面的代码中,我们首先检查请求类型是否为"IntentRequest",然后检查意图名称是否为"CheckDateIntent"。然后,我们获取DateSlot的值并将其转换为小写,以便进行比较。如果DateSlot的值是"Morgen",则返回回应"DateSlot的值是"Morgen"";否则,返回回应"DateSlot的值不是"Morgen""。
你可以根据自己的需求将上面的代码示例集成到你的Alexa技能中。
上一篇:Alexa错误地发出了唤醒词。
下一篇:Alexa的地理位置