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
|
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'