def __init__(self, user_state: UserState, storage: object):
        super(CreateDeliveryDialog, self).__init__(CreateDeliveryDialog.__name__)

        self.user_state = user_state
        self.did_show_entry_msg = False
        self.storage = storage

        self.add_dialog(ChoicePrompt(ChoicePrompt.__name__))
        self.add_dialog(TextPrompt(TextPrompt.__name__))
        self.add_dialog(DateTimePrompt(DateTimePrompt.__name__))
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.add_dialog(
            WaterfallDialog(
                Keys.WATER_FALL_DIALOG_ID.value,
                [
                    self.item_step,
                    self.destination_step,
                    self.time_step,
                    self.confirm_step,
                    self.acknowledgement_step
                ],
            )
        )

        self.initial_dialog_id = Keys.WATER_FALL_DIALOG_ID.value
    def __init__(
        self,
        user_state: UserState,
        conversation_state: ConversationState,
        reminders_accessor,
    ):
        super(RemindersDialog, self).__init__(RemindersDialog.__name__)

        self.user_state = user_state
        self.conversation_state = conversation_state
        self.REMINDER = "value-reminder"
        self.conversation_state_accessor = self.conversation_state.create_property(
            "ActivityMappingState")
        self.reminders_accessor = reminders_accessor
        self.add_dialog(TextPrompt(TextPrompt.__name__))
        self.add_dialog(DateTimePrompt(DateTimePrompt.__name__))
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.add_dialog(
            WaterfallDialog(
                "WFDialog",
                [
                    self.choice_step,
                    self.reminder_step,
                    self.time_step,
                    self.confirm_step,
                ],
            ))

        self.initial_dialog_id = "WFDialog"
        self.recognizer = ReminderRecognizer()
Beispiel #3
0
    def __init__(self, dialog_id: str = None):
        super(ContactsSelectionDialog, self).__init__(
            dialog_id or ContactsSelectionDialog.__name__
        )

        self.add_dialog(
            WaterfallDialog(
                WaterfallDialog.__name__,
                [
                    self.confirm_confirmedcasecontact_step,
                    self.date_confirmedcasecontact_step,
                    self.confirm_suspectedcasecontact_step,
                    self.date_suspectedcasecontact_step,
                    self.contacts_dates_step]
            )
        )

        self.add_dialog(ChoicePrompt(ChoicePrompt.__name__))
        self.add_dialog(
            NumberPrompt(NumberPrompt.__name__)
        )
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.add_dialog(DateTimePrompt(DateTimePrompt.__name__))

        self.initial_dialog_id = WaterfallDialog.__name__
    def __init__(self, dialog_id: str = None):
        super(DateResolverDialog, self).__init__(dialog_id or DateResolverDialog.__name__)

        self.add_dialog(DateTimePrompt(DateTimePrompt.__name__, DateResolverDialog.datetime_prompt_validator))
        self.add_dialog(WaterfallDialog(WaterfallDialog.__name__, [
            self.initialStep,
            self.finalStep
        ]))

        self.initial_dialog_id(WaterfallDialog.__name__)
Beispiel #5
0
    def __init__(self,
                 dialog_id: str = None,
                 telemetry_client: BotTelemetryClient = NullTelemetryClient()):
        super(DateResolverDialog,
              self).__init__(dialog_id or DateResolverDialog.__name__,
                             telemetry_client)
        self.telemetry_client = telemetry_client

        date_time_prompt = DateTimePrompt(
            DateTimePrompt.__name__,
            DateResolverDialog.datetime_prompt_validator)
        date_time_prompt.telemetry_client = telemetry_client

        waterfall_dialog = WaterfallDialog(
            WaterfallDialog.__name__ + '2',
            [self.initial_step, self.final_step])
        waterfall_dialog.telemetry_client = telemetry_client

        self.add_dialog(date_time_prompt)
        self.add_dialog(waterfall_dialog)

        self.initial_dialog_id = WaterfallDialog.__name__ + '2'
Beispiel #6
0
    async def test_date_time_prompt(self):
        # Create new ConversationState with MemoryStorage and register the state as middleware.
        conver_state = ConversationState(MemoryStorage())

        # Create a DialogState property
        dialog_state = conver_state.create_property("dialogState")

        # Create new DialogSet.
        dialogs = DialogSet(dialog_state)

        # Create and add DateTime prompt to DialogSet.
        date_time_prompt = DateTimePrompt("DateTimePrompt")

        dialogs.add(date_time_prompt)

        # Initialize TestAdapter
        async def exec_test(turn_context: TurnContext) -> None:
            prompt_msg = "What date would you like?"
            dialog_context = await dialogs.create_context(turn_context)

            results = await dialog_context.continue_dialog()
            if results.status == DialogTurnStatus.Empty:

                options = PromptOptions(prompt=MessageFactory.text(prompt_msg))
                await dialog_context.begin_dialog("DateTimePrompt", options)
            else:
                if results.status == DialogTurnStatus.Complete:
                    resolution = results.result[0]
                    reply = MessageFactory.text(
                        f"Timex: '{resolution.timex}' Value: '{resolution.value}'"
                    )
                    await turn_context.send_activity(reply)
            await conver_state.save_changes(turn_context)

        adapt = TestAdapter(exec_test)

        test_flow = TestFlow(None, adapt)
        tf2 = await test_flow.send("hello")
        tf3 = await tf2.assert_reply("What date would you like?")
        tf4 = await tf3.send("5th December 2018 at 9am")
        await tf4.assert_reply(
            "Timex: '2018-12-05T09' Value: '2018-12-05 09:00:00'"
        )
Beispiel #7
0
    def __init__(self, dialog_id: str = None):
        super(PersonalDataDialog,
              self).__init__(dialog_id or PersonalDataDialog.__name__)

        # Key name to store this dialogs state info in the StepContext
        self.PERSONAL_DATA = "value-personalData"

        self.add_dialog(
            WaterfallDialog(WaterfallDialog.__name__, [
                self.first_name_step, self.family_name_step, self.gender_step,
                self.street_step, self.zipcode_step, self.city_step,
                self.telephone_step, self.email_step, self.birthday_step,
                self.final_step
            ]))

        self.add_dialog(ChoicePrompt(ChoicePrompt.__name__))
        self.add_dialog(TextPrompt(TextPrompt.__name__))
        self.add_dialog(NumberPrompt(NumberPrompt.__name__))
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.add_dialog(DateTimePrompt(DateTimePrompt.__name__))

        self.initial_dialog_id = WaterfallDialog.__name__