Freigeben über


ActionContext class

Erweitert die DialogContext- mit zusätzlichen Methoden zum Bearbeiten der Ausführungssequenz von Aktionen für ein AdaptiveDialog-.

Extends

DialogContext

Konstruktoren

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

Initialisiert eine neue Instanz der ActionContext-klasse

Eigenschaften

actions

Liste der ausgeführten Aktionen.

changes

Ruft eine Liste der Änderungen ab, die in die Warteschlange gestellt werden sollen.

Geerbte Eigenschaften

activeDialog
child
context

Ruft das Kontextobjekt für die Drehung ab.

dialogManager
dialogs

Ruft die Dialogfelder ab, die direkt aus diesem Kontext aufgerufen werden können.

parent

Der übergeordnete Dialogfeldkontext für diesen Dialogfeldkontext oder undefined, wenn dieser Kontext nicht über ein übergeordnetes Element verfügt.

services

Ruft die Dienstauflistung ab, die kontextbezogen mit diesem Dialogfeldkontext ist.

stack

Ruft den aktuellen Dialogstapel ab.

state

Ruft den DialogStateManager ab, der die Ansicht aller Speicherbereiche verwaltet.

Methoden

applyChanges()

Wendet alle in die Warteschlange eingereihten Änderungen an.

queueChanges(ActionChangeList)

Stellt eine Reihe von Änderungen in die Warteschlange, die angewendet werden, wenn applyChanges() aufgerufen wird.

Geerbte Methoden

beginDialog(string, object)

Startet eine Dialoginstanz und verschiebt sie auf den Dialogstapel. Erstellt eine neue Instanz des Dialogfelds und verschiebt sie auf den Stapel.

cancelAllDialogs(boolean, string, any)

Bricht alle Dialogfelder im Dialogfeldstapel ab und löscht Stapel.

continueDialog()

Setzt die Ausführung des aktiven Dialogfelds fort, falls vorhanden, durch Übergeben dieses Dialogfeldkontexts an die Dialog.continueDialog-Methode.

emitEvent(string, any, boolean, boolean)

Sucht nach einem Dialogfeld mit einer bestimmten ID.

endDialog(any)

Beendet ein Dialogfeld und füllt es aus dem Stapel. Gibt ein optionales Ergebnis an das übergeordnete Element des Dialogfelds zurück.

findDialog(string)

Sucht nach einem Dialogfeld mit einer bestimmten ID.

getLocale()

Rufen Sie die CultureInfo in DialogContext ab.

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

Hilfsfunktion zum Vereinfachen der Formatierung der Optionen zum Aufrufen eines Eingabeaufforderungsdialogfelds.

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

Hilfsfunktion zum Vereinfachen der Formatierung der Optionen zum Aufrufen eines Eingabeaufforderungsdialogfelds.

replaceDialog(string, object)

Beendet das aktive Dialogfeld und startet ein neues Dialogfeld an seiner Stelle.

repromptDialog()

Fordert das aktive Dialogfeld an, den Benutzer erneut zur Eingabe aufzufordern.

Details zum Konstruktor

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

Initialisiert eine neue Instanz der ActionContext-klasse

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

Parameter

dialogs

DialogSet

Das Dialogfeld, für das der Aktionskontext erstellt werden soll.

parentDialogContext

DialogContext

Kontext des übergeordneten Dialogfelds.

state

DialogState

Aktueller Dialogfeldstatus.

actions

ActionState[]

Aktuelle Liste der verbleibenden auszuführenden Aktionen.

changeKey

symbol

TurnState-Taste für die Position, an der Änderungen beibehalten werden sollen.

Details zur Eigenschaft

actions

Liste der ausgeführten Aktionen.

actions: ActionState[]

Eigenschaftswert

changes

Ruft eine Liste der Änderungen ab, die in die Warteschlange gestellt werden sollen.

ActionChangeList[] changes

Eigenschaftswert

Die Liste der Änderungen in der Warteschlange.

Geerbte Eigenschaftsdetails

activeDialog

activeDialog: DialogInstance | undefined

Eigenschaftswert

DialogInstance | undefined

von DialogContext.activeDialog geerbt

child

child: DialogContext | undefined

Eigenschaftswert

DialogContext | undefined

geerbt von DialogContext.child

context

Ruft das Kontextobjekt für die Drehung ab.

context: TurnContext

Eigenschaftswert

TurnContext

geerbt von DialogContext.context

dialogManager

dialogManager: DialogManager

Eigenschaftswert

DialogManager

geerbt von DialogContext.dialogManager

dialogs

Ruft die Dialogfelder ab, die direkt aus diesem Kontext aufgerufen werden können.

dialogs: DialogSet

Eigenschaftswert

DialogSet

von DialogContext.dialogs geerbt

parent

Der übergeordnete Dialogfeldkontext für diesen Dialogfeldkontext oder undefined, wenn dieser Kontext nicht über ein übergeordnetes Element verfügt.

parent: DialogContext | undefined

Eigenschaftswert

DialogContext | undefined

Hinweise

Wenn versucht wird, ein Dialogfeld zu starten, sucht der Dialogfeldkontext in den Dialogfeldernnach dem Dialog.id. Wenn das zu startende Dialogfeld in diesem Dialogfeldkontext nicht gefunden wird, sucht es im übergeordneten Dialogfeldkontext usw.

von DialogContext.parent geerbt

services

Ruft die Dienstauflistung ab, die kontextbezogen mit diesem Dialogfeldkontext ist.

services: TurnContextStateCollection

Eigenschaftswert

TurnContextStateCollection

geerbt von DialogContext.services

stack

Ruft den aktuellen Dialogstapel ab.

stack: DialogInstance[]

Eigenschaftswert

DialogInstance[]

geerbt von DialogContext.stack

state

Ruft den DialogStateManager ab, der die Ansicht aller Speicherbereiche verwaltet.

state: DialogStateManager

Eigenschaftswert

DialogStateManager

geerbt von DialogContext.state

Details zur Methode

applyChanges()

Wendet alle in die Warteschlange eingereihten Änderungen an.

function applyChanges(): Promise<boolean>

Gibt zurück

Promise<boolean>

True, wenn Änderungen angewendet werden sollen.

queueChanges(ActionChangeList)

Stellt eine Reihe von Änderungen in die Warteschlange, die angewendet werden, wenn applyChanges() aufgerufen wird.

function queueChanges(changes: ActionChangeList)

Parameter

changes
ActionChangeList

Planen Sie Änderungen an der Warteschlange.

Details zur geerbten Methode

beginDialog(string, object)

Startet eine Dialoginstanz und verschiebt sie auf den Dialogstapel. Erstellt eine neue Instanz des Dialogfelds und verschiebt sie auf den Stapel.

function beginDialog(dialogId: string, options?: object): Promise<DialogTurnResult>

Parameter

dialogId

string

ID des zu startenden Dialogfelds.

options

object

Wahlfrei. Argumente, die beim Start in das Dialogfeld übergeben werden sollen.

Gibt zurück

Promise<DialogTurnResult>

eine Zusage, die in das Dialogdrehergebnis aufgelöst wird.

Hinweise

Wenn bereits ein aktives Dialogfeld im Stapel vorhanden ist, wird dieses Dialogfeld angehalten, bis es wieder das obere Dialogfeld im Stapel ist.

Der Status des zurückgegebenen Objekts beschreibt den Status des Dialogstapels, nachdem diese Methode abgeschlossen wurde.

Diese Methode löst eine Ausnahme aus, wenn das angeforderte Dialogfeld in diesem Dialogfeldkontext oder einem seiner Vorgänger nicht gefunden werden kann.

Zum Beispiel:

const result = await dc.beginDialog('greeting', { name: user.name });

Siehe auch

von DialogContext.beginDialog geerbt

cancelAllDialogs(boolean, string, any)

Bricht alle Dialogfelder im Dialogfeldstapel ab und löscht Stapel.

function cancelAllDialogs(cancelParents?: boolean, eventName?: string, eventValue?: any): Promise<DialogTurnResult>

Parameter

cancelParents

boolean

Wahlfrei. Wenn true alle übergeordneten Dialogfelder ebenfalls abgebrochen werden.

eventName

string

Wahlfrei. Der Name eines benutzerdefinierten Ereignisses, das als Dialogfelder ausgelöst werden soll, wird abgebrochen. Dies wird standardmäßig auf cancelDialog-festgelegt.

eventValue

any

Wahlfrei. Wert, der zusammen mit einem benutzerdefinierten Abbruchereignis übergeben werden soll.

Gibt zurück

Promise<DialogTurnResult>

eine Zusage, die in das Dialogdrehergebnis aufgelöst wird.

Hinweise

Dadurch wird die Dialog.endDialog-Methode jedes Dialogfelds aufgerufen, bevor das Dialogfeld aus dem Stapel entfernt wird.

Wenn anfänglich Dialogfelder im Stapel vorhanden waren, wird der Status des Rückgabewerts abgebrochen; andernfalls ist es leer.

In diesem Beispiel wird ein Dialogfeldstapel gelöscht, dc, bevor ein Dialogfeld "bookFlight" gestartet wird.

await dc.cancelAllDialogs();
return await dc.beginDialog('bookFlight');

Siehe auch

geerbt von DialogContext.cancelAllDialogs

continueDialog()

Setzt die Ausführung des aktiven Dialogfelds fort, falls vorhanden, durch Übergeben dieses Dialogfeldkontexts an die Dialog.continueDialog-Methode.

function continueDialog(): Promise<DialogTurnResult>

Gibt zurück

Promise<DialogTurnResult>

eine Zusage, die in das Dialogdrehergebnis aufgelöst wird.

Hinweise

Nach Abschluss des Aufrufs können Sie die des Turnkontexts Eigenschaft überprüfen, um festzustellen, ob das Dialogfeld eine Antwort an den Benutzer gesendet hat.

Der Status des zurückgegebenen Objekts beschreibt den Status des Dialogstapels, nachdem diese Methode abgeschlossen wurde.

In der Regel würden Sie dies innerhalb des Turnhandlers Ihres Bots aufrufen.

Zum Beispiel:

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.`);
}

Geerbt von DialogContext.continueDialog

emitEvent(string, any, boolean, boolean)

Sucht nach einem Dialogfeld mit einer bestimmten ID.

function emitEvent(name: string, value?: any, bubble?: boolean, fromLeaf?: boolean): Promise<boolean>

Parameter

name

string

Der Name des ereignisses, das ausgelöst werden soll.

value

any

Wahlfrei. Wert, der zusammen mit dem Ereignis gesendet werden soll.

bubble

boolean

Wahlfrei. Kennzeichnen Sie, um zu steuern, ob das Ereignis an das übergeordnete Element übergeben werden soll, wenn es nicht lokal behandelt wird. Der Standardwert ist ein Wert von true.

fromLeaf

boolean

Wahlfrei. Gibt an, ob das Ereignis von einem Blattknoten ausgegeben wird.

Gibt zurück

Promise<boolean>

true, ob das Ereignis behandelt wurde.

Hinweise

Gibt ein benanntes Ereignis für das aktuelle Dialogfeld oder eine Person aus, die es gestartet hat, um dies zu behandeln.

geerbt von DialogContext.emitEvent

endDialog(any)

Beendet ein Dialogfeld und füllt es aus dem Stapel. Gibt ein optionales Ergebnis an das übergeordnete Element des Dialogfelds zurück.

function endDialog(result?: any): Promise<DialogTurnResult>

Parameter

result

any

Wahlfrei. Ein Ergebnis, das an die übergeordnete Logik übergeben werden soll. Dies kann das nächste Dialogfeld im Stapel sein, oder wenn es sich um das letzte Dialogfeld im Stapel, einen übergeordneten Dialogkontext oder den Turnhandler des Bots handelt.

Gibt zurück

Promise<DialogTurnResult>

eine Zusage, die in das Dialogdrehergebnis aufgelöst wird.

Hinweise

Das dialogfeld übergeordneten ist das nächste Dialogfeld im Dialogstapel, falls vorhanden. Diese Methode ruft die Dialog.resumeDialog-Methode des übergeordneten Elements auf und übergibt das vom endeden Dialogfeld zurückgegebene Ergebnis. Wenn kein übergeordnetes Dialogfeld vorhanden ist, endet die Drehung, und das Ergebnis steht dem Bot über das Ergebnis des zurückgegebenen Objekts Eigenschaft zur Verfügung.

Der Status des zurückgegebenen Objekts beschreibt den Status des Dialogstapels, nachdem diese Methode abgeschlossen wurde.

In der Regel würden Sie dies aus der Logik für ein bestimmtes Dialogfeld aufrufen, um wieder in den Dialogkontext zurückzukehren, den das Dialogfeld abgeschlossen hat, das Dialogfeld sollte aus dem Stapel entfernt werden, und das übergeordnete Dialogfeld sollte fortgesetzt werden.

Zum Beispiel:

return await dc.endDialog(returnValue);

Siehe auch

geerbt von DialogContext.endDialog

findDialog(string)

Sucht nach einem Dialogfeld mit einer bestimmten ID.

function findDialog(dialogId: string): Dialog | undefined

Parameter

dialogId

string

ID des dialogfelds, nach dem gesucht werden soll.

Gibt zurück

Dialog | undefined

Das Dialogfeld für die angegebene ID.

Hinweise

Wenn das zu startende Dialogfeld im DialogSet diesem Dialogfeldkontext nicht gefunden wird, wird versucht, das Dialogfeld im übergeordneten Dialogfeldkontext zu finden.

Siehe auch

Geerbt von DialogContext.findDialog

getLocale()

Rufen Sie die CultureInfo in DialogContext ab.

function getLocale(): string

Gibt zurück

string

eine Gebietsschemazeichenfolge.

Geerbt von DialogContext.getLocale

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

Hilfsfunktion zum Vereinfachen der Formatierung der Optionen zum Aufrufen eines Eingabeaufforderungsdialogfelds.

function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions): Promise<DialogTurnResult>

Parameter

dialogId

string

ID des zu startenden Eingabeaufforderungsdialogfelds.

promptOrOptions

string | Partial<Activity> | PromptOptions

Der Text der anfänglichen Eingabeaufforderung, um den Benutzer zu senden, die Aktivität, die als erste Eingabeaufforderung gesendet werden soll, oder das Objekt, mit dem das Eingabeaufforderungsdialogfeld formatiert werden soll.

Gibt zurück

Promise<DialogTurnResult>

Hinweise

Diese Hilfsmethode formatiert das Objekt, das als options-Parameter verwendet werden soll, und ruft dann beginDialog- auf, um das angegebene Eingabeaufforderungsdialogfeld zu starten.

return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);

von DialogContext.prompt geerbt

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

Hilfsfunktion zum Vereinfachen der Formatierung der Optionen zum Aufrufen eines Eingabeaufforderungsdialogfelds.

function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions, choices: string | Choice[]): Promise<DialogTurnResult>

Parameter

dialogId

string

ID des zu startenden Eingabeaufforderungsdialogfelds.

promptOrOptions

string | Partial<Activity> | PromptOptions

Der Text der ersten Eingabeaufforderung, die der Benutzer senden soll, die Aktivität, die als erste Eingabeaufforderung gesendet werden soll, oder das Objekt, mit dem das Eingabeaufforderungsdialogfeld formatiert werden soll.

choices

string | Choice[]

Wahlfrei. Array von Auswahlmöglichkeiten für den Benutzer, für die Verwendung mit einem ChoicePrompt.

Gibt zurück

Promise<DialogTurnResult>

Hinweise

Diese Hilfsmethode formatiert das Objekt, das als options-Parameter verwendet werden soll, und ruft dann beginDialog- auf, um das angegebene Eingabeaufforderungsdialogfeld zu starten.

return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);

von DialogContext.prompt geerbt

replaceDialog(string, object)

Beendet das aktive Dialogfeld und startet ein neues Dialogfeld an seiner Stelle.

function replaceDialog(dialogId: string, options?: object): Promise<DialogTurnResult>

Parameter

dialogId

string

ID des zu startenden Dialogfelds.

options

object

Wahlfrei. Argumente, die beim Start in das neue Dialogfeld übergeben werden sollen.

Gibt zurück

Promise<DialogTurnResult>

eine Zusage, die in das Dialogdrehergebnis aufgelöst wird.

Hinweise

Dies ist besonders hilfreich, um eine Schleife zu erstellen oder an ein anderes Dialogfeld umzuleiten.

Der Status des zurückgegebenen Objekts beschreibt den Status des Dialogstapels, nachdem diese Methode abgeschlossen wurde.

Diese Methode ähnelt dem Beenden des aktuellen Dialogfelds und dem sofortigen Starten des neuen Dialogfelds. Das übergeordnete Dialogfeld wird jedoch weder fortgesetzt noch anderweitig benachrichtigt.

Siehe auch

Geerbt von DialogContext.replaceDialog

repromptDialog()

Fordert das aktive Dialogfeld an, den Benutzer erneut zur Eingabe aufzufordern.

function repromptDialog(): Promise<void>

Gibt zurück

Promise<void>

Hinweise

Dadurch wird die repromptDialog Methode des aktiven Dialogfelds aufgerufen.

Zum Beispiel:

await dc.repromptDialog();

von DialogContext.repromptDialog geerbt