2017-06-04 43 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);