2017-06-04 45 views
0

我有一个对话框,如下所示,从用户对话框变化

bot.dialog('/getUsernamePassword', [ 
function (session) { 
    builder.Prompts.text(session, 'Please enter your username'); 
}, 
function (session, results) { 
    session.userData.name = results.response; 
    builder.Prompts.text(session, 'Please enter your password'); 
}, 
function (session, results) { 
    session.userData.password = results.response; 
    session.endDialogWithResult(results); 
} 
]); 

获取用户名和密码,输入用户名后,我的对话框不下去,而是去根对话框,并打印“我不明白,请再试一次“(默认信息)

任何人都可以帮助我理解我在这里做错了吗?

我识别配置如下

var model = 'https://westus.api.cognitive.microsoft.com/luis/..; 
var recognizer = new builder.LuisRecognizer(model); 
bot.recognizer(recognizer); 
// Add regular expression recognizer to bot 
var helpRecognizer = new builder.RegExpRecognizer('HelpIntent', /^(help|options)/i); 
var cancelRecognizer = new builder.RegExpRecognizer("CancelIntent", /^(cancel|nevermind)/i); 
bot.recognizer(helpRecognizer); 
bot.recognizer(cancelRecognizer); 
var intents = new builder.IntentDialog({ recognizers: [helpRecognizer,cancelRecognizer,recognizer] }); 
+0

除了埃塞基耶尔的答案,你可能不应该堵你识别成机器人,然后使用IntentDialog。你在代码中使用IntentDialog吗? –

回答

1

我认为,正在发生的事情是,你的反应是经历LUIS

为了避免这种情况,更新您的LuisRecognizer的定义如下所示:

var model = 'https://westus.api.cognitive.microsoft.com/luis/..; 
var recognizer = new builder.LuisRecognizer(model).onEnabled((context, callback) => { 
    var enabled = context.dialogStack().length === 0; 
    callback(null, enabled); 
}); 
bot.recognizer(recognizer);