replaceDialog () der dialogen defind ved hjelp dialog.matches

stemmer
0

Jeg har integrert LUIS med min chatbot, og nesten alle mine dialoger er definert ved hjelp dialog.matches (). Problemet er at enkelte dialoger må bli omdirigert til andre dialoger, men replaceDialogeller beginDialogikke synes å være å jobbe for dialoger som er definert ved hjelp dialog.matches. Eksempel: vurdere følgende dialog

options.dialog.matches('startActivity', [
        function(session) {
})

Hvordan kan jeg manuelt påkalle den fra en annen dialog? session.replaceDialog('startActivity')kaster en feil.

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)

Henvis dette problemet på githib

Publisert på 07/09/2016 klokken 13:45
kilden bruker
På andre språk...                            


1 svar

stemmer
1

Strengen du passerer inn i kampene () er hensikten å matche ikke en dialog navn. Du trenger å bryte fossen ut som en egen dialog slik:

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

bot.dialog('/startActivity', [
     function (session) { },
     function (session, results) {
          session.replaceDialog('/startActivity');
     }
]);
Svarte 30/09/2016 kl. 17:22
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more