Prompt Classe
Definisce il comportamento principale dei dialoghi di richiesta. Estende la classe base Dialog.
Crea una nuova istanza di Prompt.
ComponentDialog :type dialog_id: str :p aram validator: facoltativamente, fornire una convalida aggiuntiva e richiedere nuovamente la logica :type validator: Object
Costruttore
Prompt(dialog_id: str, validator: object = None)
Parametri
| Nome | Descrizione |
|---|---|
|
dialog_id
Necessario
|
ID univoco del prompt all'interno del relativo DialogSet padre |
|
validator
|
Valore predefinito: None
|
Commenti
Al termine della richiesta, restituisce un oggetto che rappresenta il valore richiesto. Usare add o add_dialog per aggiungere una richiesta rispettivamente a un set di dialoghi o a un dialogo componente.
Usare prompt o begin_dialog per avviare il prompt. Se si avvia una richiesta da un <xref:botbuilder.dialogs.WaterfallStep> in un WaterfallDialog, il risultato della richiesta sarà disponibile nel passaggio successivo della cascata.
Metodi
| append_choices |
Compone un'attività di output contenente un set di scelte. |
| begin_dialog |
Avvia una finestra di dialogo di richiesta. Viene chiamato quando viene eseguito il push di una finestra di dialogo nello stack di dialoghi e viene attivato. Nota Il risultato indica se la richiesta è ancora attiva dopo l'elaborazione del turno. |
| continue_dialog |
Continua un dialogo. |
| on_prompt |
Richiede input all'utente. Quando sottoposto a override in una classe derivata, richiede all'utente di immettere l'input. |
| on_recognize |
Riconosce l'input dell'utente. Nota Quando sottoposto a override in una classe derivata, tenta di riconoscere l'input dell'utente. |
| reprompt_dialog |
Riprova l'utente per l'input. |
| resume_dialog |
Riprende un dialogo. |
append_choices
Compone un'attività di output contenente un set di scelte.
append_choices(prompt: Activity, channel_id: str, choices: List[Choice], style: ListStyle, options: ChoiceFactoryOptions = None) -> Activity
Parametri
| Nome | Descrizione |
|---|---|
|
prompt
Necessario
|
Richiesta di accodamento della scelta dell'utente a |
|
channel_id
Necessario
|
ID del canale a cui viene inviata la richiesta |
|
choices
Necessario
|
|
|
style
Necessario
|
|
|
options
|
Valore predefinito: None
|
Restituisce
| Tipo | Descrizione |
|---|---|
|
Attività che rappresenta l'operazione asincrona |
Commenti
Se l'attività ha esito positivo, il risultato contiene l'attività aggiornata. Quando sottoposto a override in una classe derivata, aggiunge le scelte all'attività quando all'utente viene richiesto l'input. Si tratta di una funzione helper per comporre un'attività di output contenente un set di scelte.
begin_dialog
Avvia una finestra di dialogo di richiesta. Viene chiamato quando viene eseguito il push di una finestra di dialogo nello stack di dialoghi e viene attivato.
Nota
Il risultato indica se la richiesta è ancora attiva dopo l'elaborazione del turno.
async begin_dialog(dialog_context: DialogContext, options: object = None) -> DialogTurnResult
Parametri
| Nome | Descrizione |
|---|---|
|
dialog_context
Necessario
|
Contesto del dialogo per il turno corrente della conversazione |
|
options
|
<xref:Object>
Informazioni aggiuntive facoltative da passare alla richiesta avviata Valore predefinito: None
|
Restituisce
| Tipo | Descrizione |
|---|---|
|
Risultato del turno del dialogo |
continue_dialog
Continua un dialogo.
async continue_dialog(dialog_context: DialogContext)
Parametri
| Nome | Descrizione |
|---|---|
|
dialog_context
Necessario
|
Contesto del dialogo per il turno corrente della conversazione |
Restituisce
| Tipo | Descrizione |
|---|---|
|
Risultato del turno del dialogo |
Commenti
Chiamato quando una finestra di dialogo di richiesta è la finestra di dialogo attiva e l'utente ha risposto con una nuova attività.
Se l'attività ha esito positivo, il risultato indica se il dialogo è ancora attivo dopo che il turno è stato elaborato dalla finestra di dialogo.
La richiesta continua in genere a ricevere le risposte dell'utente finché non accetta la risposta dell'utente come input valido per la richiesta.
on_prompt
Richiede input all'utente. Quando sottoposto a override in una classe derivata, richiede all'utente di immettere l'input.
abstract async on_prompt(turn_context: TurnContext, state: Dict[str, object], options: PromptOptions, is_retry: bool)
Parametri
| Nome | Descrizione |
|---|---|
|
turn_context
Necessario
|
Contesto per il turno corrente della conversazione con l'utente |
|
state
Necessario
|
Contiene lo stato per l'istanza corrente del prompt nello stack di dialoghi |
|
options
Necessario
|
Oggetto opzioni prompt costruito da:meth:DialogContext.prompt() |
|
is_retry
Necessario
|
Determina se utilizzare o retry_prompt di richiesta |
Restituisce
| Tipo | Descrizione |
|---|---|
|
Attività che rappresenta l'operazione asincrona. |
on_recognize
Riconosce l'input dell'utente.
Nota
Quando sottoposto a override in una classe derivata, tenta di riconoscere l'input dell'utente.
abstract async on_recognize(turn_context: TurnContext, state: Dict[str, object], options: PromptOptions)
Parametri
| Nome | Descrizione |
|---|---|
|
turn_context
Necessario
|
Contesto per il turno corrente della conversazione con l'utente |
|
state
Necessario
|
Contiene lo stato per l'istanza corrente del prompt nello stack di dialoghi |
|
options
Necessario
|
Oggetto opzioni prompt costruito da prompt |
Restituisce
| Tipo | Descrizione |
|---|---|
|
Attività che rappresenta l'operazione asincrona. |
reprompt_dialog
Riprova l'utente per l'input.
async reprompt_dialog(context: TurnContext, instance: DialogInstance)
Parametri
| Nome | Descrizione |
|---|---|
|
context
Necessario
|
Contesto per il turno corrente della conversazione con l'utente |
|
instance
Necessario
|
Istanza del dialogo nello stack |
Restituisce
| Tipo | Descrizione |
|---|---|
|
Attività che rappresenta l'operazione asincrona |
resume_dialog
Riprende un dialogo.
async resume_dialog(dialog_context: DialogContext, reason: DialogReason, result: object) -> DialogTurnResult
Parametri
| Nome | Descrizione |
|---|---|
|
dialog_context
Necessario
|
Contesto del dialogo per il turno corrente della conversazione. |
|
reason
Necessario
|
Enumerazione che indica il motivo per cui il dialogo è stato ripreso. |
|
result
Necessario
|
Valore facoltativo restituito dalla finestra di dialogo precedente nello stack. |
Restituisce
| Tipo | Descrizione |
|---|---|
|
Risultato del turno del dialogo |
Commenti
Viene chiamato quando una finestra di dialogo di richiesta riprende a essere la finestra di dialogo attiva nello stack di dialoghi, ad esempio quando viene completata la finestra di dialogo attiva precedente nello stack.
Se l'attività ha esito positivo, il risultato indica se il dialogo è ancora attivo dopo che il turno è stato elaborato dalla finestra di dialogo.
I prompt sono in genere nodi foglia nello stack, ma lo sviluppo è libero di eseguire il push di altri dialoghi all'inizio dello stack, che comporterà la ricezione di una chiamata imprevista a :meth:resume_dialog() quando termina il push della finestra di dialogo.
È sufficiente chiedere all'utente di evitare che il prompt termini prematuramente.
Attributi
ATTEMPT_COUNT_KEY
ATTEMPT_COUNT_KEY = 'AttemptCount'
persisted_options
persisted_options = 'options'
persisted_state
persisted_state = 'state'