Bagikan melalui


BotState class

Kelas dasar untuk cakupan persistensi status kerangka kerja.

Keterangan

Kelas ini akan membaca dan menulis status, ke penyedia penyimpanan yang disediakan, untuk setiap giliran percakapan dengan pengguna. Kelas turunan, seperti ConversationState dan UserState, menyediakan StorageKeyFactory yang digunakan untuk menentukan kunci yang digunakan untuk mempertahankan objek penyimpanan tertentu.

Objek status yang dimuat akan secara otomatis di-cache pada objek konteks selama masa pakai giliran dan hanya akan ditulis ke penyimpanan jika telah dimodifikasi.

Konstruktor

BotState(Storage, StorageKeyFactory)

Membuat instans BotState baru.

Metode

clear(TurnContext)

Menghapus objek status saat ini untuk giliran.

createProperty<T>(string)

Membuat aksesor properti baru untuk membaca dan menulis properti individual ke objek penyimpanan status bot.

delete(TurnContext)

Hapus objek status pencadangan untuk giliran saat ini.

get(TurnContext)

Mengembalikan objek status singgahan atau tidak terdefinisi jika tidak di-cache.

load(TurnContext, boolean)

Membaca dan menyimpan objek status pencadangan untuk giliran.

saveChanges(TurnContext, boolean)

Menyimpan objek status singgahan jika telah diubah.

Detail Konstruktor

BotState(Storage, StorageKeyFactory)

Membuat instans BotState baru.

new BotState(storage: Storage, storageKey: StorageKeyFactory)

Parameter

storage
Storage

Penyedia penyimpanan untuk mempertahankan objek status.

storageKey
StorageKeyFactory

Fungsi yang disebut kapan saja kunci penyimpanan untuk giliran tertentu perlu dihitung.

Detail Metode

clear(TurnContext)

Menghapus objek status saat ini untuk giliran.

function clear(context: TurnContext): Promise<void>

Parameter

context
TurnContext

Konteks untuk pergantian percakapan saat ini dengan pengguna.

Mengembalikan

Promise<void>

Janji yang mewakili operasi asinkron.

Keterangan

Objek status yang dibersihkan tidak akan bertahan sampai saveChanges() telah dipanggil.

await botState.clear(context);
await botState.saveChanges(context);

createProperty<T>(string)

Membuat aksesor properti baru untuk membaca dan menulis properti individual ke objek penyimpanan status bot.

function createProperty<T>(name: string): StatePropertyAccessor<T>

Parameter

name

string

Nama properti yang akan ditambahkan.

Mengembalikan

Aksesor untuk properti .

delete(TurnContext)

Hapus objek status pencadangan untuk giliran saat ini.

function delete(context: TurnContext): Promise<void>

Parameter

context
TurnContext

Konteks untuk pergantian percakapan saat ini dengan pengguna.

Mengembalikan

Promise<void>

Janji yang mewakili operasi asinkron.

Keterangan

Objek status akan dihapus dari penyimpanan jika ada. Jika objek status telah dibaca dan di-cache, cache akan dihapus.

await botState.delete(context);

get(TurnContext)

Mengembalikan objek status singgahan atau tidak terdefinisi jika tidak di-cache.

function get(context: TurnContext): any | undefined

Parameter

context
TurnContext

Konteks untuk pergantian percakapan saat ini dengan pengguna.

Mengembalikan

any | undefined

Objek status singgahan atau tidak terdefinisi jika tidak di-cache.

Keterangan

Contoh ini menunjukkan cara mendapatkan objek status yang sudah dimuat dan di-cache secara sinkron:

const state = botState.get(context);

load(TurnContext, boolean)

Membaca dan menyimpan objek status pencadangan untuk giliran.

function load(context: TurnContext, force?: boolean): Promise<any>

Parameter

context
TurnContext

Konteks untuk pergantian percakapan saat ini dengan pengguna.

force

boolean

(Opsional) Jika true cache akan dilewati dan status akan selalu dibaca langsung dari penyimpanan. Default ke false.

Mengembalikan

Promise<any>

Status cache.

Keterangan

Bacaan berikutnya akan mengembalikan objek yang di-cache kecuali bendera force diteruskan di mana akan memaksa objek status dibaca ulang.

Metode ini secara otomatis dipanggil pada akses pertama dari salah satu aksesor properti yang dibuat.

const state = await botState.load(context);

saveChanges(TurnContext, boolean)

Menyimpan objek status singgahan jika telah diubah.

function saveChanges(context: TurnContext, force?: boolean): Promise<void>

Parameter

context
TurnContext

Konteks untuk pergantian percakapan saat ini dengan pengguna.

force

boolean

(Opsional) jika true status akan selalu ditulis terlepas dari status perubahannya. Default ke false.

Mengembalikan

Promise<void>

Janji yang mewakili operasi asinkron.

Keterangan

Jika bendera force diteruskan dalam objek status yang di-cache akan disimpan terlepas dari apakah telah diubah atau tidak dan jika tidak ada objek yang di-cache, objek kosong akan dibuat dan kemudian disimpan.

await botState.saveChanges(context);