ComponentDialog Classe

Un Dialog composto da altri dialoghi

Inizializza una nuova istanza del ComponentDialog

Costruttore

ComponentDialog(dialog_id: str)

Parametri

Nome Descrizione
dialog_id
Necessario
str

ID da assegnare alla nuova finestra di dialogo all'interno del set di dialoghi padre.

Variabili

Nome Descrizione
state
<xref:persisted_dialog>

Metodi

add_dialog

Aggiunge un Dialog alla finestra di dialogo del componente e restituisce il componente aggiornato.

begin_dialog

Viene chiamato quando il dialogo viene avviato e inserito nello stack di dialoghi dell'elemento padre.

Se l'attività ha esito positivo, il risultato indica se il dialogo è ancora attivo dopo che il turno è stato elaborato dalla finestra di dialogo.

continue_dialog

Viene chiamato quando il dialogo viene continuato, dove è il dialogo attivo e l'utente risponde con una nuova attività.

end_component

Termina la finestra di dialogo del componente nel contesto del padre.

end_dialog

Chiamato quando termina il dialogo.

find_dialog

Trova una finestra di dialogo in base all'ID.

on_begin_dialog

Viene chiamato quando il dialogo viene avviato e inserito nello stack di dialoghi dell'elemento padre.

on_continue_dialog

Viene chiamato quando il dialogo viene continuato, dove è il dialogo attivo e l'utente risponde con una nuova attività.

on_end_dialog

Termina la finestra di dialogo del componente nel contesto del padre.

on_reprompt_dialog
reprompt_dialog

Chiamato quando la finestra di dialogo deve richiedere di nuovo l'input all'utente.

resume_dialog

Chiamato quando un dialogo figlio nello stack di dialoghi padre ha completato questo turno, restituendo il controllo a questo componente della finestra di dialogo.

add_dialog

Aggiunge un Dialog alla finestra di dialogo del componente e restituisce il componente aggiornato.

add_dialog(dialog: Dialog) -> object

Parametri

Nome Descrizione
dialog
Necessario

Finestra di dialogo da aggiungere.

Restituisce

Tipo Descrizione

Oggetto aggiornato ComponentDialog.

begin_dialog

Viene chiamato quando il dialogo viene avviato e inserito nello stack di dialoghi dell'elemento padre.

Se l'attività ha esito positivo, il risultato indica se il dialogo è ancora attivo dopo che il turno è stato elaborato dalla finestra di dialogo.

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

Parametri

Nome Descrizione
dialog_context
Necessario

Il DialogContext per il turno corrente della conversazione.

options

Informazioni iniziali facoltative da passare alla finestra di dialogo.

Valore predefinito: None

Restituisce

Tipo Descrizione

Segnala la fine del turno

continue_dialog

Viene chiamato quando il dialogo viene continuato, dove è il dialogo attivo e l'utente risponde con una nuova attività.

async continue_dialog(dialog_context: DialogContext) -> DialogTurnResult

Parametri

Nome Descrizione
dialog_context
Necessario

Contesto del dialogo padre per il turno corrente della conversazione.

Restituisce

Tipo Descrizione

Segnala la fine del turno

Commenti

Se l'attività ha esito positivo, il risultato indica se il dialogo è ancora attivo dopo che il turno è stato elaborato dalla finestra di dialogo. Il risultato può contenere anche un valore restituito.

Se questo metodo non è eseguire l'override della finestra di dialogo del componente chiama il metodo continue_dialog nel contesto del dialogo interno. Se lo stack di dialoghi interno è vuoto, la finestra di dialogo del componente termina e, se è disponibile un result, la finestra di dialogo del componente usa tale valore come valore restituito.

end_component

Termina la finestra di dialogo del componente nel contesto del padre.

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

Parametri

Nome Descrizione
outer_dc
Necessario

Contesto del dialogo padre per il turno di conversazione corrente.

result
Necessario

Facoltativo, valore da restituire dal componente del dialogo al contesto padre.

Restituisce

Tipo Descrizione

Valore da restituire.

Commenti

Se l'attività ha esito positivo, il risultato indica che la finestra di dialogo è terminata dopo l'elaborazione del turno dalla finestra di dialogo.

end_dialog

Chiamato quando termina il dialogo.

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

Parametri

Nome Descrizione
context
Necessario

Oggetto di contesto per questo turno.

instance
Necessario

Informazioni sullo stato associate all'istanza di questa finestra di dialogo del componente.

reason
Necessario

Motivo per cui il dialogo è terminato.

find_dialog

Trova una finestra di dialogo in base all'ID.

async find_dialog(dialog_id: str) -> Dialog

Parametri

Nome Descrizione
dialog_id
Necessario

Finestra di dialogo da aggiungere.

Restituisce

Tipo Descrizione

Il dialogo; o Nessuno se non esiste una corrispondenza per l'ID.

on_begin_dialog

Viene chiamato quando il dialogo viene avviato e inserito nello stack di dialoghi dell'elemento padre.

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

Parametri

Nome Descrizione
inner_dc
Necessario

Contesto del dialogo interno per il turno corrente della conversazione.

options
Necessario

Informazioni iniziali facoltative da passare alla finestra di dialogo.

Commenti

Se l'attività ha esito positivo, il risultato indica se il dialogo è ancora attivo dopo che il turno è stato elaborato dalla finestra di dialogo.

Per impostazione predefinita, viene chiamato il metodo begin_dialog del dialogo iniziale del dialogo del componente.

Eseguire l'override di questo metodo in una classe derivata per implementare la logica di interrupt.

on_continue_dialog

Viene chiamato quando il dialogo viene continuato, dove è il dialogo attivo e l'utente risponde con una nuova attività.

async on_continue_dialog(inner_dc: DialogContext) -> DialogTurnResult

Parametri

Nome Descrizione
inner_dc
Necessario

Contesto del dialogo interno per il turno corrente della conversazione.

on_end_dialog

Termina la finestra di dialogo del componente nel contesto del padre.

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

Parametri

Nome Descrizione
turn_context
Necessario

Il TurnContext per il turno corrente della conversazione.

instance
Necessario

Informazioni sullo stato associate allo stack di dialoghi interno di questo dialogo componente.

reason
Necessario

Motivo per cui il dialogo è terminato.

context
Necessario

on_reprompt_dialog

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

Parametri

Nome Descrizione
turn_context
Necessario

Il TurnContext per il turno corrente della conversazione.

instance
Necessario

Informazioni sullo stato associate allo stack di dialoghi interno di questo dialogo componente.

reprompt_dialog

Chiamato quando la finestra di dialogo deve richiedere di nuovo l'input all'utente.

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

Parametri

Nome Descrizione
context
Necessario

Oggetto di contesto per questo turno.

instance
Necessario

Informazioni sullo stato per questa finestra di dialogo.

resume_dialog

Chiamato quando un dialogo figlio nello stack di dialoghi padre ha completato questo turno, restituendo il controllo a questo componente della finestra di dialogo.

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

Parametri

Nome Descrizione
dialog_context
Necessario

Contesto del dialogo per il turno corrente della conversazione.

reason
Necessario

Motivo per cui il dialogo è stato ripreso.

result

Valore facoltativo restituito dalla finestra di dialogo chiamata.

Valore predefinito: None

Restituisce

Tipo Descrizione

Segnala la fine del turno

Commenti

I contenitori sono in genere nodi foglia nello stack, ma lo sviluppo è libero di eseguire il push di altre finestre di dialogo sopra lo stack, che comporterà la ricezione di una chiamata imprevista a resume_dialog quando termina il push della finestra di dialogo. Per evitare che il contenitore finisa prematuramente, è necessario implementare questo metodo e chiedere semplicemente allo stack di dialoghi interno di ripetere la richiesta.

Attributi

persisted_dialog_state

persisted_dialog_state = 'dialogs'