ComponentDialog Класс

Dialog, состоящий из других диалогов

Инициализирует новый экземпляр ComponentDialog

Конструктор

ComponentDialog(dialog_id: str)

Параметры

Имя Описание
dialog_id
Обязательно
str

Идентификатор, назначенный новому диалогу в родительском наборе диалогов.

Переменные

Имя Описание
state
<xref:persisted_dialog>

Методы

add_dialog

Добавляет Dialog в диалоговое окно компонента и возвращает обновленный компонент.

begin_dialog

Вызывается при запуске диалогового окна и отправке в стек диалоговых окон родительского элемента.

Если задача выполнена успешно, результат указывает, активен ли диалог после обработки в диалоговом окне.

continue_dialog

Вызывается при продолжении диалогового окна, где он является активным, а пользователь отвечает на новое действие.

end_component

Заканчивает диалоговое окно компонента в контексте родительского элемента.

end_dialog

Вызывается, когда диалоговое окно заканчивается.

find_dialog

Находит диалоговое окно по идентификатору.

on_begin_dialog

Вызывается при запуске диалогового окна и отправке в стек диалоговых окон родительского элемента.

on_continue_dialog

Вызывается при продолжении диалогового окна, где он является активным, а пользователь отвечает на новое действие.

on_end_dialog

Заканчивает диалоговое окно компонента в контексте родительского элемента.

on_reprompt_dialog
reprompt_dialog

Вызывается, когда диалоговое окно должно повторно запрашивать ввод пользователем.

resume_dialog

Вызывается, когда дочерний диалог в стеке диалоговых окон родительского элемента завершился этот поворот, возвращая элемент управления этому компоненту диалогового окна.

add_dialog

Добавляет Dialog в диалоговое окно компонента и возвращает обновленный компонент.

add_dialog(dialog: Dialog) -> object

Параметры

Имя Описание
dialog
Обязательно

Диалоговое окно для добавления.

Возвращаемое значение

Тип Описание

Обновленный ComponentDialog.

begin_dialog

Вызывается при запуске диалогового окна и отправке в стек диалоговых окон родительского элемента.

Если задача выполнена успешно, результат указывает, активен ли диалог после обработки в диалоговом окне.

async begin_dialog(dialog_context: DialogContext, options: object = None) -> DialogTurnResult

Параметры

Имя Описание
dialog_context
Обязательно

DialogContext для текущего поворота беседы.

options

Необязательные, начальные сведения для передачи в диалоговое окно.

Default value: None

Возвращаемое значение

Тип Описание

Сигнализирует о конце поворота

continue_dialog

Вызывается при продолжении диалогового окна, где он является активным, а пользователь отвечает на новое действие.

async continue_dialog(dialog_context: DialogContext) -> DialogTurnResult

Параметры

Имя Описание
dialog_context
Обязательно

Контекст родительского диалогового окна для текущей очереди беседы.

Возвращаемое значение

Тип Описание

Сигнализирует о конце поворота

Комментарии

Если задача выполнена успешно, результат указывает, активен ли диалог после обработки в диалоговом окне. Результат также может содержать возвращаемое значение.

Если этот метод не переопределить диалоговое окно компонента вызывает метод continue_dialog в контексте внутреннего диалога. Если внутренний стек диалогов пуст, диалоговое окно компонента заканчивается, а если доступен result, то в качестве возвращаемого значения используется диалоговое окно компонента.

end_component

Заканчивает диалоговое окно компонента в контексте родительского элемента.

async end_component(outer_dc: DialogContext, result: object) -> DialogTurnResult

Параметры

Имя Описание
outer_dc
Обязательно

Контекст родительского диалогового окна для текущего шага беседы.

result
Обязательно

Необязательное значение, возвращаемое из компонента диалогового окна в родительский контекст.

Возвращаемое значение

Тип Описание

Возвращаемое значение.

Комментарии

Если задача выполнена успешно, результат указывает, что диалоговое окно закончилось после обработки поворота диалогом.

end_dialog

Вызывается, когда диалоговое окно заканчивается.

async end_dialog(context: TurnContext, instance: DialogInstance, reason: DialogReason) -> None

Параметры

Имя Описание
context
Обязательно

Объект контекста для этого поворота.

instance
Обязательно

Сведения о состоянии, связанные с экземпляром этого диалогового окна компонента.

reason
Обязательно

Причина, по которой диалоговое окно закончилось.

find_dialog

Находит диалоговое окно по идентификатору.

async find_dialog(dialog_id: str) -> Dialog

Параметры

Имя Описание
dialog_id
Обязательно

Диалоговое окно для добавления.

Возвращаемое значение

Тип Описание

Диалоговое окно; или нет, если идентификатор не соответствует.

on_begin_dialog

Вызывается при запуске диалогового окна и отправке в стек диалоговых окон родительского элемента.

async on_begin_dialog(inner_dc: DialogContext, options: object) -> DialogTurnResult

Параметры

Имя Описание
inner_dc
Обязательно

Контекст внутреннего диалога для текущей очереди беседы.

options
Обязательно

Необязательные, начальные сведения для передачи в диалоговое окно.

Комментарии

Если задача выполнена успешно, результат указывает, активен ли диалог после обработки в диалоговом окне.

По умолчанию этот метод вызывает метод begin_dialog начального диалогового окна компонента.

Переопределите этот метод в производном классе для реализации логики прерываний.

on_continue_dialog

Вызывается при продолжении диалогового окна, где он является активным, а пользователь отвечает на новое действие.

async on_continue_dialog(inner_dc: DialogContext) -> DialogTurnResult

Параметры

Имя Описание
inner_dc
Обязательно

Контекст внутреннего диалога для текущей очереди беседы.

on_end_dialog

Заканчивает диалоговое окно компонента в контексте родительского элемента.

async on_end_dialog(context: TurnContext, instance: DialogInstance, reason: DialogReason) -> None

Параметры

Имя Описание
turn_context
Обязательно

TurnContext для текущего поворота беседы.

instance
Обязательно

Сведения о состоянии, связанные с внутренним стеком диалогов этого диалогового окна этого компонента.

reason
Обязательно

Причина, по которой диалоговое окно закончилось.

context
Обязательно

on_reprompt_dialog

async on_reprompt_dialog(turn_context: TurnContext, instance: DialogInstance) -> None

Параметры

Имя Описание
turn_context
Обязательно

TurnContext для текущего поворота беседы.

instance
Обязательно

Сведения о состоянии, связанные с внутренним стеком диалогов этого диалогового окна этого компонента.

reprompt_dialog

Вызывается, когда диалоговое окно должно повторно запрашивать ввод пользователем.

async reprompt_dialog(context: TurnContext, instance: DialogInstance) -> None

Параметры

Имя Описание
context
Обязательно

Объект контекста для этого поворота.

instance
Обязательно

Сведения о состоянии этого диалогового окна.

resume_dialog

Вызывается, когда дочерний диалог в стеке диалоговых окон родительского элемента завершился этот поворот, возвращая элемент управления этому компоненту диалогового окна.

async resume_dialog(dialog_context: DialogContext, reason: DialogReason, result: object = None) -> DialogTurnResult

Параметры

Имя Описание
dialog_context
Обязательно

Контекст диалогового окна для текущей очереди беседы.

reason
Обязательно

Причина возобновления диалога.

result

Необязательное значение, возвращаемое из вызываемого диалогового окна.

Default value: None

Возвращаемое значение

Тип Описание

Сигнализирует о конце поворота

Комментарии

Контейнеры обычно являются конечными узлами в стеке, но разработчик может отправлять другие диалоги поверх стека, что приведет к тому, что контейнер получает неожиданный вызов resume_dialog при отправке диалогового окна. Чтобы избежать преждевременного завершения контейнера, необходимо реализовать этот метод и просто попросить наш внутренний стек диалогов повторно выполнить запрос.

Атрибуты

persisted_dialog_state

persisted_dialog_state = 'dialogs'