WaterfallStepContext class

Oggetto contesto passato a un WaterfallStep.

Extends

Costruttori

WaterfallStepContext(DialogContext, WaterfallStepInfo<O>)

Crea una nuova istanza WaterfallStepContext.

Proprietà

activeDialog
child
dialogManager
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 DialogContext.beginDialog().

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 undefined se questo contesto non ha un elemento padre.

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

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.

cancelAllDialogs(boolean, string, any)

Annulla tutti i dialoghi nello stack di dialoghi e cancella lo stack.

continueDialog()

Continua l'esecuzione del dialogo attivo, se presente, passando questo contesto di dialogo al relativo metodo Dialog.continueDialog.

emitEvent(string, any, boolean, boolean)

Cerca una finestra di dialogo con un ID specificato.

endDialog(any)

Termina un dialogo e lo rimuove dallo stack. Restituisce un risultato facoltativo all'elemento padre del dialogo.

findDialog(string)

Cerca una finestra di dialogo con un ID specificato.

getLocale()

Ottenere CultureInfo in DialogContext.

prompt(string, string | Partial<Activity> | PromptOptions)

Funzione helper per semplificare la formattazione delle opzioni per chiamare una finestra di dialogo di richiesta.

prompt(string, string | Partial<Activity> | PromptOptions, string | Choice[])

Funzione helper per semplificare la formattazione delle opzioni per chiamare una finestra di dialogo di richiesta.

replaceDialog(string, object)

Termina il dialogo attivo e avvia una nuova finestra di dialogo al suo posto.

repromptDialog()

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

dc
DialogContext

Contesto del dialogo per il turno corrente della conversazione.

info

WaterfallStepInfo<O>

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 è la finestra di dialogo successiva nello stack di dialoghi, se presente. Questo metodo chiama il metodo dialog.resumeDialog dell'elemento padre, passando il risultato restituito dal dialogo finale. Se non è presente alcun dialogo padre, il turno termina e il risultato è disponibile per il bot tramite il risultato restituito proprietà.

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

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