2016-09-07 2 views
0

私はchatbotにLUISを統合しました。ほとんどのダイアログはdialog.matches()を使って定義されています。 問題は、一部のダイアログを他のダイアログにリダイレクトする必要がありますが、replaceDialogまたはbeginDialogは、dialog.matchesを使用して定義されたダイアログでは機能していないようです。 例:どのように私は手動でいくつかの他のダイアログから呼び出すん replaceDialog()dialog.matchesを使用してダイアログを定義しています

ダイアログ

options.dialog.matches('startActivity', [ 
     function(session) { 
}) 
次を検討しますか? session.replaceDialog('startActivity')はエラーをスローします。
Error: Dialog[*:startActivity] not found. 
    at Session.replaceDialog (D:\insight\ms-bot\src\api\node_modules\botbuilder\ 
lib\Session.js:146:19) 
    at Array.options.dialog.matches.regEx (D:\insight\ms-bot\src\api\dialogs\mor 
tgage\mortgage-check-account-balance.dialog.js:7:26) 
    at Object.waterfallAction [as mortgageCheckBalance] (D:\insight\ms-bot\src\a 
pi\node_modules\botbuilder\lib\dialogs\DialogAction.js:130:25) 
    at IntentDialog.invokeIntent (D:\insight\ms-bot\src\api\node_modules\botbuil 
der\lib\dialogs\IntentDialog.js:264:44) 

()は、ダイアログ名と一致しないようにする意図があるgithib

答えて

1

に試合に指定した文字列をthis issueを参照してください。あなたは別のダイアログとしてあなたの滝を壊す必要があります:

options.dialog.matches('startActivity', [ 
    function (session) { 
      session.beginDialog('/startActivity'); 
    } 
]); 

bot.dialog('/startActivity', [ 
    function (session) { }, 
    function (session, results) { 
      session.replaceDialog('/startActivity'); 
    } 
]); 
関連する問題