【问题标题】: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');
现在,您可以使用数据对象来获取数据。