ActionContext class
Erweitert die DialogContext- mit zusätzlichen Methoden zum Bearbeiten der Ausführungssequenz von Aktionen für ein AdaptiveDialog-.
- Extends
-
DialogContext
Konstruktoren
| Action |
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
| active |
|
| child | |
| context | Ruft das Kontextobjekt für die Drehung ab. |
| dialog |
|
| dialogs | Ruft die Dialogfelder ab, die direkt aus diesem Kontext aufgerufen werden können. |
| parent | Der übergeordnete Dialogfeldkontext für diesen Dialogfeldkontext oder |
| 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
| apply |
Wendet alle in die Warteschlange eingereihten Änderungen an. |
| queue |
Stellt eine Reihe von Änderungen in die Warteschlange, die angewendet werden, wenn applyChanges() aufgerufen wird. |
Geerbte Methoden
| begin |
Startet eine Dialoginstanz und verschiebt sie auf den Dialogstapel. Erstellt eine neue Instanz des Dialogfelds und verschiebt sie auf den Stapel. |
| cancel |
Bricht alle Dialogfelder im Dialogfeldstapel ab und löscht Stapel. |
| continue |
Setzt die Ausführung des aktiven Dialogfelds fort, falls vorhanden, durch Übergeben dieses Dialogfeldkontexts an die Dialog.continueDialog-Methode. |
| emit |
Sucht nach einem Dialogfeld mit einer bestimmten ID. |
| end |
Beendet ein Dialogfeld und füllt es aus dem Stapel. Gibt ein optionales Ergebnis an das übergeordnete Element des Dialogfelds zurück. |
| find |
Sucht nach einem Dialogfeld mit einer bestimmten ID. |
| get |
Rufen Sie die CultureInfo in DialogContext ab. |
| prompt(string, string | Partial<Activity> | Prompt |
Hilfsfunktion zum Vereinfachen der Formatierung der Optionen zum Aufrufen eines Eingabeaufforderungsdialogfelds. |
| prompt(string, string | Partial<Activity> | Prompt |
Hilfsfunktion zum Vereinfachen der Formatierung der Optionen zum Aufrufen eines Eingabeaufforderungsdialogfelds. |
| replace |
Beendet das aktive Dialogfeld und startet ein neues Dialogfeld an seiner Stelle. |
| reprompt |
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
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
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