示例#1
0
        public QuantumDiceDialog(IStatePropertyAccessor <UserProfileTemporary> userProfileTemporaryAccessor, MainDialog mainDialog, ILogger <MainDialog> logger, IBotTelemetryClient telemetryClient) : base(nameof(QuantumDiceDialog))
        {
            _logger = logger;
            _userProfileTemporaryAccessor = userProfileTemporaryAccessor;
            _mainDialog = mainDialog;

            TelemetryClient = telemetryClient;

            AddDialog(new NumberPrompt <int>("MinNumberPrompt", DiceMinValidatorAsync)
            {
                TelemetryClient = telemetryClient,
            });
            AddDialog(new NumberPrompt <int>("MaxNumberPrompt", DiceMaxValidatorAsync)
            {
                TelemetryClient = telemetryClient,
            });
            AddDialog(new WaterfallDialog(nameof(WaterfallDialog), new WaterfallStep[]
            {
                EnterDiceMinStepAsync,
                EnterDiceMaxStepAsync,
                RollQDiceStepAsync,
                RollAgainStepAsync
            })
            {
                TelemetryClient = telemetryClient,
            });

            InitialDialogId = nameof(WaterfallDialog);
        }
示例#2
0
        public ChainsDialog(IStatePropertyAccessor <UserProfileTemporary> userProfileTemporaryAccessor, MainDialog mainDialog, ILogger <MainDialog> logger, IBotTelemetryClient telemetryClient) : base(nameof(ChainsDialog))
        {
            _logger = logger;
            _userProfileTemporaryAccessor = userProfileTemporaryAccessor;
            _mainDialog = mainDialog;

            TelemetryClient = telemetryClient;

            AddDialog(new ChoicePrompt(nameof(ChoicePrompt))
            {
                TelemetryClient = telemetryClient,
            });
            AddDialog(new NumberPrompt <int>(nameof(NumberPrompt <int>), DistanceValidatorAsync)
            {
                TelemetryClient = telemetryClient,
            });
            AddDialog(new WaterfallDialog(nameof(WaterfallDialog), new WaterfallStep[]
            {
                ChoosePointTypeStepAsync,
                ChooseCenterLocationTypeStepAsync,
                EnterDistanceStepAsync,
                StartChainingStepAsync
            })
            {
                TelemetryClient = telemetryClient,
            });

            InitialDialogId = nameof(WaterfallDialog);
        }
示例#3
0
        public MoreStuffDialog(IStatePropertyAccessor <UserProfileTemporary> userProfileTemporaryAccessor, MainDialog mainDialog, ILogger <MainDialog> logger, IBotTelemetryClient telemetryClient) : base(nameof(MoreStuffDialog))
        {
            _logger = logger;
            _userProfileTemporaryAccessor = userProfileTemporaryAccessor;
            _mainDialog = mainDialog;

            TelemetryClient = telemetryClient;

            AddDialog(new ChainsDialog(_userProfileTemporaryAccessor, mainDialog, logger, telemetryClient));
            AddDialog(new QuantumDiceDialog(_userProfileTemporaryAccessor, mainDialog, logger, telemetryClient));
            AddDialog(new ChoicePrompt(nameof(ChoicePrompt))
            {
                TelemetryClient = telemetryClient,
            });
            AddDialog(new WaterfallDialog(nameof(WaterfallDialog), new WaterfallStep[]
            {
                ChoiceActionStepAsync,
                PerformActionStepAsync,
            })
            {
                TelemetryClient = telemetryClient,
            });

            InitialDialogId = nameof(WaterfallDialog);
        }
示例#4
0
 public VFatumbot(ConversationState conversationState, UserPersistentState userPersistentState, UserTemporaryState userTemporaryState, MainDialog dialog, ILogger <VFatumbot <MainDialog> > logger)
 {
     _conversationState   = conversationState;
     _userPersistentState = userPersistentState;
     _userTemporaryState  = userTemporaryState;
     _mainDialog          = dialog;
     _logger = logger;
 }
        public QuantumRandomNumberGeneratorWrapper(ITurnContext turnContext, MainDialog mainDialog, CancellationToken cancellationToken, string entropyQueryString = null)
        {
            _turnContext       = turnContext;
            _mainDialog        = mainDialog;
            _cancellationToken = cancellationToken;
#if EMULATORDEBUG
            qRNG = new PseudoRandomNumberGenerator();
#else
            qRNG = new QuantumRandomNumberGenerator();
            qRNG.EntropySrcQueryString = entropyQueryString;
#endif
        }
示例#6
0
        public TripReportDialog(IStatePropertyAccessor <UserProfileTemporary> userProfileTemporaryAccessor, MainDialog mainDialog, ILogger <MainDialog> logger, IBotTelemetryClient telemetryClient) : base(nameof(TripReportDialog))
        {
            _logger = logger;
            _userProfileTemporaryAccessor = userProfileTemporaryAccessor;
            _mainDialog = mainDialog;

            TelemetryClient = telemetryClient;

            AddDialog(new ChoicePrompt(nameof(ChoicePrompt))
            {
                TelemetryClient = telemetryClient,
            });
            AddDialog(new ChoicePrompt("AllowFreetextTooChoicePrompt",
                                       (PromptValidatorContext <FoundChoice> promptContext, CancellationToken cancellationToken) =>
            {
                // forced true validater result to also allow free text entry for ratings
                return(Task.FromResult(true));
            })
            {
                TelemetryClient = telemetryClient,
            });
            AddDialog(new TextPrompt(nameof(TextPrompt))
            {
                TelemetryClient = telemetryClient,
            });
            AddDialog(new AttachmentPrompt(nameof(AttachmentPrompt))
            {
                TelemetryClient = telemetryClient,
            });
            AddDialog(new WaterfallDialog(nameof(WaterfallDialog), new WaterfallStep[]
            {
                ReportYesOrNoStepAsync,
                StartReportStepAsync,
                SetIntentYesOrNoStepAsync,
                GetIntentStepAsync,
                ArtifactsCollectedYesOrNoStepAsync,
                FuckingAmazingYesOrNoStepAsync,
                RateMeaningfulnessStepAsync,
                RateEmotionalStepAsync,
                RateImportanceStepAsync,
                RateStrangenessStepAsync,
                RateSynchronictyStepAsync,
                UploadPhotosYesOrNoStepAsync,
                GetPhotoAttachmentsStepAsync,
                WriteReportStepAsync,
                FinishStepAsync
            })
            {
                TelemetryClient = telemetryClient,
            });

            InitialDialogId = nameof(WaterfallDialog);
        }
示例#7
0
        public ScanDialog(IStatePropertyAccessor <UserProfileTemporary> userProfileTemporaryAccessor, MainDialog mainDialog, ILogger <MainDialog> logger, IBotTelemetryClient telemetryClient) : base(nameof(ScanDialog))
        {
            _logger = logger;
            _userProfileTemporaryAccessor = userProfileTemporaryAccessor;
            _mainDialog = mainDialog;

            TelemetryClient = telemetryClient;

            AddDialog(new ChoicePrompt(nameof(ChoicePrompt))
            {
                TelemetryClient = telemetryClient,
            });
            AddDialog(new ChoicePrompt("AskHowManyScanIDAsChoicePrompt",
                                       (PromptValidatorContext <FoundChoice> promptContext, CancellationToken cancellationToken) =>
            {
                // override validater result to also allow free text entry for ratings
                int idacou;
                if (int.TryParse(promptContext.Context.Activity.Text, out idacou))
                {
                    if (idacou < 1 || idacou > 20)
                    {
                        return(Task.FromResult(false));
                    }

                    return(Task.FromResult(true));
                }

                return(Task.FromResult(false));
            })
            {
                TelemetryClient = telemetryClient,
            });
            AddDialog(new WaterfallDialog(nameof(WaterfallDialog), new WaterfallStep[]
            {
                ChoiceActionStepAsync,
                PerformActionStepAsync,
                AskHowManyScanIDAsStepAsync,
                GetHowManyScanIDAsStepAsync,
            })
            {
                TelemetryClient = telemetryClient,
            });

            InitialDialogId = nameof(WaterfallDialog);
        }