DialogSet class
Sekumpulan dialog terkait yang semuanya dapat saling memanggil.
Keterangan
Konstruktor untuk kumpulan dialog harus diteruskan properti status yang akan digunakan untuk mempertahankan tumpukan dialog untuk set:
const { ConversationState, MemoryStorage, ActivityTypes } = require('botbuilder');
const { DialogSet, Dialog, DialogTurnStatus } = require('botbuilder-dialogs');
const convoState = new ConversationState(new MemoryStorage());
const dialogState = convoState.createProperty('dialogState');
const dialogs = new DialogSet(dialogState);
Bot dapat menambahkan dialog atau perintah ke set menggunakan metode add():
class GreetingDialog extends Dialog {
async beginDialog(dc, options) {
await dc.context.sendActivity(`Hi! I'm a bot.`);
return await dc.endDialog();
}
}
dialogs.add(new GreetingDialog('greeting'));
Untuk berinteraksi dengan dialog set, Anda dapat memanggil createContext() dengan TurnContextsaat ini. Itu akan membuat DialogContext yang dapat digunakan untuk memulai atau melanjutkan eksekusi dialog set:
// Create DialogContext for the current turn
const dc = await dialogs.createContext(turnContext);
// Try to continue executing an active multi-turn dialog
const result = await dc.continueDialog();
// Send greeting if no other dialogs active
if (result.status == DialogTurnStatus.empty && dc.context.activity.type == ActivityTypes.Message) {
await dc.beginDialog('greeting');
}
Konstruktor
| Dialog |
Membuat instans DialogSet baru. |
Properti
| telemetry |
Atur klien telemetri untuk kumpulan dialog ini dan terapkan ke semua dialog saat ini. Atur klien telemetri untuk kumpulan dialog ini dan terapkan ke semua dialog saat ini. Dialog mendatang yang ditambahkan ke set juga akan mewarisi klien ini. |
Metode
| add<T>(T) | Menambahkan dialog atau perintah baru ke set. |
| create |
Membuat konteks dialog yang dapat digunakan untuk bekerja dengan dialog dalam set. |
| find(string) | Menemukan dialog yang sebelumnya ditambahkan ke set menggunakan add(). |
| get |
Mendapatkan Dialog set. |
| get |
Mengembalikan hash 32-bit dari semua nilai |
Detail Konstruktor
DialogSet(StatePropertyAccessor<DialogState>)
Membuat instans DialogSet baru.
new DialogSet(dialogState?: StatePropertyAccessor<DialogState>)
Parameter
- dialogState
-
StatePropertyAccessor<DialogState>
Properti status (Opsional) yang digunakan untuk mempertahankan tumpukan dialog set.
Keterangan
Jika properti dialogState tidak diteruskan, panggilan ke createContext() akan mengembalikan kesalahan. Anda harus membuat DialogContext untuk set secara manual dan meneruskan objek status Anda sendiri untuk mempertahankan tumpukan dialog set:
const dc = new DialogContext(dialogs, turnContext, state);
Detail Properti
telemetryClient
Atur klien telemetri untuk kumpulan dialog ini dan terapkan ke semua dialog saat ini. Atur klien telemetri untuk kumpulan dialog ini dan terapkan ke semua dialog saat ini. Dialog mendatang yang ditambahkan ke set juga akan mewarisi klien ini.
BotTelemetryClient telemetryClient
Nilai Properti
BotTelemetryClient
BotTelemetryClient digunakan untuk pengelogan.
Detail Metode
add<T>(T)
Menambahkan dialog atau perintah baru ke set.
function add<T>(dialog: T): this
Parameter
- dialog
-
T
Dialog atau perintah untuk ditambahkan. Jika telemetriClient ada di kumpulan dialog, telemetri akan ditambahkan ke setiap dialog.
Mengembalikan
this
Dialog yang diatur setelah operasi selesai.
Keterangan
Jika Dialog.id yang ditambahkan sudah ada dalam set, id dialog akan diperbarui untuk menyertakan akhiran yang membuatnya unik. Jadi menambahkan 2 dialog bernama "duplikat" ke set akan menghasilkan yang pertama memiliki id "duplikat" dan yang kedua memiliki id "duplikat2".
createContext(TurnContext)
Membuat konteks dialog yang dapat digunakan untuk bekerja dengan dialog dalam set.
function createContext(context: TurnContext): Promise<DialogContext>
Parameter
- context
-
TurnContext
Konteks untuk pergantian percakapan saat ini dengan pengguna.
Mengembalikan
Promise<DialogContext>
Janji yang mewakili operasi asinkron.
find(string)
Menemukan dialog yang sebelumnya ditambahkan ke set menggunakan add().
function find(dialogId: string): Dialog | undefined
Parameter
- dialogId
-
string
ID dialog atau perintah untuk mencari.
Mengembalikan
Dialog | undefined
Dialog jika ditemukan; jika tidak ditentukan.
Keterangan
Contoh ini menemukan dialog bernama "salam":
const dialog = dialogs.find('greeting');
getDialogs()
getVersion()
Mengembalikan hash 32-bit dari semua nilai Dialog.version dalam set.
function getVersion(): string
Mengembalikan
string
Versi yang akan berubah ketika salah satu versi dialog turunan berubah.
Keterangan
Hash ini bertahan pada penyimpanan status dan digunakan untuk mendeteksi perubahan pada kumpulan dialog.