2017-12-08 8 views
0

Microsoftのbotフレームワークにwaterfallのダイアログがあり、geo、companyなどのようないくつかの質問をユーザーに尋ねます。私は、LUISインテントがGetCompanyNewsと一致するとトリガーされるダイアログをもう1つ表示します。ウォーターフォール中に割り込みを避けるためのダイアログ

エミュレータでは、ユーザーがウォーターフォール会話中に会社名を入力すると、もう1つのダイアログが表示され、ウォーターフォールダイアログが置き換えられます。

これは予期された動作ですか?はいの場合は、ウォーターフォールダイアログの中断を防ぐ手段がありますか?

答えて

0

GitHubでも同様のシナリオがhttps://github.com/Microsoft/BotBuilder/issues/2670にあります。その根本的な原因は次のとおりです。

私はあなたがボットレベルにレコグナイザを持っていることを確認しました(あなたはライブラリとダイアログレベルでもそれらを持つことができます)。ボットが応答を処理するとき(プロンプトダイアログ中であっても)、ルートを認識する必要があります。すべてのルート認識プログラムが実行されたときです。

そしてまた、我々はボットSDKのバージョンを必要とするソリューションを持っているが3.8その後、大きい、

3.8での貢献者は、新たなonEnabledonFilterメソッドを使用しての認識機能をカスタマイズする機能を追加しました。

var recognizer = new builder.LuisRecognizer('<model>').onEnabled(function (context, callback) { 
    var enabled = context.dialogStack().length == 0; 
    callback(null, enabled); 
}); 
このフィルタを追加すると、次のようになります。
関連する問題