ComponentDialog Класс
Dialog, состоящий из других диалогов
Инициализирует новый экземпляр ComponentDialog
Конструктор
ComponentDialog(dialog_id: str)
Параметры
| Имя | Описание |
|---|---|
|
dialog_id
Обязательно
|
Идентификатор, назначенный новому диалогу в родительском наборе диалогов. |
Переменные
| Имя | Описание |
|---|---|
|
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'