因此Alexa中的“OnIntent:function”是什么?

时间:2018-01-07 23:17:20

标签: javascript node.js alexa alexa-skills-kit alexa-voice-service

AlexaSkill.prototype.eventHandlers = {
    OnSessionStarted: function(sessionStartedRequest, session){
    },
    OnLaunch: function(launchRequest, session, response){
     throw: "OnLaunch should be overriden by subclass";
     },
    OnIntent: function(intentRequest, session, response){
       var intent = intentRequest.intent,
           intentName = intenRequest.intent.name,
           intentHandler = this.intentHandler(intentName);
    if (intentHandler){
        console.log('dispatch intent =' + intenRequest);
        intentHandl.ercall(this,intent, session,session);
    } else {
        throw 'Unsupported intent =' + intenName;
    }
},
    OnSessionEnded: function(sessionEndedRequest,session){
     }
};

仍然试图弄清楚这个OnIntent在这个事件Handler中做了什么;

因此它(在会话中),“Alexa,请求调用,然后是话语”(只是混淆了 你必须再次询问Alexa(启动?)会话再次唤醒Alexa)

或者它只是故事技巧中的三条路线(路径一,路径二,路径三)

我也做了删除它,并尝试查看它是否有效,但它不是

祝福和爱很多

KC.D

1 个答案:

答案 0 :(得分:1)

" onIntent" Alexa Skills Kit中的功能是Alexa语音服务和您正在构建的技能之间的中间层。它需要"意图" (用户根据您的Sample Utterances请求的内容)并将其传递给您自己代码中的匹配函数。

你可以在亚马逊的例子中看到一些intentHandlers的样本" Hello World"代码:https://github.com/amzn/alexa-skills-kit-js/blob/6c59448d8bb2701433ab7e117574199012bedd3f/helloWorld/src/index.js#L64-L72

此处还有技能工具包(包括您问题中的代码)的精彩演练:http://tobuildsomething.com/2015/08/14/Amazon-Alexa-JavaScript-SDK-The-Ultimate-Guide/

您担心多次唤醒Alexa:亚马逊提供了用户请求的详细信息:https://developer.amazon.com/docs/custom-skills/understanding-how-users-invoke-custom-skills.html

我强烈推荐其他文档以及介绍教程。这将有助于使您与用户的互动方式更加清晰。