这是我用于lambda函数的代码段,但我正在使用sdk v2。当我运行它时,该技能会在启动请求后立即超时。
我尝试过.keepSession()
和.listen()
const LaunchRequestHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type==='LaunchRequest';
},
handle(handlerInput) {
const speakOutput = 'Hello,Welcome to DXC\'s google.How may I help you?';
return handlerInput.responseBuilder
.speak(speakOutput) // The text passed to speak, is what Alexa will say.
.getResponse();
},
};
//asks for employee id
const EmployeeIdIntentHandler = {
canHandle(handlerInput) {
console.log(handlerInput.requestEnvelope.request.intent.name);
return handlerInput.requestEnvelope.request.type === 'IntentRequest'
&& handlerInput.requestEnvelope.request.intent.name === 'EmployeeIdIntent'
},
handle(handlerInput) {
const speakOutput = 'Please tell me your employee id';
return handlerInput.responseBuilder
.speak(speakOutput) // The text passed to speak, is what Alexa will say.
.getResponse();
},
};
任何帮助将不胜感激。
答案 0 :(得分:0)
我的第一个建议是在LaunchRequest上添加一个.reprompt(REPROMPT_MESSAGE)
,以提醒用户回答。
您也可以尝试添加
return handlerInput.responseBuilder
.speak(speakOutput)
.withShouldEndSession(false)
.getResponse();
我通常在需要关闭会话时使用它(参数中为true)。
您可以在文档中找到更多信息: https://developer.amazon.com/es/docs/custom-skills/request-and-response-json-reference.html#response-format
希望它能对您有所帮助!