ComponentDialog Clase

Un Dialog que se compone de otros diálogos

Inicializa una nueva instancia del ComponentDialog

Constructor

ComponentDialog(dialog_id: str)

Parámetros

Nombre Description
dialog_id
Requerido
str

Identificador que se va a asignar al cuadro de diálogo nuevo dentro del conjunto de diálogos primario.

Variables

Nombre Description
state
<xref:persisted_dialog>

Métodos

add_dialog

Agrega un Dialog al cuadro de diálogo del componente y devuelve el componente actualizado.

begin_dialog

Se llama cuando se inicia el cuadro de diálogo e inserta en la pila de diálogos del elemento primario.

Si la tarea se realiza correctamente, el resultado indica si el cuadro de diálogo sigue activo después de que el diálogo haya procesado el turno.

continue_dialog

Se llama cuando el diálogo continúa, donde es el diálogo activo y el usuario responde con una nueva actividad.

end_component

Finaliza el cuadro de diálogo del componente en el contexto de su elemento primario.

end_dialog

Se llama cuando finaliza el cuadro de diálogo.

find_dialog

Busca un cuadro de diálogo por identificador.

on_begin_dialog

Se llama cuando se inicia el cuadro de diálogo e inserta en la pila de diálogos del elemento primario.

on_continue_dialog

Se llama cuando el diálogo continúa, donde es el diálogo activo y el usuario responde con una nueva actividad.

on_end_dialog

Finaliza el cuadro de diálogo del componente en el contexto de su elemento primario.

on_reprompt_dialog
reprompt_dialog

Se llama cuando el cuadro de diálogo debe volver a solicitar al usuario la entrada.

resume_dialog

Se llama cuando un cuadro de diálogo secundario de la pila de diálogos del elemento primario completó este turno, devolviendo el control a este componente de diálogo.

add_dialog

Agrega un Dialog al cuadro de diálogo del componente y devuelve el componente actualizado.

add_dialog(dialog: Dialog) -> object

Parámetros

Nombre Description
dialog
Requerido

Cuadro de diálogo que se va a agregar.

Devoluciones

Tipo Description

La ComponentDialogactualizada.

begin_dialog

Se llama cuando se inicia el cuadro de diálogo e inserta en la pila de diálogos del elemento primario.

Si la tarea se realiza correctamente, el resultado indica si el cuadro de diálogo sigue activo después de que el diálogo haya procesado el turno.

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

Parámetros

Nombre Description
dialog_context
Requerido

El DialogContext para el turno actual de la conversación.

options

Opcional, información inicial que se va a pasar al cuadro de diálogo.

Valor predeterminado: None

Devoluciones

Tipo Description

Señala el final del turno

continue_dialog

Se llama cuando el diálogo continúa, donde es el diálogo activo y el usuario responde con una nueva actividad.

async continue_dialog(dialog_context: DialogContext) -> DialogTurnResult

Parámetros

Nombre Description
dialog_context
Requerido

Contexto del cuadro de diálogo primario para el turno actual de la conversación.

Devoluciones

Tipo Description

Señala el final del turno

Comentarios

Si la tarea se realiza correctamente, el resultado indica si el cuadro de diálogo sigue activo después de que el diálogo haya procesado el turno. El resultado también puede contener un valor devuelto.

Si este método no se invalidar el cuadro de diálogo del componente llama al método continue_dialog en su contexto de diálogo interno. Si la pila de diálogos interna está vacía, el cuadro de diálogo del componente finaliza y, si hay una result disponible, el cuadro de diálogo del componente lo usa como valor devuelto.

end_component

Finaliza el cuadro de diálogo del componente en el contexto de su elemento primario.

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

Parámetros

Nombre Description
outer_dc
Requerido

Contexto del cuadro de diálogo primario para el turno actual de conversación.

result
Requerido

Opcional, valor que se va a devolver del componente de diálogo al contexto primario.

Devoluciones

Tipo Description

Valor que se va a devolver.

Comentarios

Si la tarea se realiza correctamente, el resultado indica que el cuadro de diálogo finalizó después de que el diálogo procesara el turno.

end_dialog

Se llama cuando finaliza el cuadro de diálogo.

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

Parámetros

Nombre Description
context
Requerido

Objeto de contexto para este turno.

instance
Requerido

Información de estado asociada a la instancia de este cuadro de diálogo de componente.

reason
Requerido

Motivo por el que finalizó el cuadro de diálogo.

find_dialog

Busca un cuadro de diálogo por identificador.

async find_dialog(dialog_id: str) -> Dialog

Parámetros

Nombre Description
dialog_id
Requerido

Cuadro de diálogo que se va a agregar.

Devoluciones

Tipo Description

El cuadro de diálogo; o Ninguno si no hay ninguna coincidencia para el identificador.

on_begin_dialog

Se llama cuando se inicia el cuadro de diálogo e inserta en la pila de diálogos del elemento primario.

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

Parámetros

Nombre Description
inner_dc
Requerido

Contexto de diálogo interno para el turno actual de conversación.

options
Requerido

Opcional, información inicial que se va a pasar al cuadro de diálogo.

Comentarios

Si la tarea se realiza correctamente, el resultado indica si el cuadro de diálogo sigue activo después de que el diálogo haya procesado el turno.

De forma predeterminada, esto llama al método begin_dialog del cuadro de diálogo inicial del componente.

Invalide este método en una clase derivada para implementar la lógica de interrupción.

on_continue_dialog

Se llama cuando el diálogo continúa, donde es el diálogo activo y el usuario responde con una nueva actividad.

async on_continue_dialog(inner_dc: DialogContext) -> DialogTurnResult

Parámetros

Nombre Description
inner_dc
Requerido

Contexto de diálogo interno para el turno actual de conversación.

on_end_dialog

Finaliza el cuadro de diálogo del componente en el contexto de su elemento primario.

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

Parámetros

Nombre Description
turn_context
Requerido

El TurnContext para el turno actual de la conversación.

instance
Requerido

Información de estado asociada a la pila de diálogos interno de este cuadro de diálogo de componente.

reason
Requerido

Motivo por el que finalizó el cuadro de diálogo.

context
Requerido

on_reprompt_dialog

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

Parámetros

Nombre Description
turn_context
Requerido

El TurnContext para el turno actual de la conversación.

instance
Requerido

Información de estado asociada a la pila de diálogos interno de este cuadro de diálogo de componente.

reprompt_dialog

Se llama cuando el cuadro de diálogo debe volver a solicitar al usuario la entrada.

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

Parámetros

Nombre Description
context
Requerido

Objeto de contexto para este turno.

instance
Requerido

Información de estado de este cuadro de diálogo.

resume_dialog

Se llama cuando un cuadro de diálogo secundario de la pila de diálogos del elemento primario completó este turno, devolviendo el control a este componente de diálogo.

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

Parámetros

Nombre Description
dialog_context
Requerido

Contexto del cuadro de diálogo para el turno actual de la conversación.

reason
Requerido

Motivo por el que se reanudó el cuadro de diálogo.

result

Opcional, el valor devuelto desde el cuadro de diálogo al que se llamó.

Valor predeterminado: None

Devoluciones

Tipo Description

Señala el final del turno

Comentarios

Los contenedores suelen ser nodos hoja en la pila, pero el desarrollo es libre de insertar otros diálogos en la parte superior de la pila, lo que provocará que el contenedor reciba una llamada inesperada a resume_dialog cuando finalice el diálogo insertado. Para evitar que el contenedor termine prematuramente, es necesario implementar este método y simplemente pedir a nuestra pila de diálogos interna que vuelva a preguntar.

Atributos

persisted_dialog_state

persisted_dialog_state = 'dialogs'