PrivateConversationState class
Liest und schreibt den PrivateConversation-Zustand für Ihren Bot in den Speicher.
- Extends
Hinweise
Jede PrivateConversation, die Ihr Bot mit einem Benutzer oder einer Gruppe hat, verfügt über ein eigenes isoliertes Speicherobjekt, das verwendet werden kann, um PrivateConversation-Nachverfolgungsinformationen zwischen Denkrunden der PrivateConversation beizubehalten. Diese Zustandsinformationen können jederzeit durch Aufrufen von clear() zurückgesetzt werden.
const { PrivateConversationState, MemoryStorage } = require('botbuilder');
const PrivateConversationState = new PrivateConversationState(new MemoryStorage());
Konstruktoren
Private |
Erstellt eine neue PrivateConversationState-Instanz. |
Methoden
get |
Gibt den Speicherschlüssel für den aktuellen PrivateConversation-Zustand zurück. |
Geerbte Methoden
clear(Turn |
Löscht das aktuelle Zustandsobjekt für einen Turn. |
create |
Erstellt einen neuen Eigenschaftsaccessor zum Lesen und Schreiben einer einzelnen Eigenschaft in das Botstatusspeicherobjekt. |
delete(Turn |
Löschen Sie das Sicherungszustandsobjekt für den aktuellen Turn. |
get(Turn |
Gibt ein zwischengespeichertes Zustandsobjekt oder ein nicht definiertes, wenn nicht zwischengespeichertes Objekt zurück. |
load(Turn |
Liest das Sicherungszustandsobjekt für einen Turn ein und speichert es zwischen. |
save |
Speichert das zwischengespeicherte Zustandsobjekt, wenn es geändert wurde. |
Details zum Konstruktor
PrivateConversationState(Storage, string)
Erstellt eine neue PrivateConversationState-Instanz.
new PrivateConversationState(storage: Storage, namespace?: string)
Parameter
- storage
- Storage
Speicheranbieter, für den der PrivateConversation-Zustand beibehalten werden soll.
- 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 PrivateConversation-Zustand zurück.
function getStorageKey(context: TurnContext): string | undefined
Parameter
- context
- TurnContext
Kontext für den aktuellen Turn von PrivateConversation mit dem Benutzer.
Gibt zurück
string | undefined
Der Speicherschlüssel für den aktuellen PrivateConversation-Zustand.
Details zur geerbten Methode
clear(TurnContext)
Löscht das aktuelle Zustandsobjekt für einen Turn.
function clear(context: TurnContext): Promise<void>
Parameter
- context
- TurnContext
Kontext für den aktuellen Gesprächswechsel 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);
Geerbt vonBotState.clear
createProperty<T>(string)
Erstellt einen neuen Eigenschaftsaccessor zum Lesen und Schreiben einer einzelnen Eigenschaft in das Botstatusspeicherobjekt.
function createProperty<T>(name: string): StatePropertyAccessor<T>
Parameter
- name
-
string
Name der hinzuzufügenden Eigenschaft.
Gibt zurück
Ein Accessor für die Eigenschaft.
Geerbt vonBotState.createProperty
delete(TurnContext)
Löschen Sie das Sicherungszustandsobjekt für den aktuellen Turn.
function delete(context: TurnContext): Promise<void>
Parameter
- context
- TurnContext
Kontext für den aktuellen Gesprächswechsel mit dem Benutzer.
Gibt zurück
Promise<void>
Eine Zusage, die den asynchronen Vorgang darstellt.
Hinweise
Das Zustandsobjekt wird aus dem Speicher entfernt, sofern vorhanden. Wenn das Zustandsobjekt gelesen und zwischengespeichert wurde, wird der Cache gelöscht.
await botState.delete(context);
Geerbt vonBotState.delete
get(TurnContext)
Gibt ein zwischengespeichertes Zustandsobjekt oder ein nicht definiertes, wenn nicht zwischengespeichertes Objekt zurück.
function get(context: TurnContext): any | undefined
Parameter
- context
- TurnContext
Kontext für den aktuellen Gesprächswechsel mit dem Benutzer.
Gibt zurück
any | undefined
Ein zwischengespeichertes Zustandsobjekt oder undefiniert, wenn nicht zwischengespeichert.
Hinweise
In diesem Beispiel wird gezeigt, wie Ein bereits geladenes und zwischengespeichertes Zustandsobjekt synchron abgerufen wird:
const state = botState.get(context);
Geerbt vonBotState.get
load(TurnContext, boolean)
Liest das Sicherungszustandsobjekt für einen Turn ein und speichert es zwischen.
function load(context: TurnContext, force?: boolean): Promise<any>
Parameter
- context
- TurnContext
Kontext für den aktuellen Gesprächswechsel mit dem Benutzer.
- force
-
boolean
(Optional) Wenn true
der Cache umgangen wird und der Zustand immer direkt aus dem Speicher eingelesen wird. Wird standardmäßig auf false
festgelegt.
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, wodurch das erneute Lesen des Zustandsobjekts erzwungen wird.
Diese Methode wird automatisch beim ersten Zugriff eines der erstellten Eigenschaftsaccessoren aufgerufen.
const state = await botState.load(context);
Geerbt vonBotState.load
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 den aktuellen Gesprächswechsel mit dem Benutzer.
- force
-
boolean
(Optional) , wenn true
der Zustand unabhängig von seinem Änderungszustand immer ausgeschrieben wird. Wird standardmäßig auf false
festgelegt.
Gibt zurück
Promise<void>
Eine Zusage, die den asynchronen Vorgang darstellt.
Hinweise
Wenn das force
Flag im zwischengespeicherten Zustandsobjekt übergeben wird, wird unabhängig davon gespeichert, 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