DialogContext class
Konteks untuk giliran dialog saat ini sehubungan dengan DialogSet tertentu.
Keterangan
Ini termasuk konteks giliran, informasi tentang kumpulan dialog, dan status tumpukan dialog.
Dari kode di luar dialog dalam set, gunakan DialogSet.createContext untuk membuat konteks dialog. Kemudian gunakan metode konteks dialog untuk mengelola kemajuan dialog dalam set.
Saat Anda menerapkan dialog, konteks dialog adalah parameter yang tersedia untuk berbagai metode yang Anda ambil alih atau terapkan.
Misalnya:
const dc = await dialogs.createContext(turnContext);
const result = await dc.continueDialog();
Konstruktor
| Dialog |
Membuat instans baru DialogContext kelas. |
| Dialog |
Membuat instans baru DialogContext kelas. |
Properti
| active |
|
| child | |
| context | Mendapatkan objek konteks untuk giliran. |
| dialog |
|
| dialogs | Mendapatkan dialog yang dapat dipanggil langsung dari konteks ini. |
| parent | Konteks dialog induk untuk konteks dialog ini, atau |
| services | Mendapatkan kumpulan layanan yang kontekstual dengan konteks dialog ini. |
| stack | Mendapatkan tumpukan dialog saat ini. |
| state | Mendapatkan DialogStateManager yang mengelola tampilan semua cakupan memori. |
Metode
| begin |
Memulai instans dialog dan mendorongnya ke tumpukan dialog. Membuat instans baru dialog dan mendorongnya ke tumpukan. |
| cancel |
Membatalkan semua dialog pada tumpukan dialog, dan menghapus tumpukan. |
| continue |
Melanjutkan eksekusi dialog aktif, jika ada, dengan meneruskan konteks dialog ini ke metode Dialog.continueDialog. |
| emit |
Mencari dialog dengan ID tertentu. |
| end |
Mengakhiri dialog dan memunculkannya dari tumpukan. Mengembalikan hasil opsional ke induk dialog. |
| find |
Mencari dialog dengan ID tertentu. |
| get |
Dapatkan CultureInfo di DialogContext. |
| prompt(string, string | Partial<Activity> | Prompt |
Fungsi pembantu untuk menyederhanakan pemformatan opsi untuk memanggil dialog perintah. |
| prompt(string, string | Partial<Activity> | Prompt |
Fungsi pembantu untuk menyederhanakan pemformatan opsi untuk memanggil dialog perintah. |
| replace |
Mengakhiri dialog aktif dan memulai dialog baru di tempatnya. |
| reprompt |
Meminta dialog aktif untuk meminta kembali input kepada pengguna. |
Detail Konstruktor
DialogContext(DialogSet, DialogContext, DialogState)
Membuat instans baru DialogContext kelas.
new DialogContext(dialogs: DialogSet, contextOrDC: DialogContext, state: DialogState)
Parameter
- dialogs
- DialogSet
DialogSet
- contextOrDC
- DialogContext
Objek TurnContext untuk pergantian bot saat ini.
- state
- DialogState
Objek status yang digunakan untuk membaca dan menulis DialogState
Keterangan
Meneruskan instans DialogContext
DialogContext(DialogSet, TurnContext, DialogState)
Membuat instans baru DialogContext kelas.
new DialogContext(dialogs: DialogSet, contextOrDC: TurnContext, state: DialogState)
Parameter
- dialogs
- DialogSet
DialogSet
- contextOrDC
-
TurnContext
Objek TurnContext untuk pergantian bot saat ini.
- state
- DialogState
Objek status yang digunakan untuk membaca dan menulis DialogState
Keterangan
Meneruskan instans DialogContext
Detail Properti
activeDialog
DialogInstance | undefined activeDialog
Nilai Properti
DialogInstance | undefined
Informasi status untuk dialog di bagian atas tumpukan dialog, atau undefined jika tumpukan kosong.
child
DialogContext | undefined child
Nilai Properti
DialogContext | undefined
Konteks dialog untuk anak jika dialog aktif adalah kontainer.
context
Mendapatkan objek konteks untuk giliran.
context: TurnContext
Nilai Properti
TurnContext
dialogManager
Peringatan
API ini sudah tidak digunakan lagi.
This property serves no function.
DialogManager dialogManager
Nilai Properti
Instans manajer dialog saat ini. Properti ini tidak digunakan lagi.
dialogs
Mendapatkan dialog yang dapat dipanggil langsung dari konteks ini.
dialogs: DialogSet
Nilai Properti
parent
Konteks dialog induk untuk konteks dialog ini, atau undefined jika konteks ini tidak memiliki induk.
parent: DialogContext | undefined
Nilai Properti
DialogContext | undefined
Keterangan
Saat mencoba memulai dialog, konteks dialog mencari Dialog.id dalam dialog . Jika dialog untuk memulai tidak ditemukan dalam konteks dialog ini, dialog akan mencari dalam konteks dialog induknya, dan sebagainya.
services
Mendapatkan kumpulan layanan yang kontekstual dengan konteks dialog ini.
services: TurnContextStateCollection
Nilai Properti
TurnContextStateCollection
stack
state
Mendapatkan DialogStateManager yang mengelola tampilan semua cakupan memori.
state: DialogStateManager
Nilai Properti
Detail Metode
beginDialog(string, object)
Memulai instans dialog dan mendorongnya ke tumpukan dialog. Membuat instans baru dialog dan mendorongnya ke tumpukan.
function beginDialog(dialogId: string, options?: object): Promise<DialogTurnResult>
Parameter
- dialogId
-
string
ID dialog untuk memulai.
- options
-
object
Fakultatif. Argumen untuk diteruskan ke dialog saat dimulai.
Mengembalikan
Promise<DialogTurnResult>
janji yang menyelesaikan hasil giliran dialog.
Keterangan
Jika sudah ada dialog aktif pada tumpukan, dialog tersebut akan dijeda hingga dialog tersebut lagi menjadi dialog atas pada tumpukan.
Status objek yang dikembalikan menjelaskan status tumpukan dialog setelah metode ini selesai.
Metode ini melemparkan pengecualian jika dialog yang diminta tidak dapat ditemukan dalam konteks dialog ini atau salah satu leluhurnya.
Misalnya:
const result = await dc.beginDialog('greeting', { name: user.name });
Lihat juga
- endDialog
- perintah
-
replaceDialog - Dialog.beginDialog
cancelAllDialogs(boolean, string, any)
Membatalkan semua dialog pada tumpukan dialog, dan menghapus tumpukan.
function cancelAllDialogs(cancelParents?: boolean, eventName?: string, eventValue?: any): Promise<DialogTurnResult>
Parameter
- cancelParents
-
boolean
Fakultatif. Jika true semua dialog induk juga akan dibatalkan.
- eventName
-
string
Fakultatif. Nama peristiwa kustom yang akan dinaikkan saat dialog dibatalkan. Ini default untuk cancelDialog.
- eventValue
-
any
Fakultatif. Nilai yang akan diteruskan bersama dengan peristiwa pembatalan kustom.
Mengembalikan
Promise<DialogTurnResult>
janji yang menyelesaikan hasil giliran dialog.
Keterangan
Ini memanggil metode dialog
Jika ada dialog pada tumpukan awalnya, status dari nilai yang dikembalikan dibatalkan; jika tidak, kosong.
Contoh ini menghapus tumpukan dialog, dc, sebelum memulai dialog 'bookFlight'.
await dc.cancelAllDialogs();
return await dc.beginDialog('bookFlight');
Lihat juga
continueDialog()
Melanjutkan eksekusi dialog aktif, jika ada, dengan meneruskan konteks dialog ini ke metode Dialog.continueDialog.
function continueDialog(): Promise<DialogTurnResult>
Mengembalikan
Promise<DialogTurnResult>
janji yang menyelesaikan hasil giliran dialog.
Keterangan
Setelah panggilan selesai, Anda dapat memeriksa properti konteks giliran merespons untuk menentukan apakah dialog mengirim balasan kepada pengguna.
Status objek yang dikembalikan menjelaskan status tumpukan dialog setelah metode ini selesai.
Biasanya, Anda akan memanggil ini dari dalam handler giliran bot Anda.
Misalnya:
const result = await dc.continueDialog();
if (result.status == DialogTurnStatus.empty && dc.context.activity.type == ActivityTypes.message) {
// Send fallback message
await dc.context.sendActivity(`I'm sorry. I didn't understand.`);
}
emitEvent(string, any, boolean, boolean)
Mencari dialog dengan ID tertentu.
function emitEvent(name: string, value?: any, bubble?: boolean, fromLeaf?: boolean): Promise<boolean>
Parameter
- name
-
string
Nama acara yang akan dinaikkan.
- value
-
any
Fakultatif. Nilai yang akan dikirim bersama dengan peristiwa.
- bubble
-
boolean
Fakultatif. Bendera untuk mengontrol apakah peristiwa harus dibenturkan ke induknya jika tidak ditangani secara lokal. Default ke nilai true.
- fromLeaf
-
boolean
Fakultatif. Apakah peristiwa dipancarkan dari simpul daun.
Mengembalikan
Promise<boolean>
true jika peristiwa ditangani.
Keterangan
Memancarkan peristiwa bernama untuk dialog saat ini, atau seseorang yang memulainya, untuk menanganinya.
endDialog(any)
Mengakhiri dialog dan memunculkannya dari tumpukan. Mengembalikan hasil opsional ke induk dialog.
function endDialog(result?: any): Promise<DialogTurnResult>
Parameter
- result
-
any
Fakultatif. Hasil untuk diteruskan ke logika induk. Ini mungkin dialog berikutnya pada tumpukan, atau jika ini adalah dialog terakhir pada tumpukan, konteks dialog induk, atau penangan giliran bot.
Mengembalikan
Promise<DialogTurnResult>
janji yang menyelesaikan hasil giliran dialog.
Keterangan
Dialog induk
Status objek yang dikembalikan menjelaskan status tumpukan dialog setelah metode ini selesai.
Biasanya, Anda akan memanggil ini dari dalam logika untuk dialog tertentu untuk memberi sinyal kembali ke konteks dialog bahwa dialog telah selesai, dialog harus dihapus dari tumpukan, dan dialog induk harus dilanjutkan.
Misalnya:
return await dc.endDialog(returnValue);
Lihat juga
findDialog(string)
Mencari dialog dengan ID tertentu.
function findDialog(dialogId: string): Dialog | undefined
Parameter
- dialogId
-
string
ID dialog yang akan dicari.
Mengembalikan
Dialog | undefined
Dialog untuk ID yang disediakan.
Keterangan
Jika dialog untuk memulai tidak ditemukan di DialogSet terkait dengan konteks dialog ini, dialog akan mencoba menemukan dialog dalam konteks dialog induknya.
Lihat juga
- dialog
- induk
getLocale()
Dapatkan CultureInfo di DialogContext.
function getLocale(): string
Mengembalikan
string
string lokal.
prompt(string, string | Partial<Activity> | PromptOptions)
Fungsi pembantu untuk menyederhanakan pemformatan opsi untuk memanggil dialog perintah.
function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions): Promise<DialogTurnResult>
Parameter
- dialogId
-
string
ID dialog perintah untuk memulai.
- promptOrOptions
-
string | Partial<Activity> | PromptOptions
Teks permintaan awal untuk mengirim pengguna, aktivitas yang akan dikirim sebagai perintah awal, atau objek untuk memformat dialog perintah.
Mengembalikan
Promise<DialogTurnResult>
Keterangan
Metode pembantu ini memformat objek untuk digunakan sebagai parameter options, lalu memanggil beginDialog untuk memulai dialog perintah yang ditentukan.
return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);
prompt(string, string | Partial<Activity> | PromptOptions, string | Choice[])
Fungsi pembantu untuk menyederhanakan pemformatan opsi untuk memanggil dialog perintah.
function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions, choices: string | Choice[]): Promise<DialogTurnResult>
Parameter
- dialogId
-
string
ID dialog perintah untuk memulai.
- promptOrOptions
-
string | Partial<Activity> | PromptOptions
Teks perintah awal untuk mengirim pengguna, Aktivitas
- choices
-
string | Choice[]
Fakultatif. Array pilihan untuk dipilih pengguna, untuk digunakan dengan ChoicePrompt.
Mengembalikan
Promise<DialogTurnResult>
Keterangan
Metode pembantu ini memformat objek untuk digunakan sebagai parameter options, lalu memanggil beginDialog untuk memulai dialog perintah yang ditentukan.
return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);
replaceDialog(string, object)
Mengakhiri dialog aktif dan memulai dialog baru di tempatnya.
function replaceDialog(dialogId: string, options?: object): Promise<DialogTurnResult>
Parameter
- dialogId
-
string
ID dialog untuk memulai.
- options
-
object
Fakultatif. Argumen untuk diteruskan ke dialog baru saat dimulai.
Mengembalikan
Promise<DialogTurnResult>
janji yang menyelesaikan hasil giliran dialog.
Keterangan
Ini sangat berguna untuk membuat perulangan atau mengalihkan ke dialog lain.
Status objek yang dikembalikan menjelaskan status tumpukan dialog setelah metode ini selesai.
Metode ini mirip dengan mengakhiri dialog saat ini dan segera memulai yang baru. Namun, dialog induk tidak dilanjutkan atau diberi tahu.
Lihat juga
repromptDialog()
Meminta dialog aktif untuk meminta kembali input kepada pengguna.
function repromptDialog(): Promise<void>
Mengembalikan
Promise<void>
Keterangan
Ini memanggil dialog aktif metode repromptDialog.
Misalnya:
await dc.repromptDialog();