Alexa Skills Kit:在意图中间询问用户,然后根据用户响应继续在相同意图的范围内?

时间:2017-07-06 15:49:27

标签: javascript alexa

我知道标题可能会令人困惑,所以我举一个例子。

'GetDataIntent': function(){

    var body = "";
    var url = "someAPI.com";

    https.get(url, (response) =>{
        response.on('data', (chunk) => {
            body+=chunk;
        });
        response.on('end', (chunk) => {
            var data = JSON.parse(body);
            /* Do Some Stuff */


            this.emit(":ask", "Would you like more info?");

            //The Concept I am trying to describe
            Alexa.registerHandlers(innerHandlers);
            var innerHandlers = {
                'AMAZON.YesIntent': function(){
                     this.emit(":tell", "More info");
                     /* then destroy the temp handlers */
                 },
                'AMAZON.NoIntent': function(){
                     this.emit(":tell", "Goodbye!");
                     /* Destroy the temp handlers */
                 }
            };
        }); 
});
}

从我读过的关于ASK的文档中,似乎你必须在程序开始时注册处理程序,但由于显而易见的原因,我无法做到这一点。我希望能够制作临时处理程序,类似于我所展示的方式,因此它不会跳转到任何随机意图,而是根据用户响应保持在当前意图的范围内。

1 个答案:

答案 0 :(得分:0)

您应该在端点处理程序中处理此问题,并在会话对象上保持状态