如何使用npm中的alexa-sdk将LaunchRequest委托给IntentRequest

我在使用alexa-sdk构build节点的Alexa技能。 我正在使用对话框模型来处理用户交互。 我有一些麻烦,将stream程传递给新的请求types ,例如从启动请求到意向请求。

下面是我的处理程序和我想要的理想的例子。 我的具体用例是,我想问一些用户的问题,然后根据他们的回答发送给他们不同的意图。 在intent中,我想访问请求对象,就好像他们最初input了这个intent一样,所以对话模型可以完成它的工作。

const handlers = { 'LaunchRequest': function () { this.emit('Entry'); // this does not do what I want }, 'Entry': function () { let request = this.event.request; // this is the launch request object. // I would like to get the request object for Entry, like if the user started here // ask some questions, potentially passing the torch to a new intent based on the answers } }; 

那么,有没有什么办法像用户最初向这个意图发出请求那样“打电话”呢? 对不起,如果我错过了文档中显而易见的东西,我仔细search周围,我认为,但有很多文件。 ps:我当然可以手动构build请求对象,但我真的不应该有我的感觉。

我敢肯定,你现在还没有办法打电话给你。

如果你在这里通过对话directieves的语法描述,它说:

请注意,您在返回对话框指令时不能更改意图,因此意图名称和时隙组必须与发送给您的技能的意图匹配。

通过返回对话框指令,您可以“引出”或“确认”槽位或意向,甚至让委托人为您处理对话,并在“技能构build器”中设置提示和重新提示。

据我所知,触发特定意图的唯一解决scheme是让用户调用它。 你可以引导用户说一个特定的utternace触发你的意图。

至于保存较旧的请求,您可以使用会话属性 。 只需在启动后使用包含整个LaunchRequest的会话属性构build响应即可。

 "sessionAttributes": { "oldRequest": this.event.request }