【问题标题】:Alexa sdk ask promptAlexa sdk 询问提示
【发布时间】:2018-04-19 06:52:18
【问题描述】:

我有一个场景,客户问 Alexa 我的旅行计划是什么,映射到“TravelIntent”。此意图从 REST API 获取客户旅行详细信息,并发现客户拥有超过 1 个旅行计划。现在我提示用户我可以看到有多个计划。说 1 表示周末旅行,说 2 表示等等等等。现在,当用户回复说 2 Alexa 可以向用户展示您下周的旅行是德里等.. 现在的问题是我是否必须查询休息api 以获得详细信息,或者有什么方法可以让我在 Alexa 会话中保存数据,以及它如何使用用户的“询问”响应,因为“TravelIntent”已经收到来自 rest api 的数据。

【问题讨论】:

    标签: node.js aws-lambda alexa alexa-skills-kit


    【解决方案1】:

    是的,首先你可以通过在意图中设置槽来获得用户的响应,例如,

    {
          "slots": [
            {
              "name": "Plan",
              "type": "AMAZON.NUMBER"
            }
          ],
          "intent": "TravelIntent"
    }
    

    通过此操作,您将获得计划编号,您可以通过它获得,

    var planNumber = event.request.intent.slots.Plan.value;

    并相应地查询响应。

    现在,您可以通过制作模块来保存数据,并随时获取。像这样,

    var dataModule = function(){};
    
    dataModule.prototype.setData = function(data){
        this.data = data;
    }
    
    dataModule.prototype.getData = function(data){
        return this.data;
    }
    
    module.exports = new dataModule();
    

    在你想要数据的地方只需要一行,

    var data = require('./dataModule');

    现在,您可以使用数据对象来获取数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-17
      • 2018-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多