Condividi tramite


ActionContext class

Estende il DialogContext con metodi aggiuntivi per modificare la sequenza di azioni in esecuzione per un AdaptiveDialog.

Extends

DialogContext

Costruttori

ActionContext(DialogSet, DialogContext, DialogState, ActionState[], symbol)

Inizializza una nuova istanza della classe ActionContext

Proprietà

actions

Elenco di azioni da eseguire.

changes

Ottiene l'elenco delle modifiche accodate da applicare.

Proprietà ereditate

activeDialog
child
context

Ottiene l'oggetto contesto per il turno.

dialogManager
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

applyChanges()

Applica eventuali modifiche in coda.

queueChanges(ActionChangeList)

Accoda un set di modifiche che verranno applicate quando viene chiamato applyChanges().

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

ActionContext(DialogSet, DialogContext, DialogState, ActionState[], symbol)

Inizializza una nuova istanza della classe ActionContext

new ActionContext(dialogs: DialogSet, parentDialogContext: DialogContext, state: DialogState, actions: ActionState[], changeKey: symbol)

Parametri

dialogs

DialogSet

Finestra di dialogo impostata per la creazione del contesto dell'azione.

parentDialogContext

DialogContext

Contesto del dialogo padre.

state

DialogState

Stato corrente del dialogo.

actions

ActionState[]

Elenco corrente delle azioni rimanenti da eseguire.

changeKey

symbol

Chiave TurnState per la posizione in cui rendere persistenti le modifiche.

Dettagli proprietà

actions

Elenco di azioni da eseguire.

actions: ActionState[]

Valore della proprietà

changes

Ottiene l'elenco delle modifiche accodate da applicare.

ActionChangeList[] changes

Valore della proprietà

Elenco delle modifiche in coda.

Dettagli proprietà ereditate

activeDialog

activeDialog: DialogInstance | undefined

Valore della proprietà

DialogInstance | undefined

ereditato da DialogContext.activeDialog

child

child: DialogContext | undefined

Valore della proprietà

DialogContext | undefined

Ereditato da DialogContext.child

context

Ottiene l'oggetto contesto per il turno.

context: TurnContext

Valore della proprietà

TurnContext

ereditato da DialogContext.context

dialogManager

dialogManager: DialogManager

Valore della proprietà

DialogManager

Ereditato da DialogContext.dialogManager

dialogs

Ottiene i dialoghi che possono essere chiamati direttamente da questo contesto.

dialogs: DialogSet

Valore della proprietà

DialogSet

Ereditato da DialogContext.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 da DialogContext.parent

services

Ottiene la raccolta di servizi contestuale a questo contesto di dialogo.

services: TurnContextStateCollection

Valore della proprietà

TurnContextStateCollection

Ereditato da DialogContext.services

stack

Ottiene lo stack di dialoghi corrente.

stack: DialogInstance[]

Valore della proprietà

DialogInstance[]

ereditato da DialogContext.stack

state

Ottiene DialogStateManager che gestisce la visualizzazione di tutti gli ambiti di memoria.

state: DialogStateManager

Valore della proprietà

DialogStateManager

ereditato da DialogContext.state

Dettagli metodo

applyChanges()

Applica eventuali modifiche in coda.

function applyChanges(): Promise<boolean>

Restituisce

Promise<boolean>

True se sono state apportate modifiche da applicare.

queueChanges(ActionChangeList)

Accoda un set di modifiche che verranno applicate quando viene chiamato applyChanges().

function queueChanges(changes: ActionChangeList)

Parametri

changes
ActionChangeList

Pianificare le modifiche apportate alla coda.

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 da DialogContext.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 da DialogContext.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 da DialogContext.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 da DialogContext.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 da DialogContext.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 da DialogContext.findDialog

getLocale()

Ottenere CultureInfo in DialogContext.

function getLocale(): string

Restituisce

string

stringa delle impostazioni locali.

ereditato da DialogContext.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 da DialogContext.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 da DialogContext.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 da DialogContext.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 da DialogContext.repromptDialog