ConversationState class
Liest und schreibt den Unterhaltungszustand für Ihren Bot in den Speicher.
- Extends
Hinweise
Jede Unterhaltung, die Ihr Bot mit einem Benutzer oder einer Gruppe hat, verfügt über ein eigenes isoliertes Speicherobjekt, das verwendet werden kann, um Unterhaltungsnachverfolgungsinformationen zwischen Wendungen der Unterhaltung zu speichern. Diese Statusinformationen können jederzeit zurückgesetzt werden, indem sie clear()aufrufen.
const { ConversationState, MemoryStorage } = require('botbuilder');
const conversationState = new ConversationState(new MemoryStorage());
Konstruktoren
Conversation |
Erstellt eine neue ConversationState-Instanz. |
Methoden
get |
Gibt den Speicherschlüssel für den aktuellen Unterhaltungszustand zurück. |
Geerbte Methoden
clear(Turn |
Löscht das aktuelle Zustandsobjekt für eine Drehung. |
create |
Erstellt einen neuen Eigenschaftsaccessor zum Lesen und Schreiben einer einzelnen Eigenschaft in das Bot-Statusspeicherobjekt. |
delete(Turn |
Löschen Sie das Sicherungsstatusobjekt für die aktuelle Drehung. |
get(Turn |
Gibt ein zwischengespeichertes Statusobjekt oder nicht definiert zurück, wenn es nicht zwischengespeichert wurde. |
load(Turn |
Liest das Sicherungszustandsobjekt für eine Drehung in und speichert es zwischen. |
save |
Speichert das zwischengespeicherte Zustandsobjekt, wenn es geändert wurde. |
Details zum Konstruktor
ConversationState(Storage, string)
Erstellt eine neue ConversationState-Instanz.
new ConversationState(storage: Storage, namespace?: string)
Parameter
- storage
- Storage
Speicheranbieter, um den Unterhaltungsstatus beizubehalten.
- namespace
-
string
(Optional) Namespace, der an Speicherschlüssel angefügt werden soll. Standardmäßig wird eine leere Zeichenfolge verwendet.
Details zur Methode
getStorageKey(TurnContext)
Gibt den Speicherschlüssel für den aktuellen Unterhaltungszustand zurück.
function getStorageKey(context: TurnContext): string | undefined
Parameter
- context
- TurnContext
Kontext für die aktuelle Unterhaltungswende mit dem Benutzer.
Gibt zurück
string | undefined
Der Speicherschlüssel für den aktuellen Unterhaltungsstatus.
Details zur geerbten Methode
clear(TurnContext)
Löscht das aktuelle Zustandsobjekt für eine Drehung.
function clear(context: TurnContext): Promise<void>
Parameter
- context
- TurnContext
Kontext für die aktuelle Unterhaltungswende mit dem Benutzer.
Gibt zurück
Promise<void>
Eine Zusage, die den asynchronen Vorgang darstellt.
Hinweise
Das gelöschte Zustandsobjekt wird erst beibehalten, wenn saveChanges() aufgerufen wurde.
await botState.clear(context);
await botState.saveChanges(context);
createProperty<T>(string)
Erstellt einen neuen Eigenschaftsaccessor zum Lesen und Schreiben einer einzelnen Eigenschaft in das Bot-Statusspeicherobjekt.
function createProperty<T>(name: string): StatePropertyAccessor<T>
Parameter
- name
-
string
Der Name der hinzuzufügenden Eigenschaft.
Gibt zurück
Ein Accessor für die Eigenschaft.
geerbt vonBotState.createProperty
delete(TurnContext)
Löschen Sie das Sicherungsstatusobjekt für die aktuelle Drehung.
function delete(context: TurnContext): Promise<void>
Parameter
- context
- TurnContext
Kontext für die aktuelle Unterhaltungswende mit dem Benutzer.
Gibt zurück
Promise<void>
Eine Zusage, die den asynchronen Vorgang darstellt.
Hinweise
Das Statusobjekt wird aus dem Speicher entfernt, wenn es vorhanden ist. Wenn das Statusobjekt gelesen und zwischengespeichert wurde, wird der Cache gelöscht.
await botState.delete(context);
get(TurnContext)
Gibt ein zwischengespeichertes Statusobjekt oder nicht definiert zurück, wenn es nicht zwischengespeichert wurde.
function get(context: TurnContext): any | undefined
Parameter
- context
- TurnContext
Kontext für die aktuelle Unterhaltungswende mit dem Benutzer.
Gibt zurück
any | undefined
Ein zwischengespeichertes Statusobjekt oder nicht definiert, wenn es nicht zwischengespeichert wird.
Hinweise
In diesem Beispiel wird gezeigt, wie Sie synchron ein bereits geladenes und zwischengespeichertes Zustandsobjekt abrufen:
const state = botState.get(context);
Geerbt vonBotState.get
load(TurnContext, boolean)
Liest das Sicherungszustandsobjekt für eine Drehung in und speichert es zwischen.
function load(context: TurnContext, force?: boolean): Promise<any>
Parameter
- context
- TurnContext
Kontext für die aktuelle Unterhaltungswende mit dem Benutzer.
- force
-
boolean
(Optional) Wenn true
der Cache umgangen wird und der Zustand immer direkt aus dem Speicher gelesen wird. Der Standardwert lautet false
.
Gibt zurück
Promise<any>
Der zwischengespeicherte Zustand.
Hinweise
Nachfolgende Lesevorgänge geben das zwischengespeicherte Objekt zurück, es sei denn, das force
Flag wird übergeben, in dem das Zustandsobjekt erneut gelesen werden muss.
Diese Methode wird automatisch für den ersten Zugriff einer erstellten Eigenschaftsaccessoren aufgerufen.
const state = await botState.load(context);
saveChanges(TurnContext, boolean)
Speichert das zwischengespeicherte Zustandsobjekt, wenn es geändert wurde.
function saveChanges(context: TurnContext, force?: boolean): Promise<void>
Parameter
- context
- TurnContext
Kontext für die aktuelle Unterhaltungswende mit dem Benutzer.
- force
-
boolean
(Optional) wenn true
der Zustand unabhängig vom Änderungszustand immer ausgeschrieben wird. Der Standardwert lautet false
.
Gibt zurück
Promise<void>
Eine Zusage, die den asynchronen Vorgang darstellt.
Hinweise
Wenn das force
Flag im zwischengespeicherten Zustandsobjekt übergeben wird, unabhängig davon, ob es geändert wurde oder nicht, und wenn kein Objekt zwischengespeichert wurde, wird ein leeres Objekt erstellt und dann gespeichert.
await botState.saveChanges(context);
Geerbt vonBotState.saveChanges