Bagikan melalui


CommandDialog class

tidak digunakan lagi menggunakan intentDialog sebagai gantinya.

Memperluas

Metode

addDialogTrigger(ActionSet, string)

Dipanggil sekali untuk setiap dialog dalam pustaka untuk memberi dialog kesempatan untuk menambahkan triggerAction() ke kumpulan tindakan global pustaka. Pemicu ini dipetakan ke beginDialogAction() yang memulai dialog saat kondisi pemicu terpenuhi.

begin<T>(Session, T)

Dipanggil ketika sesi dialog baru sedang dimulai.

beginDialogAction(string, string, IBeginDialogActionOptions)

Mengikat tindakan ke dialog yang akan memulai dialog lain kapan saja dipicu. Dialog baru akan didorong ke tumpukan sehingga tidak secara otomatis mengakhiri tugas saat ini. Tugas saat ini akan dilanjutkan setelah dialog baru berakhir. Perintah bawaan akan secara otomatis meminta kembali pengguna setelah ini terjadi tetapi perilaku tersebut dapat dinonaktifkan dengan mengatur bendera promptAfterAction saat memanggil perintah bawaan.

cancelAction(string, TextOrMessageType, ICancelActionOptions)

Mengikat tindakan ke dialog yang akan membatalkan dialog kapan saja dipicu. Ketika dibatalkan, induk dialog akan dilanjutkan dengan dilanjutkan kode yang menunjukkan bahwa dibatalkan.

clone(ActionSet)

Mengembalikan klon dari ActionSet yang ada.

customAction(IDialogActionOptions)

Mengikat tindakan kustom ke dialog yang akan memanggil handler onSelectAction saat dipicu.

dialogInterrupted(Session, string, any)

Dipanggil ketika dialog akar sedang terganggu oleh dialog lain. Ini memberikan dialog yang sedang terganggu kesempatan untuk menjalankan logika kustom sebelum dihapus dari tumpukan. Dialog itu sendiri bertanggung jawab untuk menghapus tumpukan dialog dan memulai dialog baru.

dialogResumed<T>(Session, IDialogResult<T>)

Dialog anak telah berakhir dan dialog saat ini sedang dilanjutkan.

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

Mengikat tindakan yang akan mengakhiri percakapan dengan pengguna saat dipicu.

findActionRoutes(IRecognizeDialogContext, (err: Error, results: IRouteResult[]) => void)

Dipanggil selama Library.findRoutes() memanggil setiap dialog pada tumpukan untuk menentukan apakah salah satu tindakan dialog dipicu oleh ucapan pengguna.

recognize(IRecognizeDialogContext, (err: Error, result: IRecognizeResult) => void)

Mengurai ucapan pengguna dan menetapkan skor dari 0,0 - 1,0 yang menunjukkan seberapa yakin dialognya adalah bahwa ia memahami ucapan pengguna. Metode ini selalu dipanggil untuk dialog aktif pada tumpukan. Skor 1.0 akan menunjukkan kecocokan yang sempurna dan mengakhiri pengenalan lebih lanjut. Ketika skor kurang dari 1,0, setiap dialog pada tumpukan akan memiliki metode recognizeAction() yang dipanggil juga untuk melihat apakah ada tindakan bernama yang terikat ke dialog yang lebih cocok dengan ucapan pengguna. Tindakan global yang terdaftar di tingkat bot juga akan dievaluasi. Jika dialog memiliki skor yang lebih tinggi maka tindakan terikat apa pun, dialog metode replyReceived() akan dipanggil dengan objek hasil yang dikembalikan dari panggilan recognize(). Ini memungkinkan dialog meneruskan data tambahan yang dikumpulkan selama fase kenali ke metode replyReceived() untuk penanganan.

Jika ada tindakan dengan skor yang lebih tinggi, maka dialog tindakan akan dipanggil alih-alih metode dialog replyReceived(). Dialog akan tetap berada di tumpukan dan dapat dilanjutkan pada titik tertentu jika tindakan memanggil dialog baru sehingga dialog harus bersiap untuk panggilan tak terduga ke dialogresumed() .

reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)

Mengikat tindakan ke dialog yang akan menyebabkan dialog dimuat ulang kapan saja dipicu. Ini berguna untuk mengimplementasikan logika yang menangani ucapan pengguna seperti "startover".

replyReceived(Session, IRecognizeResult)
selectActionRoute(Session, IRouteResult)

Memilih rute yang memiliki skor keyakinan tertinggi untuk ucapan tersebut.

triggerAction(ITriggerActionOptions)

Mengikat tindakan ke dialog yang akan membuatnya menjadi dialog aktif kapan saja dipicu. Perilaku default adalah mengganggu dialog yang ada dengan menghapus tumpukan dan memulai dialog di akar tumpukan. Dialog yang terganggu dapat mencegat gangguan ini dengan menambahkan kustom onInterrupted handler ke opsi tindakan pemicunya. Selain itu, Anda dapat menyesuaikan cara dialog yang dipicu dimulai dengan menyediakan kustom onSelectAction handler ke opsi tindakan pemicu Anda.

Detail Metode

addDialogTrigger(ActionSet, string)

Dipanggil sekali untuk setiap dialog dalam pustaka untuk memberi dialog kesempatan untuk menambahkan triggerAction() ke kumpulan tindakan global pustaka. Pemicu ini dipetakan ke beginDialogAction() yang memulai dialog saat kondisi pemicu terpenuhi.

function addDialogTrigger(actions: ActionSet, dialogId: string)

Parameter

actions
ActionSet

Pustaka set tindakan global.

dialogId

string

ID dialog yang sepenuhnya memenuhi syarat untuk dipicu.

begin<T>(Session, T)

Dipanggil ketika sesi dialog baru sedang dimulai.

function begin<T>(session: Session, args?: T)

Parameter

session
Session

Objek sesi untuk percakapan saat ini.

args

T

Argumen (Opsional) yang diteruskan ke dialog oleh induknya.

beginDialogAction(string, string, IBeginDialogActionOptions)

Mengikat tindakan ke dialog yang akan memulai dialog lain kapan saja dipicu. Dialog baru akan didorong ke tumpukan sehingga tidak secara otomatis mengakhiri tugas saat ini. Tugas saat ini akan dilanjutkan setelah dialog baru berakhir. Perintah bawaan akan secara otomatis meminta kembali pengguna setelah ini terjadi tetapi perilaku tersebut dapat dinonaktifkan dengan mengatur bendera promptAfterAction saat memanggil perintah bawaan.

function beginDialogAction(name: string, id: string, options?: IBeginDialogActionOptions)

Parameter

name

string

Nama unik untuk menetapkan tindakan.

id

string

ID dialog untuk memulai.

options
IBeginDialogActionOptions

(Opsional) opsi yang digunakan untuk mengonfigurasi tindakan. Jika cocok ditentukan, tindakan akan mendengarkan pengguna untuk mengucapkan kata atau frasa yang memicu tindakan, jika tidak, tindakan perlu terikat ke tombol menggunakan CardAction.dialogAction() untuk memicu tindakan. Anda juga dapat menggunakan dialogArg untuk meneruskan param tambahan ke dialog yang sedang dimulai.

Mengembalikan

cancelAction(string, TextOrMessageType, ICancelActionOptions)

Mengikat tindakan ke dialog yang akan membatalkan dialog kapan saja dipicu. Ketika dibatalkan, induk dialog akan dilanjutkan dengan dilanjutkan kode yang menunjukkan bahwa dibatalkan.

function cancelAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)

Parameter

name

string

Nama unik untuk menetapkan tindakan.

msg
TextOrMessageType

(Opsional) pesan untuk mengirim pengguna sebelum membatalkan dialog.

options
ICancelActionOptions

(Opsional) opsi yang digunakan untuk mengonfigurasi tindakan. Jika cocok ditentukan, tindakan akan mendengarkan pengguna untuk mengucapkan kata atau frasa yang memicu tindakan, jika tidak, tindakan perlu terikat ke tombol menggunakan CardAction.dialogAction() untuk memicu tindakan.

Mengembalikan

clone(ActionSet)

Mengembalikan klon dari ActionSet yang ada.

function clone(copyTo?: ActionSet)

Parameter

copyTo
ActionSet

Instans (Opsional) untuk menyalin objek saat ini. Jika kehilangan instans baru akan dibuat.

Mengembalikan

customAction(IDialogActionOptions)

Mengikat tindakan kustom ke dialog yang akan memanggil handler onSelectAction saat dipicu.

function customAction(options: IDialogActionOptions)

Parameter

options
IDialogActionOptions

Opsi yang digunakan untuk mengonfigurasi tindakan. Jika cocok ditentukan, tindakan akan mendengarkan pengguna untuk mengucapkan kata atau frasa yang memicu tindakan. Logika pencocokan kustom dapat disediakan menggunakan onFindAction.

Mengembalikan

dialogInterrupted(Session, string, any)

Dipanggil ketika dialog akar sedang terganggu oleh dialog lain. Ini memberikan dialog yang sedang terganggu kesempatan untuk menjalankan logika kustom sebelum dihapus dari tumpukan. Dialog itu sendiri bertanggung jawab untuk menghapus tumpukan dialog dan memulai dialog baru.

function dialogInterrupted(session: Session, dialogId: string, dialogArgs: any)

Parameter

session
Session

Objek sesi untuk percakapan saat ini.

dialogId

string

ID dialog yang harus dimulai.

dialogArgs

any

Argumen yang harus diteruskan ke dialog baru.

dialogResumed<T>(Session, IDialogResult<T>)

Dialog anak telah berakhir dan dialog saat ini sedang dilanjutkan.

function dialogResumed<T>(session: Session, result: IDialogResult<T>)

Parameter

session
Session

Objek sesi untuk percakapan saat ini.

result

IDialogResult<T>

Hasil yang dikembalikan oleh dialog turunan.

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

Mengikat tindakan yang akan mengakhiri percakapan dengan pengguna saat dipicu.

function endConversationAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)

Parameter

name

string

Nama unik untuk menetapkan tindakan.

msg
TextOrMessageType

(Opsional) pesan untuk mengirim pengguna sebelum mengakhiri percakapan.

options
ICancelActionOptions

(Opsional) opsi yang digunakan untuk mengonfigurasi tindakan. Jika cocok ditentukan, tindakan akan mendengarkan pengguna untuk mengucapkan kata atau frasa yang memicu tindakan, jika tidak, tindakan perlu terikat ke tombol menggunakan CardAction.dialogAction() untuk memicu tindakan.

Mengembalikan

findActionRoutes(IRecognizeDialogContext, (err: Error, results: IRouteResult[]) => void)

Dipanggil selama Library.findRoutes() memanggil setiap dialog pada tumpukan untuk menentukan apakah salah satu tindakan dialog dipicu oleh ucapan pengguna.

function findActionRoutes(context: IRecognizeDialogContext, callback: (err: Error, results: IRouteResult[]) => void)

Parameter

context
IRecognizeDialogContext

Konteks pesan masuk serta dialogdata untuk dialog yang dievaluasi.

callback

(err: Error, results: IRouteResult[]) => void

Berfungsi untuk memanggil dengan rute kandidat teratas.

recognize(IRecognizeDialogContext, (err: Error, result: IRecognizeResult) => void)

Mengurai ucapan pengguna dan menetapkan skor dari 0,0 - 1,0 yang menunjukkan seberapa yakin dialognya adalah bahwa ia memahami ucapan pengguna. Metode ini selalu dipanggil untuk dialog aktif pada tumpukan. Skor 1.0 akan menunjukkan kecocokan yang sempurna dan mengakhiri pengenalan lebih lanjut. Ketika skor kurang dari 1,0, setiap dialog pada tumpukan akan memiliki metode recognizeAction() yang dipanggil juga untuk melihat apakah ada tindakan bernama yang terikat ke dialog yang lebih cocok dengan ucapan pengguna. Tindakan global yang terdaftar di tingkat bot juga akan dievaluasi. Jika dialog memiliki skor yang lebih tinggi maka tindakan terikat apa pun, dialog metode replyReceived() akan dipanggil dengan objek hasil yang dikembalikan dari panggilan recognize(). Ini memungkinkan dialog meneruskan data tambahan yang dikumpulkan selama fase kenali ke metode replyReceived() untuk penanganan.

Jika ada tindakan dengan skor yang lebih tinggi, maka dialog tindakan akan dipanggil alih-alih metode dialog replyReceived(). Dialog akan tetap berada di tumpukan dan dapat dilanjutkan pada titik tertentu jika tindakan memanggil dialog baru sehingga dialog harus bersiap untuk panggilan tak terduga ke dialogresumed() .

function recognize(context: IRecognizeDialogContext, callback: (err: Error, result: IRecognizeResult) => void)

Parameter

context
IRecognizeDialogContext

Konteks permintaan.

callback

(err: Error, result: IRecognizeResult) => void

Berfungsi untuk memanggil dengan hasil pengenalan.

reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)

Mengikat tindakan ke dialog yang akan menyebabkan dialog dimuat ulang kapan saja dipicu. Ini berguna untuk mengimplementasikan logika yang menangani ucapan pengguna seperti "startover".

function reloadAction(name: string, msg?: TextOrMessageType, options?: IBeginDialogActionOptions)

Parameter

name

string

Nama unik untuk menetapkan tindakan.

msg
TextOrMessageType

(Opsional) pesan untuk mengirim pengguna sebelum memuat ulang dialog.

options
IBeginDialogActionOptions

(Opsional) opsi yang digunakan untuk mengonfigurasi tindakan. Jika cocok ditentukan, tindakan akan mendengarkan pengguna untuk mengucapkan kata atau frasa yang memicu tindakan, jika tidak, tindakan perlu terikat ke tombol menggunakan CardAction.dialogAction() untuk memicu tindakan. Anda juga dapat menggunakan dialogArg untuk meneruskan param tambahan ke dialog saat dimuat ulang.

Mengembalikan

replyReceived(Session, IRecognizeResult)

function replyReceived(session: Session, recognizeResult?: IRecognizeResult)

Parameter

session
Session
recognizeResult
IRecognizeResult

selectActionRoute(Session, IRouteResult)

Memilih rute yang memiliki skor keyakinan tertinggi untuk ucapan tersebut.

function selectActionRoute(session: Session, route: IRouteResult)

Parameter

session
Session

Objek sesi untuk percakapan saat ini.

route
IRouteResult

Hasil yang dikembalikan dari panggilan ke findActionRoutes().

triggerAction(ITriggerActionOptions)

Mengikat tindakan ke dialog yang akan membuatnya menjadi dialog aktif kapan saja dipicu. Perilaku default adalah mengganggu dialog yang ada dengan menghapus tumpukan dan memulai dialog di akar tumpukan. Dialog yang terganggu dapat mencegat gangguan ini dengan menambahkan kustom onInterrupted handler ke opsi tindakan pemicunya. Selain itu, Anda dapat menyesuaikan cara dialog yang dipicu dimulai dengan menyediakan kustom onSelectAction handler ke opsi tindakan pemicu Anda.

function triggerAction(options: ITriggerActionOptions)

Parameter

options
ITriggerActionOptions

Opsi yang digunakan untuk mengonfigurasi tindakan.

Mengembalikan