我想为多种Alexa技能提供服务。因此,当我收到带有SkillId的请求时,我会将其转发给另一个技能,而当我接收到另一个技能ID时,则将其转发给另一个技能。 我的问题是应如何在代码中处理它。如今我只有一种技能:
app.post('/', function(req, res) {
let skillId = req.body.session.application.applicationId;
let skill;
const LaunchRequestHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'LaunchRequest';
},
handle(handlerInput) {
const speechText = 'Wilkommen zum Feratel Webcams!';
return handlerInput.responseBuilder
.speak(speechText)
.reprompt(speechText)
.withSimpleCard('Feratel Webcams', speechText)
.getResponse();
}
};
skill = Alexa.SkillBuilders.custom()
.addRequestHandlers(
LaunchRequestHandler
)
.create();
skill.invoke(req.body)
.then(function (responseBody) {
res.json(responseBody);
})
.catch(function (error) {
console.log(error);
res.status(500).send('Error during the request');
});
});