【发布时间】:2020-02-10 14:53:40
【问题描述】:
我正在尝试切换 Intent,而不使用 ElicitSlot。原因是我的下一个 Intent 不需要插槽或用户输入。
目前我正在使用 ElicitSlot。在 Greetings 意图中,我设置了插槽 Nums。在新闻意图中,我检查插槽“Nums”是否存在并相应地进行。但是这不起作用,它仍然要求提示“Nums”插槽。
当前问候意图:履行
var sessionAttributes = intentRequest.sessionAttributes;
var slots = intentRequest.currentIntent.slots;
const num = slots.Num;
if(num == 1){
str = 'News';
intentRequest.currentIntent.name = 'News';
intentRequest.currentIntent.slots = {
Nums: 3
}
callback(close(sessionAttributes, str, intentRequest.currentIntent.slots, 'Nums'));
}
当前新闻意图:Lambda 初始化和验证
if(!slots.Nums){
slots.Nums = intentRequest.inputTranscript;
callback(close(sessionAttributes, 'News', slots, 'Nums'));
}
if(slots.Nums){
callback(close(sessionAttributes, 'News', slots, 'Displaying News...'));
}
成功对话框示例:
用户:嗨
机器人:欢迎:(1) 新闻 (2) 选项 2 (3) 选项 3
用户:1
机器人:显示新闻...
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-lex