async def test_confirm_prompt_should_default_to_english_locale(self):
        async def exec_test(turn_context: TurnContext):

            dialog_context = await dialogs.create_context(turn_context)

            results: DialogTurnResult = await dialog_context.continue_dialog()

            if results.status == DialogTurnStatus.Empty:
                options = PromptOptions(
                    prompt=Activity(type=ActivityTypes.message,
                                    text="Please confirm."),
                    retry_prompt=Activity(
                        type=ActivityTypes.message,
                        text=
                        "Please confirm, say 'yes' or 'no' or something like that.",
                    ),
                )
                await dialog_context.prompt("ConfirmPrompt", options)
            elif results.status == DialogTurnStatus.Complete:
                message_text = "Confirmed" if results.result else "Not confirmed"
                await turn_context.send_activity(
                    MessageFactory.text(message_text))

            await convo_state.save_changes(turn_context)

        locales = [None, "", "not-supported"]

        for locale in locales:
            # Initialize TestAdapter.
            adapter = TestAdapter(exec_test)

            # Create new ConversationState with MemoryStorage and register the state as middleware.
            convo_state = ConversationState(MemoryStorage())

            # Create a DialogState property, DialogSet, and ChoicePrompt.
            dialog_state = convo_state.create_property("dialogState")
            dialogs = DialogSet(dialog_state)
            confirm_prompt = ConfirmPrompt("ConfirmPrompt")
            confirm_prompt.choice_options = ChoiceFactoryOptions(
                include_numbers=True)
            dialogs.add(confirm_prompt)

            step1 = await adapter.send(
                Activity(type=ActivityTypes.message,
                         text="Hello",
                         locale=locale))
            step2 = await step1.assert_reply(
                "Please confirm. (1) Yes or (2) No")
            step3 = await step2.send("lala")
            step4 = await step3.assert_reply(
                "Please confirm, say 'yes' or 'no' or something like that. (1) Yes or (2) No"
            )
            step5 = await step4.send("2")
            await step5.assert_reply("Not confirmed")
Esempio n. 2
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__
Esempio n. 3
0
    def __init__(self,
                 dialog_id: str = None,
                 telemetry_client: BotTelemetryClient = NullTelemetryClient()):
        super(BookingDialog,
              self).__init__(dialog_id or BookingDialog.__name__,
                             telemetry_client)

        self.telemetry_client = telemetry_client
        text_prompt = TextPrompt(TextPrompt.__name__)
        text_prompt.telemetry_client = telemetry_client

        waterfall_dialog = WaterfallDialog(
            WaterfallDialog.__name__,
            [
                self.destination_step,
                self.origin_step,
                self.departure_date_step,
                self.return_date_step,
                self.budget_step,
                self.confirm_step,
                self.final_step,
            ],
        )
        waterfall_dialog.telemetry_client = telemetry_client

        self.add_dialog(text_prompt)
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.add_dialog(
            DepartureDateResolverDialog(DepartureDateResolverDialog.__name__))
        self.add_dialog(
            ReturnDateResolverDialog(ReturnDateResolverDialog.__name__))
        self.add_dialog(waterfall_dialog)

        self.initial_dialog_id = WaterfallDialog.__name__
Esempio n. 4
0
    def __init__(self, user_state: UserState):
        super(UserProfileDialog, self).__init__(UserProfileDialog.__name__)

        self.user_profile_accessor = user_state.create_property("UserProfile")

        self.add_dialog(
            WaterfallDialog(
                WaterfallDialog.__name__,
                [
                    self.transport_step,
                    self.name_step,
                    self.name_confirm_step,
                    self.age_step,
                    self.picture_step,
                    self.confirm_step,
                    self.summary_step,
                ],
            ))
        self.add_dialog(TextPrompt(TextPrompt.__name__))
        self.add_dialog(
            NumberPrompt(NumberPrompt.__name__,
                         UserProfileDialog.age_prompt_validator))
        self.add_dialog(ChoicePrompt(ChoicePrompt.__name__))
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.add_dialog(
            AttachmentPrompt(AttachmentPrompt.__name__,
                             UserProfileDialog.picture_prompt_validator))

        self.initial_dialog_id = WaterfallDialog.__name__
    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
Esempio n. 6
0
    def __init__(self, dialog_id: str = None):
        super(BookingDialog, self).__init__(dialog_id
                                            or BookingDialog.__name__)

        self.add_dialog(TextPrompt(TextPrompt.__name__))
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.add_dialog(DateResolverDialog(DateResolverDialog.__name__)),
        self.add_dialog(
            CapcacityResolverDialog(CapcacityResolverDialog.__name__)),
        self.add_dialog(UserIDResolverDialog(UserIDResolverDialog.__name__)),
        self.add_dialog(
            WaterfallDialog(
                WaterfallDialog.__name__,
                [
                    self.user_id_step,
                    self.destination_step,
                    self.origin_step,
                    self.travel_date_step,
                    self.capacity_step,
                    self.confirm_step,
                    self.final_step,
                ],
            ))

        self.initial_dialog_id = WaterfallDialog.__name__
Esempio n. 7
0
    def __init__(self, user_state: UserState):
        super(UserProfileDialog, self).__init__(UserProfileDialog.__name__)

        self.user_profile_accessor = user_state.create_property("UserProfile")

        self.add_dialog(
            WaterfallDialog(
                WaterfallDialog.__name__,
                [
                    self.first_step,
                    self.second_step,
                    self.third_step,
                    self.fourth_step,
                    self.fifth_step,
                    self.sixth_step,
                    self.seventh_step,
                    self.eighth_step,
                ],
            ))
        self.add_dialog(TextPrompt(TextPrompt.__name__))
        self.add_dialog(
            NumberPrompt(NumberPrompt.__name__,
                         UserProfileDialog.age_prompt_validator))
        self.add_dialog(ChoicePrompt(ChoicePrompt.__name__))
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.add_dialog(
            AttachmentPrompt(AttachmentPrompt.__name__,
                             UserProfileDialog.picture_prompt_validator))

        self.initial_dialog_id = WaterfallDialog.__name__
    def __init__(self, luis_recognizer: CalcoloImportoRecognizer,
                 calcolo_dialog: CalcoloDialog,
                 cancella_dialogo: CancellaDialogo):
        super(WaterfallQuery, self).__init__(WaterfallQuery.__name__)

        #self.user_profile_accessor = user_state.create_property("UserProfile")
        self._luis_recognizer = luis_recognizer
        self._calcolo_dialog_id = calcolo_dialog.id
        self._cancella_dialogo_id = cancella_dialogo.id

        self.add_dialog(cancella_dialogo)
        self.add_dialog(calcolo_dialog)

        self.add_dialog(
            WaterfallDialog(
                WaterfallDialog.__name__,
                [
                    self.domanda_step,
                    self.summary_step,
                ],
            ))

        self.add_dialog(TextPrompt(TextPrompt.__name__))
        #self.add_dialog(TextPrompt(TextPrompt.__name__, WaterfallQuery.insertCorrectdate))
        self.add_dialog(NumberPrompt(NumberPrompt.__name__))
        self.add_dialog(ChoicePrompt(ChoicePrompt.__name__))
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        """self.add_dialog(
            AttachmentPrompt(
                AttachmentPrompt.__name__, WaterfallQuery.picture_prompt_validator
            )
        )"""

        self.initial_dialog_id = WaterfallDialog.__name__
    async def test_confirm_prompt(self):
        async def exec_test(turn_context: TurnContext):
            dialog_context = await dialogs.create_context(turn_context)

            results: DialogTurnResult = await dialog_context.continue_dialog()

            if results.status == DialogTurnStatus.Empty:
                options = PromptOptions(prompt=Activity(
                    type=ActivityTypes.message, text="Please confirm."))
                await dialog_context.prompt("ConfirmPrompt", options)
            elif results.status == DialogTurnStatus.Complete:
                message_text = "Confirmed" if results.result else "Not confirmed"
                await turn_context.send_activity(
                    MessageFactory.text(message_text))

            await convo_state.save_changes(turn_context)

        # Initialize TestAdapter.
        adapter = TestAdapter(exec_test)

        # Create new ConversationState with MemoryStorage and register the state as middleware.
        convo_state = ConversationState(MemoryStorage())

        # Create a DialogState property, DialogSet, and ChoicePrompt.
        dialog_state = convo_state.create_property("dialogState")
        dialogs = DialogSet(dialog_state)
        confirm_prompt = ConfirmPrompt("ConfirmPrompt",
                                       default_locale="English")
        dialogs.add(confirm_prompt)

        step1 = await adapter.send("hello")
        step2 = await step1.assert_reply("Please confirm. (1) Yes or (2) No")
        step3 = await step2.send("yes")
        await step3.assert_reply("Confirmed")
Esempio n. 10
0
    def __init__(self, nlu_recognizer: NLU, user_state: UserState):
        super(BookingRoomDialog, self).__init__(BookingRoomDialog.__name__)

        # Load the NLU module
        self._nlu_recognizer = nlu_recognizer

        # Load the RoomReservation class
        self.room_reservation_accessor = user_state.create_property(
            "RoomReservation")

        # Setup the waterfall dialog
        self.add_dialog(
            WaterfallDialog("WFBookingDialog", [
                self.people_step,
                self.duration_step,
                self.breakfast_step,
                self.summary_step,
            ]))

        # Append the prompts and custom prompts
        self.add_dialog(
            NumberPrompt("PeoplePrompt",
                         BookingRoomDialog.people_prompt_validator))
        self.add_dialog(
            NumberPrompt("DurationPrompt",
                         BookingRoomDialog.duration_prompt_validator))
        self.add_dialog(ConfirmPrompt("IsTakingBreakfastPrompt"))

        self.initial_dialog_id = "WFBookingDialog"
Esempio n. 11
0
    def __init__(self, connection_name: str):
        super(MainDialog, self).__init__(MainDialog.__name__, connection_name)

        self.add_dialog(
            OAuthPrompt(
                OAuthPrompt.__name__,
                OAuthPromptSettings(
                    connection_name=connection_name,
                    text="Please Sign In",
                    title="Sign In",
                    timeout=300000,
                ),
            ))

        self.add_dialog(TextPrompt(TextPrompt.__name__))
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))

        self.add_dialog(
            WaterfallDialog(
                "WFDialog",
                [
                    self.prompt_step,
                    self.login_step,
                    self.command_step,
                    self.process_step,
                ],
            ))

        self.initial_dialog_id = "WFDialog"
    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()
Esempio n. 13
0
    def __init__(
        self, connection_name: str
    ):
        super(MainDialog, self).__init__(MainDialog.__name__, connection_name)

        self.add_dialog(
            OAuthPrompt(
                OAuthPrompt.__name__,
                OAuthPromptSettings(
                    connection_name=connection_name,
                    text="Please Sign In",
                    title="Sign In",
                    timeout=300000
                )
            )
        )

        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))

        self.add_dialog(
            WaterfallDialog(
                "WFDialog", [
                    self.prompt_step,
                    self.login_step,
                    self.display_token_phase1,
                    self.display_token_phase2
                ]
            )
        )

        self.initial_dialog_id = "WFDialog"
    def __init__(self, configuration: DefaultConfig):
        super().__init__(AuthDialog.__name__)

        self.connection_name = configuration.CONNECTION_NAME

        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.add_dialog(
            OAuthPrompt(
                OAuthPrompt.__name__,
                OAuthPromptSettings(
                    connection_name=self.connection_name,
                    text=
                    f"Please Sign In to connection: '{self.connection_name}'",
                    title="Sign In",
                    timeout=
                    300000,  # User has 5 minutes to login (1000 * 60 * 5)
                ),
            ))

        self.add_dialog(
            WaterfallDialog(
                WaterfallDialog.__name__,
                [
                    self.prompt_step,
                    self.login_step,
                    self.display_token,
                ],
            ))

        # The initial child Dialog to run.
        self.initial_dialog_id = WaterfallDialog.__name__
    async def test_should_recognize_and_use_custom_locale_dict(self, ):
        async def exec_test(turn_context: TurnContext):
            dialog_context = await dialogs.create_context(turn_context)

            results: DialogTurnResult = await dialog_context.continue_dialog()

            if results.status == DialogTurnStatus.Empty:
                options = PromptOptions(prompt=Activity(
                    type=ActivityTypes.message, text="Please confirm."))
                await dialog_context.prompt("prompt", options)
            elif results.status == DialogTurnStatus.Complete:
                selected_choice = results.result
                await turn_context.send_activity(selected_choice.value)

            await convo_state.save_changes(turn_context)

        async def validator(prompt: PromptValidatorContext) -> bool:
            assert prompt

            if not prompt.recognized.succeeded:
                await prompt.context.send_activity("Bad input.")

            return prompt.recognized.succeeded

        adapter = TestAdapter(exec_test)

        convo_state = ConversationState(MemoryStorage())
        dialog_state = convo_state.create_property("dialogState")
        dialogs = DialogSet(dialog_state)

        culture = PromptCultureModel(
            locale="custom-locale",
            no_in_language="customNo",
            yes_in_language="customYes",
            separator="customSeparator",
            inline_or="customInlineOr",
            inline_or_more="customInlineOrMore",
        )

        custom_dict = {
            culture.locale: (
                Choice(culture.yes_in_language),
                Choice(culture.no_in_language),
                ChoiceFactoryOptions(culture.separator, culture.inline_or,
                                     culture.inline_or_more, True),
            )
        }

        confirm_prompt = ConfirmPrompt("prompt",
                                       validator,
                                       choice_defaults=custom_dict)
        dialogs.add(confirm_prompt)

        step1 = await adapter.send(
            Activity(type=ActivityTypes.message,
                     text="Hello",
                     locale=culture.locale))
        await step1.assert_reply(
            "Please confirm. (1) customYescustomInlineOr(2) customNo")
Esempio n. 16
0
    def __init__(self, dialog_id: str = None):
        super(BookingDialog, self).__init__(dialog_id
                                            or BookingDialog.__name__)

        self.add_dialog(TextPrompt(TextPrompt.__name__))
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.add_dialog(DateResolverDialog(DateResolverDialog.__name__))
        self.add_dialog(WaterfallDialog(WaterfallDialog.__name__, []))

        self.initial_dialog_id(WaterfallDialog.__name__)
Esempio n. 17
0
    def __init__(self, dialog_id: str = None):
        super(CardDialog, self).__init__(dialog_id or CardDialog.__name__)

        self.add_dialog(TextPrompt(TextPrompt.__name__))
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.add_dialog(
            WaterfallDialog(
                WaterfallDialog.__name__,
                [
                    self.first_step,
                    self.confirm_step,
                ],
            ))
        self.initial_dialog_id = WaterfallDialog.__name__
Esempio n. 18
0
    def __init__(self, dialog_id: str = None):
        super(DantocDialog, self).__init__(dialog_id or DantocDialog.__name__)

        self.add_dialog(TextPrompt(TextPrompt.__name__))
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.add_dialog(DateResolverDialog(DateResolverDialog.__name__))
        self.add_dialog(
            WaterfallDialog(
                WaterfallDialog.__name__,
                [
                    self.destination_step,
                ],
            ))

        self.initial_dialog_id = WaterfallDialog.__name__
    def __init__(self,
                 luis_recognizer: WorkBoardRecognizer,
                 dialog_id: str = None):
        super(ShowOKRDialog, self).__init__(dialog_id
                                            or ShowOKRDialog.__name__)
        self._luis_recognizer = luis_recognizer
        self._action = ShowOKRAction()
        self.add_dialog(TextPrompt(TextPrompt.__name__))
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.add_dialog(
            WaterfallDialog(
                WaterfallDialog.__name__,
                [self.ask_obj_step, self.process_usr_reply_step],
            ))

        self.initial_dialog_id = WaterfallDialog.__name__
Esempio n. 20
0
    def __init__(self, user_state: UserState):
        super(AddUtteranceDialog, self).__init__(AddUtteranceDialog.__name__)

        self.user_profile_accessor = user_state.create_property("DialogData")

        ### add_dialog --> 增加來回對話的round
        self.add_dialog(
            WaterfallDialog(WaterfallDialog.__name__, [
                self.enter_a_training_utterance,
                self.enter_the_specified_intent,
                self.enter_the_specified_entity, self.enter_the_tagged_entity,
                self.inquire_keep_going_or_not, self.final_step
            ]))
        #依照本次dialog對話需要的方法,增加方法(yes/no問題、選項問題、純文字題等等)
        self.add_dialog(TextPrompt(TextPrompt.__name__))
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
Esempio n. 21
0
    def __init__(self, dialog_id: str = None):
        super(CancellaDialogo, self).__init__(dialog_id
                                              or CancellaDialogo.__name__)

        self.add_dialog(TextPrompt(TextPrompt.__name__))
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.add_dialog(
            WaterfallDialog(
                WaterfallDialog.__name__,
                [
                    self.date_step,
                    self.result_step,
                ],
            ))

        self.initial_dialog_id = WaterfallDialog.__name__
Esempio n. 22
0
    def __init__(self, dialog_id: str = None):
        super(FindBookDialog, self).__init__(dialog_id
                                             or FindBookDialog.__name__)
        self.add_dialog(
            TextPrompt("TextPromptLibro", FindBookDialog.validateName))
        self.add_dialog(
            TextPrompt("TextPromptSito", FindBookDialog.validateSite))
        self.add_dialog(
            ConfirmPrompt(ConfirmPrompt.__name__,
                          FindBookDialog.yes_noValidator))
        self.add_dialog(
            WaterfallDialog("WFDialog", [
                self.prompt_step, self.search_step, self.confirmRec_step,
                self.prompt_to_wish, self.confirm_step, self.add_to_wishlist
            ]))

        self.initial_dialog_id = "WFDialog"
Esempio n. 23
0
    def __init__(self, recognizer: MusicRecognizer, dialog_id: str = None):
        super(RecommendationDialog,
              self).__init__(dialog_id or RecommendationDialog.__name__)
        self.luis_recognizer = recognizer
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.add_dialog(ChoicePrompt(ChoicePrompt.__name__))
        self.add_dialog(
            WaterfallDialog(
                WaterfallDialog.__name__,
                [
                    self.genre_step,
                    self.recommend_step,
                    self.confirmation_step,
                ],
            ))

        self.initial_dialog_id = WaterfallDialog.__name__
Esempio n. 24
0
    def __init__(self, dialog_id: str = None):
        super(CalcoloDialog, self).__init__(dialog_id
                                            or CalcoloDialog.__name__)

        self.add_dialog(TextPrompt(TextPrompt.__name__))
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.add_dialog(
            WaterfallDialog(
                WaterfallDialog.__name__,
                [
                    self.date_step,
                    self.result_step,
                    #self.period_step,
                    self.final_step,
                ],
            ))

        self.initial_dialog_id = WaterfallDialog.__name__
Esempio n. 25
0
    def __init__(self, dialog_id: str = None):
        super(LehoiDialog, self).__init__(dialog_id or LehoiDialog.__name__)

        self.add_dialog(TextPrompt(TextPrompt.__name__))
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.add_dialog(DateResolverDialog(DateResolverDialog.__name__))
        self.add_dialog(
            WaterfallDialog(
                WaterfallDialog.__name__,
                [
                    self.destination_step,
                    # self.origin_step,
                    # self.travel_date_step,
                    # self.confirm_step,
                    self.final_step,
                ],
            ))

        self.initial_dialog_id = WaterfallDialog.__name__
Esempio n. 26
0
 def __init__(self, dialog_id: str = None):
     super(RestaurantFinderDialog,
           self).__init__(dialog_id or RestaurantFinderDialog.__name__)
     self.gmaps_service = GoogleMapsService()
     self.add_dialog(TextPrompt(TextPrompt.__name__))
     self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
     self.add_dialog(
         WaterfallDialog(
             WaterfallDialog.__name__,
             [
                 self.food_step,
                 self.location_step,
                 self.confirm_step,
                 self.results1_step,
                 self.results2_step,
                 self.results3_step,
             ],
         ))
     self.initial_dialog_id = WaterfallDialog.__name__
Esempio n. 27
0
 def __init__(self,
              luis_recognizer: OrderingRecognizer,
              dialog_id: str = None):
     super(OrderTrackingDialog,
           self).__init__(dialog_id or OrderTrackingDialog.__name__)
     self._luis_recognizer = luis_recognizer
     self.add_dialog(TextPrompt(TextPrompt.__name__))
     self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
     self.add_dialog(DateResolverDialog(DateResolverDialog.__name__))
     self.add_dialog(
         WaterfallDialog(
             WaterfallDialog.__name__,
             [
                 self.email_step,
                 self.orderid_step,
                 self.final_step,
             ],
         ))
     self.initial_dialog_id = WaterfallDialog.__name__
Esempio n. 28
0
    def __init__(self, dialog_id: str = None):
        super(ConnectivityCheckDialog,
              self).__init__(dialog_id or ConnectivityCheckDialog.__name__)

        self.add_dialog(TextPrompt(TextPrompt.__name__))
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.add_dialog(
            WaterfallDialog(
                WaterfallDialog.__name__,
                [
                    self.destination_step,
                    self.source_step,
                    self.protocol_step,
                    self.port_step,
                    self.confirm_step,
                    self.result_step,
                    self.final_step,
                ],
            ))

        self.initial_dialog_id = WaterfallDialog.__name__
Esempio n. 29
0
    def __init__(self, dialog_id: str = None):
        super(RecommendDialog, self).__init__(dialog_id
                                              or RecommendDialog.__name__)

        self.add_dialog(TextPrompt(TextPrompt.__name__))
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.add_dialog(
            WaterfallDialog(
                WaterfallDialog.__name__,
                [
                    self.brand_step,
                    self.use_step,
                    self.cost_step,
                    self.looking_step,
                    self.performance_step,
                    self.confirm_step,
                    self.final_step,
                ],
            ))

        self.initial_dialog_id = WaterfallDialog.__name__
Esempio n. 30
0
    def __init__(self, user_state: UserState):
        super(OrderDialog, self).__init__(OrderDialog.__name__)
        self.current_order: Order = None
        self.order_list: List[Order] = list()
        self.user_profile_accesor = user_state.create_property("UserProfile")

        self.add_dialog(
            WaterfallDialog(
                WaterfallDialog.__name__,
                [
                    self.options_step,
                    self.interpret_user_intention,
                    self.goodbye_step,
                ],
            ))
        self.add_dialog(ChoicePrompt("options_step"))
        self.add_dialog(TextPrompt("interpret_user_intention"))
        self.add_dialog(ChoicePrompt(ChoicePrompt.__name__))
        self.add_dialog(ConfirmPrompt(ConfirmPrompt.__name__))
        self.initial_dialog_id = WaterfallDialog.__name__
        self.add_dialog(TextPrompt(TextPrompt.__name__))