Bagikan melalui


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

DialogContext(DialogSet, DialogContext, DialogState)

Membuat instans baru DialogContext kelas.

DialogContext(DialogSet, TurnContext, DialogState)

Membuat instans baru DialogContext kelas.

Properti

activeDialog
child
context

Mendapatkan objek konteks untuk giliran.

dialogManager
dialogs

Mendapatkan dialog yang dapat dipanggil langsung dari konteks ini.

parent

Konteks dialog induk untuk konteks dialog ini, atau undefined jika konteks ini tidak memiliki induk.

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

beginDialog(string, object)

Memulai instans dialog dan mendorongnya ke tumpukan dialog. Membuat instans baru dialog dan mendorongnya ke tumpukan.

cancelAllDialogs(boolean, string, any)

Membatalkan semua dialog pada tumpukan dialog, dan menghapus tumpukan.

continueDialog()

Melanjutkan eksekusi dialog aktif, jika ada, dengan meneruskan konteks dialog ini ke metode Dialog.continueDialog.

emitEvent(string, any, boolean, boolean)

Mencari dialog dengan ID tertentu.

endDialog(any)

Mengakhiri dialog dan memunculkannya dari tumpukan. Mengembalikan hasil opsional ke induk dialog.

findDialog(string)

Mencari dialog dengan ID tertentu.

getLocale()

Dapatkan CultureInfo di DialogContext.

prompt(string, string | Partial<Activity> | PromptOptions)

Fungsi pembantu untuk menyederhanakan pemformatan opsi untuk memanggil dialog perintah.

prompt(string, string | Partial<Activity> | PromptOptions, string | Choice[])

Fungsi pembantu untuk menyederhanakan pemformatan opsi untuk memanggil dialog perintah.

replaceDialog(string, object)

Mengakhiri dialog aktif dan memulai dialog baru di tempatnya.

repromptDialog()

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 untuk membuat konteks dialog.

contextOrDC
DialogContext

Objek TurnContext untuk pergantian bot saat ini.

state
DialogState

Objek status yang digunakan untuk membaca dan menulis DialogState ke penyimpanan.

Keterangan

Meneruskan instans DialogContext akan mengkloning konteks dialog.

DialogContext(DialogSet, TurnContext, DialogState)

Membuat instans baru DialogContext kelas.

new DialogContext(dialogs: DialogSet, contextOrDC: TurnContext, state: DialogState)

Parameter

dialogs
DialogSet

DialogSet untuk membuat konteks dialog.

contextOrDC

TurnContext

Objek TurnContext untuk pergantian bot saat ini.

state
DialogState

Objek status yang digunakan untuk membaca dan menulis DialogState ke penyimpanan.

Keterangan

Meneruskan instans DialogContext akan mengkloning konteks dialog.

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

Mendapatkan tumpukan dialog saat ini.

stack: DialogInstance[]

Nilai Properti

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

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 Dialog.endDialog sebelum menghapus dialog dari tumpukan.

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

  • endDialog

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 adalah dialog berikutnya pada tumpukan dialog, jika ada. Metode ini memanggil metode Dialog.resumeDialog induk, meneruskan hasil yang dikembalikan oleh dialog akhir. Jika tidak ada dialog induk, giliran berakhir dan hasilnya tersedia untuk bot melalui properti hasil objek yang dikembalikan.

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

  • beginDialog
  • replaceDialog
  • Dialog.endDialog

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 untuk dikirim sebagai perintah awal, atau objek untuk memformat dialog perintah.

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

  • beginDialog
  • endDialog

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();