예제 #1
0
        public GiveOptionsDialog(LuisSetup luisRecognizer, ILogger <GiveOptionsDialog> logger, UserState userState, WhereToReceiveDialog whereToReceive, NoUnderstandDialog noUnderstand, WantMoreDialog wantMore, GoodbyeDialog goodbye)
            : base(nameof(GiveOptionsDialog))
        {
            _recognizer = luisRecognizer;
            _userState  = userState;
            Logger      = logger;

            AddDialog(new ChoicePrompt(nameof(ChoicePrompt)));
            AddDialog(new TextPrompt(nameof(TextPrompt)));
            AddDialog(whereToReceive);
            AddDialog(noUnderstand);
            AddDialog(wantMore);
            AddDialog(goodbye);

            AddDialog(new WaterfallDialog(nameof(WaterfallDialog), new WaterfallStep[]
            {
                GetMoreInfo,
                CheckMoreInfo,
                RetryCheckMoreInfo,
                EndAsync,
            }));

            InitialDialogId = nameof(WaterfallDialog);
        }
예제 #2
0
        public GiveOptionsNotClientDialog(LuisSetup luisRecognizer, ILogger <GiveOptionsNotClientDialog> logger, UserState userState, WhereToReceiveDialog whereTo, InfoSendNotClientDialog infoSend, NoUnderstandDialog noUnderstand, GoodbyeDialog goodbye)
            : base(nameof(GiveOptionsNotClientDialog))
        {
            _recognizer = luisRecognizer;
            _userState  = userState;
            Logger      = logger;

            AddDialog(new TextPrompt(nameof(TextPrompt)));
            AddDialog(new ChoicePrompt(nameof(ChoicePrompt)));
            AddDialog(whereTo);
            AddDialog(infoSend);
            AddDialog(noUnderstand);
            AddDialog(goodbye);

            AddDialog(new WaterfallDialog(nameof(WaterfallDialog), new WaterfallStep[]
            {
                OptionAsync,
                MoreAsync,
                RetryMoreAsync,
                EndAsync,
            }));

            InitialDialogId = nameof(WaterfallDialog);
        }