我试图在不使用ElicitSlot的情况下切换Intent。原因是因为我的下一个Intent不需要插槽或用户输入。
当前,我正在使用ElicitSlot。在“问候语”中,我设置了“插槽编号”。根据新闻意图,我检查广告位“ 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...'));
}
示例成功对话框:
用户:嗨
Bot:欢迎:(1)新闻(2)选项2(3)选项3
用户:1
Bot:显示新闻...
if(num == 1){
callback(close(sessionAttributes, 'News', slots, 'Displaying News...'));
}