ConversationState class
Membaca dan menulis status percakapan untuk bot Anda ke penyimpanan.
- Memperluas
Keterangan
Setiap percakapan yang dimiliki bot Anda dengan pengguna atau grup akan memiliki objek penyimpanan terisolasi sendiri yang dapat digunakan untuk mempertahankan informasi pelacakan percakapan di antara giliran percakapan. Informasi status ini dapat direset kapan saja dengan memanggil clear().
const { ConversationState, MemoryStorage } = require('botbuilder');
const conversationState = new ConversationState(new MemoryStorage());
Konstruktor
| Conversation |
Membuat instans ConversationState baru. |
Metode
| get |
Mengembalikan kunci penyimpanan untuk status percakapan saat ini. |
Metode yang Diwarisi
| clear(Turn |
Menghapus objek status saat ini untuk giliran. |
| create |
Membuat aksesor properti baru untuk membaca dan menulis properti individual ke objek penyimpanan status bot. |
| delete(Turn |
Hapus objek status pencadangan untuk giliran saat ini. |
| get(Turn |
Mengembalikan objek status singgahan atau tidak terdefinisi jika tidak di-cache. |
| load(Turn |
Membaca dan menyimpan objek status pencadangan untuk giliran. |
| save |
Menyimpan objek status singgahan jika telah diubah. |
Detail Konstruktor
ConversationState(Storage, string)
Membuat instans ConversationState baru.
new ConversationState(storage: Storage, namespace?: string)
Parameter
- storage
- Storage
Penyedia penyimpanan untuk mempertahankan status percakapan.
- namespace
-
string
(Opsional) namespace untuk ditambahkan ke kunci penyimpanan. Default ke string kosong.
Detail Metode
getStorageKey(TurnContext)
Mengembalikan kunci penyimpanan untuk status percakapan saat ini.
function getStorageKey(context: TurnContext): string | undefined
Parameter
- context
- TurnContext
Konteks untuk pergantian percakapan saat ini dengan pengguna.
Mengembalikan
string | undefined
Kunci penyimpanan untuk status percakapan saat ini.
Detail Metode yang Diwarisi
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 .
Diwarisi DariBotState.createProperty
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);
Diwariskan DariBotState.get
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);
Diwariskan DariBotState.saveChanges