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
str

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'