Freigeben über


ConversationState class

Liest und schreibt den Konversationszustand für Ihren Bot in den Speicher.

Extends

Hinweise

Jede Unterhaltung, die Ihr Bot mit einem Benutzer oder einer Gruppe führt, verfügt über ein eigenes isoliertes Speicherobjekt, das verwendet werden kann, um Informationen zur Unterhaltungsnachverfolgung zwischen den Wendungen der Konversation beizubehalten. Diese Zustandsinformationen können jederzeit durch Aufrufen von clear() zurückgesetzt werden.

const { ConversationState, MemoryStorage } = require('botbuilder');

const conversationState = new ConversationState(new MemoryStorage());

Konstruktoren

ConversationState(Storage, string)

Erstellt eine neue ConversationState-Instanz.

Methoden

getStorageKey(TurnContext)

Gibt den Speicherschlüssel für den aktuellen Unterhaltungszustand zurück.

Geerbte Methoden

clear(TurnContext)

Löscht das aktuelle Zustandsobjekt für einen Turn.

createProperty<T>(string)

Erstellt einen neuen Eigenschaftsaccessor zum Lesen und Schreiben einer einzelnen Eigenschaft in das Botstatusspeicherobjekt.

delete(TurnContext)

Löschen Sie das Sicherungszustandsobjekt für den aktuellen Turn.

get(TurnContext)

Gibt ein zwischengespeichertes Zustandsobjekt oder ein nicht definiertes, wenn nicht zwischengespeichertes Objekt zurück.

load(TurnContext, boolean)

Liest das Sicherungszustandsobjekt für einen Turn ein und speichert es zwischen.

saveChanges(TurnContext, boolean)

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, in dem der Unterhaltungszustand 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 Unterhaltungszustand zurück.

function getStorageKey(context: TurnContext): string | undefined

Parameter

context
TurnContext

Kontext für den aktuellen Gesprächswechsel mit dem Benutzer.

Gibt zurück

string | undefined

Der Speicherschlüssel für den aktuellen Unterhaltungszustand.

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