libraries/botbuilder-dialogs/botbuilder/dialogs/dialog_context.py
async def begin_dialog(self, dialog_id: str, options: object = None):
        """
        Pushes a new dialog onto the dialog stack.
        :param dialog_id: ID of the dialog to start..
        :param options: (Optional) additional argument(s) to pass to the dialog being started.
        """
        if (not dialog_id):
            raise TypeError('Dialog(): dialogId cannot be None.')
        # Look up dialog
        dialog = await self.find_dialog(dialog_id)
        if dialog is None:
            raise Exception("'DialogContext.begin_dialog(): A dialog with an id of '%s' wasn't found."
                    " The dialog must be included in the current or parent DialogSet."
                    " For example, if subclassing a ComponentDialog you can call add_dialog() within your constructor." % dialog_id)
        # Push new instance onto stack
        instance = DialogInstance()
        instance.id = dialog_id
        instance.state = {}

        self._stack.append(instance)
        
        # Call dialog's begin_dialog() method
        return await dialog.begin_dialog(self, options)
async def begin_dialog(self, dialog_id: str, options: object = None):
        """
        Pushes a new dialog onto the dialog stack.
        :param dialog_id: ID of the dialog to start..
        :param options: (Optional) additional argument(s) to pass to the dialog being started.
        """
        if (not dialog_id):
            raise TypeError('Dialog(): dialogId cannot be None.')
        # Look up dialog
        dialog = await self.find_dialog(dialog_id)
        if dialog is None:
            raise Exception("'DialogContext.begin_dialog(): A dialog with an id of '%s' wasn't found."
                    " The dialog must be included in the current or parent DialogSet."
                    " For example, if subclassing a ComponentDialog you can call add_dialog() within your constructor." % dialog_id)
        # Push new instance onto stack
        instance = DialogInstance()
        instance.id = dialog_id
        instance.state = {}

        self._stack.append(instance)
        
        # Call dialog's begin_dialog() method
        return await dialog.begin_dialog(self, options)
Pushes a new dialog onto the dialog stack.
        :param dialog_id: ID of the dialog to start..
        :param options: (Optional) additional argument(s) to pass to the dialog being started.