WaterfallStepContext class
Oggetto contesto passato a un WaterfallStep
.
- Extends
Costruttori
Waterfall |
Crea una nuova istanza WaterfallStepContext. |
Proprietà
active |
|
child | |
dialog |
|
index | Indice del passaggio a cascata corrente in esecuzione. |
options | Tutte le opzioni passate alla finestra di dialogo a cascata dei passaggi quando è stata avviata con |
reason | Motivo per cui viene eseguito il passaggio a cascata. |
result | Risultati restituiti da un dialogo o da un prompt chiamato nel passaggio a cascata precedente. |
values | Dizionario di valori che verranno mantenuti in tutti i passaggi a cascata. |
Proprietà ereditate
context | Ottiene l'oggetto contesto per il turno. |
dialogs | Ottiene i dialoghi che possono essere chiamati direttamente da questo contesto. |
parent | Contesto del dialogo padre per questo contesto di dialogo o |
services | Ottiene la raccolta di servizi contestuale a questo contesto di dialogo. |
stack | Ottiene lo stack di dialoghi corrente. |
state | Ottiene DialogStateManager che gestisce la visualizzazione di tutti gli ambiti di memoria. |
Metodi
next(any) | Passa al passaggio successivo a cascata. |
Metodi ereditati
begin |
Avvia un'istanza del dialogo e la inserisce nello stack di dialoghi. Crea una nuova istanza del dialogo e lo inserisce nello stack. |
cancel |
Annulla tutti i dialoghi nello stack di dialoghi e cancella lo stack. |
continue |
Continua l'esecuzione del dialogo attivo, se presente, passando questo contesto di dialogo al relativo metodo Dialog.continueDialog. |
emit |
Cerca una finestra di dialogo con un ID specificato. |
end |
Termina un dialogo e lo rimuove dallo stack. Restituisce un risultato facoltativo all'elemento padre del dialogo. |
find |
Cerca una finestra di dialogo con un ID specificato. |
get |
Ottenere CultureInfo in DialogContext. |
prompt(string, string | Partial<Activity> | Prompt |
Funzione helper per semplificare la formattazione delle opzioni per chiamare una finestra di dialogo di richiesta. |
prompt(string, string | Partial<Activity> | Prompt |
Funzione helper per semplificare la formattazione delle opzioni per chiamare una finestra di dialogo di richiesta. |
replace |
Termina il dialogo attivo e avvia una nuova finestra di dialogo al suo posto. |
reprompt |
Richiede al dialogo attivo di richiedere di nuovo all'utente l'input. |
Dettagli costruttore
WaterfallStepContext(DialogContext, WaterfallStepInfo<O>)
Crea una nuova istanza WaterfallStepContext.
new WaterfallStepContext(dc: DialogContext, info: WaterfallStepInfo<O>)
Parametri
Contesto del dialogo per il turno corrente della conversazione.
- info
Valori con cui inizializzare il contesto del passaggio.
Dettagli proprietà
activeDialog
DialogInstance | undefined activeDialog
Valore della proprietà
DialogInstance | undefined
Informazioni sullo stato per il dialogo nella parte superiore dello stack di dialoghi o undefined
se lo stack è vuoto.
child
DialogContext | undefined child
Valore della proprietà
DialogContext | undefined
Contesto del dialogo per figlio se il dialogo attivo è un contenitore.
dialogManager
Avviso
Questa API è ora deprecata.
This property serves no function.
DialogManager dialogManager
Valore della proprietà
Istanza corrente di Gestione dialoghi. Questa proprietà è deprecata.
index
Indice del passaggio a cascata corrente in esecuzione.
number index
Valore della proprietà
number
Indice del passaggio a cascata corrente in esecuzione.
options
Tutte le opzioni passate alla finestra di dialogo a cascata dei passaggi quando è stata avviata con DialogContext.beginDialog()
.
O options
Valore della proprietà
O
Tutte le opzioni con cui è stato chiamato il dialogo a cascata.
reason
Motivo per cui viene eseguito il passaggio a cascata.
DialogReason reason
Valore della proprietà
Motivo per cui viene eseguito il passaggio a cascata.
result
Risultati restituiti da un dialogo o da un prompt chiamato nel passaggio a cascata precedente.
any result
Valore della proprietà
any
Risultato del passaggio a cascata precedente.
values
Dizionario di valori che verranno mantenuti in tutti i passaggi a cascata.
object values
Valore della proprietà
object
Dizionario di valori che verranno mantenuti in tutti i passaggi a cascata.
Dettagli proprietà ereditate
context
Ottiene l'oggetto contesto per il turno.
context: TurnContext
Valore della proprietà
TurnContext
ereditato daDialogContext.context
dialogs
Ottiene i dialoghi che possono essere chiamati direttamente da questo contesto.
dialogs: DialogSet
Valore della proprietà
ereditato daDialogContext.dialogs
parent
Contesto del dialogo padre per questo contesto di dialogo o undefined
se questo contesto non ha un elemento padre.
parent: DialogContext | undefined
Valore della proprietà
DialogContext | undefined
Commenti
Quando tenta di avviare una finestra di dialogo, il contesto del dialogo cerca il Dialog.id nelle finestre di dialogo . Se il dialogo da avviare non viene trovato in questo contesto di dialogo, cerca nel contesto del dialogo padre e così via.
ereditato daDialogContext.parent
services
Ottiene la raccolta di servizi contestuale a questo contesto di dialogo.
services: TurnContextStateCollection
Valore della proprietà
TurnContextStateCollection
ereditato daDialogContext.services
stack
Ottiene lo stack di dialoghi corrente.
stack: DialogInstance[]
Valore della proprietà
ereditato daDialogContext.stack
state
Ottiene DialogStateManager che gestisce la visualizzazione di tutti gli ambiti di memoria.
state: DialogStateManager
Valore della proprietà
ereditato daDialogContext.state
Dettagli metodo
next(any)
Passa al passaggio successivo a cascata.
function next(result?: any): Promise<DialogTurnResult>
Parametri
- result
-
any
(Facoltativo) risultato da passare al passaggio successivo.
Restituisce
Promise<DialogTurnResult>
Promessa con DialogTurnResult.
Commenti
return await step.skip();
Dettagli dei metodi ereditati
beginDialog(string, object)
Avvia un'istanza del dialogo e la inserisce nello stack di dialoghi. Crea una nuova istanza del dialogo e lo inserisce nello stack.
function beginDialog(dialogId: string, options?: object): Promise<DialogTurnResult>
Parametri
- dialogId
-
string
ID della finestra di dialogo da avviare.
- options
-
object
Opzionale. Argomenti da passare alla finestra di dialogo all'avvio.
Restituisce
Promise<DialogTurnResult>
una promessa che risolve il risultato del turno del dialogo.
Commenti
Se è già presente un dialogo attivo nello stack, tale finestra di dialogo verrà sospesa fino a quando non sarà nuovamente la finestra di dialogo superiore nello stack.
Lo stato dell'oggetto restituito descrive lo stato dello stack di dialoghi al termine di questo metodo.
Questo metodo genera un'eccezione se il dialogo richiesto non viene trovato in questo contesto di dialogo o in uno dei relativi predecessori.
Per esempio:
const result = await dc.beginDialog('greeting', { name: user.name });
Vedere anche
ereditato daDialogContext.beginDialog
cancelAllDialogs(boolean, string, any)
Annulla tutti i dialoghi nello stack di dialoghi e cancella lo stack.
function cancelAllDialogs(cancelParents?: boolean, eventName?: string, eventValue?: any): Promise<DialogTurnResult>
Parametri
- cancelParents
-
boolean
Opzionale. Se true
verranno annullati anche tutti i dialoghi padre.
- eventName
-
string
Opzionale. Nome di un evento personalizzato da generare quando le finestre di dialogo vengono annullate. Per impostazione predefinita, cancelDialog.
- eventValue
-
any
Opzionale. Valore da passare insieme all'evento di annullamento personalizzato.
Restituisce
Promise<DialogTurnResult>
una promessa che risolve il risultato del turno del dialogo.
Commenti
Viene chiamato il metodo Dialog.endDia log di ogni dialogo prima di rimuovere il dialogo dallo stack.
Se inizialmente sono presenti dialoghi nello stack, lo stato del valore restituito viene annullato; in caso contrario, è vuoto.
In questo esempio viene cancellato uno stack di dialoghi, dc
, prima di avviare una finestra di dialogo 'bookFlight'.
await dc.cancelAllDialogs();
return await dc.beginDialog('bookFlight');
Vedere anche
Ereditato daDialogContext.cancelAllDialogs
continueDialog()
Continua l'esecuzione del dialogo attivo, se presente, passando questo contesto di dialogo al relativo metodo Dialog.continueDialog.
function continueDialog(): Promise<DialogTurnResult>
Restituisce
Promise<DialogTurnResult>
una promessa che risolve il risultato del turno del dialogo.
Commenti
Al termine della chiamata, è possibile controllare il contesto di turno ha risposto proprietà per determinare se la finestra di dialogo ha inviato una risposta all'utente.
Lo stato dell'oggetto restituito descrive lo stato dello stack di dialoghi al termine di questo metodo.
In genere, è necessario chiamare questa operazione dall'interno del gestore dei turni del bot.
Per esempio:
const result = await dc.continueDialog();
if (result.status == DialogTurnStatus.empty && dc.context.activity.type == ActivityTypes.message) {
// Send fallback message
await dc.context.sendActivity(`I'm sorry. I didn't understand.`);
}
ereditato daDialogContext.continueDialog
emitEvent(string, any, boolean, boolean)
Cerca una finestra di dialogo con un ID specificato.
function emitEvent(name: string, value?: any, bubble?: boolean, fromLeaf?: boolean): Promise<boolean>
Parametri
- name
-
string
Nome dell'evento da generare.
- value
-
any
Opzionale. Valore da inviare insieme all'evento.
- bubble
-
boolean
Opzionale. Flag per controllare se l'evento deve essere indirizzato all'elemento padre se non gestito localmente. Il valore predefinito è true
.
- fromLeaf
-
boolean
Opzionale. Indica se l'evento viene generato da un nodo foglia.
Restituisce
Promise<boolean>
true
se l'evento è stato gestito.
Commenti
Genera un evento denominato per la finestra di dialogo corrente, o un utente che lo ha avviato, da gestire.
ereditato daDialogContext.emitEvent
endDialog(any)
Termina un dialogo e lo rimuove dallo stack. Restituisce un risultato facoltativo all'elemento padre del dialogo.
function endDialog(result?: any): Promise<DialogTurnResult>
Parametri
- result
-
any
Opzionale. Risultato da passare alla logica padre. Potrebbe trattarsi del dialogo successivo nello stack o se si tratta dell'ultimo dialogo nello stack, di un contesto del dialogo padre o del gestore dei turni del bot.
Restituisce
Promise<DialogTurnResult>
una promessa che risolve il risultato del turno del dialogo.
Commenti
La finestra di dialogo padre
Lo stato dell'oggetto restituito descrive lo stato dello stack di dialoghi al termine di questo metodo.
In genere, è necessario chiamare questa operazione dall'interno della logica per un dialogo specifico per segnalare al contesto del dialogo che il dialogo è stato completato, il dialogo deve essere rimosso dallo stack e il dialogo padre deve riprendere.
Per esempio:
return await dc.endDialog(returnValue);
Vedere anche
ereditato daDialogContext.endDialog
findDialog(string)
Cerca una finestra di dialogo con un ID specificato.
function findDialog(dialogId: string): Dialog | undefined
Parametri
- dialogId
-
string
ID della finestra di dialogo da cercare.
Restituisce
Dialog | undefined
Finestra di dialogo per l'ID specificato.
Commenti
Se il dialogo da avviare non viene trovato nel DialogSet associato a questo contesto di dialogo, tenta di trovare il dialogo nel contesto del dialogo padre.
Vedere anche
- finestre di dialogo
- padre
ereditato daDialogContext.findDialog
getLocale()
Ottenere CultureInfo in DialogContext.
function getLocale(): string
Restituisce
string
stringa delle impostazioni locali.
ereditato daDialogContext.getLocale
prompt(string, string | Partial<Activity> | PromptOptions)
Funzione helper per semplificare la formattazione delle opzioni per chiamare una finestra di dialogo di richiesta.
function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions): Promise<DialogTurnResult>
Parametri
- dialogId
-
string
ID della finestra di dialogo di richiesta da avviare.
- promptOrOptions
-
string | Partial<Activity> | PromptOptions
Testo del prompt iniziale per inviare l'utente, l'attività da inviare come richiesta iniziale o l'oggetto con cui formattare la finestra di dialogo di richiesta.
Restituisce
Promise<DialogTurnResult>
Commenti
Questo metodo helper formatta l'oggetto da usare come parametro options
e quindi chiama beginDialog per avviare la finestra di dialogo di richiesta specificata.
return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);
ereditato daDialogContext.prompt
prompt(string, string | Partial<Activity> | PromptOptions, string | Choice[])
Funzione helper per semplificare la formattazione delle opzioni per chiamare una finestra di dialogo di richiesta.
function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions, choices: string | Choice[]): Promise<DialogTurnResult>
Parametri
- dialogId
-
string
ID della finestra di dialogo di richiesta da avviare.
- promptOrOptions
-
string | Partial<Activity> | PromptOptions
Testo del prompt iniziale per inviare l'utente, l'Activity da inviare come prompt iniziale o l'oggetto con cui formattare la finestra di dialogo di richiesta.
- choices
-
string | Choice[]
Opzionale. Matrice di opzioni tra cui scegliere l'utente, da usare con un ChoicePrompt.
Restituisce
Promise<DialogTurnResult>
Commenti
Questo metodo helper formatta l'oggetto da usare come parametro options
e quindi chiama beginDialog per avviare la finestra di dialogo di richiesta specificata.
return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);
ereditato daDialogContext.prompt
replaceDialog(string, object)
Termina il dialogo attivo e avvia una nuova finestra di dialogo al suo posto.
function replaceDialog(dialogId: string, options?: object): Promise<DialogTurnResult>
Parametri
- dialogId
-
string
ID della finestra di dialogo da avviare.
- options
-
object
Opzionale. Argomenti da passare alla nuova finestra di dialogo all'avvio.
Restituisce
Promise<DialogTurnResult>
una promessa che risolve il risultato del turno del dialogo.
Commenti
Ciò è particolarmente utile per la creazione di un ciclo o il reindirizzamento a un'altra finestra di dialogo.
Lo stato dell'oggetto restituito descrive lo stato dello stack di dialoghi al termine di questo metodo.
Questo metodo è simile a quello di terminare il dialogo corrente e iniziare immediatamente quello nuovo. Tuttavia, la finestra di dialogo padre non viene ripresa né notificata in altro modo.
Vedere anche
ereditato daDialogContext.replaceDialog
repromptDialog()
Richiede al dialogo attivo di richiedere di nuovo all'utente l'input.
function repromptDialog(): Promise<void>
Restituisce
Promise<void>
Commenti
Viene chiamato il metodo di del dialogo attivo.
Per esempio:
await dc.repromptDialog();
ereditato daDialogContext.repromptDialog