Bagikan melalui


IntentDialog class

Mengidentifikasi niat pengguna dan secara opsional mengekstrak entitas dari ucapan pengguna.

Memperluas

Konstruktor

IntentDialog(IIntentDialogOptions)

Membuat instans baru IntentDialog.

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.

matches(RegExp | string, string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

Memanggil handler ketika niat tertentu terdeteksi dalam ucapan pengguna.

CATATAN: Detail lengkap kecocokan, termasuk daftar niat & entitas yang terdeteksi, akan diteruskan ke args langkah atau dialog air terjun pertama yang dimulai.

matchesAny(RegExp[] | string[], string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

Memanggil handler ketika salah satu niat yang diberikan terdeteksi dalam ucapan pengguna.

CATATAN: Detail lengkap kecocokan, termasuk daftar niat & entitas yang terdeteksi, akan diteruskan ke args langkah atau dialog air terjun pertama yang dimulai.

onBegin((session: Session, args: any, next: () => void) => void)

Dipanggil saat dialog pertama kali dimuat setelah panggilan ke sesi .beginDialog(). Ini memberi bot kesempatan untuk memproses argumen yang diteruskan ke dialog. Handler harus selalu memanggil fungsi next() untuk melanjutkan eksekusi logika utama dialog.

onDefault(string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

Handler default untuk dipanggil ketika tidak ada handler yang cocok dengan niat pengguna.

CATATAN: Detail lengkap upaya pengenalan, termasuk daftar niat & entitas yang terdeteksi, akan diteruskan ke args langkah atau dialog air terjun pertama yang dimulai.

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

recognizer(IIntentRecognizer)

Menambahkan plugin recognizer baru ke dialog niat.

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)

Memproses pesan yang diterima dari pengguna. Dipanggil oleh sistem dialog.

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 Konstruktor

IntentDialog(IIntentDialogOptions)

Membuat instans baru IntentDialog.

new IntentDialog(options?: IIntentDialogOptions)

Parameter

options
IIntentDialogOptions

(Opsional) opsi yang digunakan untuk menginisialisasi dialog.

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.

matches(RegExp | string, string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

Memanggil handler ketika niat tertentu terdeteksi dalam ucapan pengguna.

CATATAN: Detail lengkap kecocokan, termasuk daftar niat & entitas yang terdeteksi, akan diteruskan ke args langkah atau dialog air terjun pertama yang dimulai.

function matches(intent: RegExp | string, dialogId: string | IDialogWaterfallStep[] | IDialogWaterfallStep, dialogArgs?: any)

Parameter

intent

RegExp | string

  • niat :{RegExp} - Ekspresi reguler yang akan dievaluasi untuk mendeteksi niat pengguna.
  • niat :{string} - Niat bernama yang dikembalikan oleh plugin IIntentRecognizer yang akan digunakan untuk mencocokkan niat pengguna.
dialogId

string | IDialogWaterfallStep[] | IDialogWaterfallStep

  • dialogId: _{string} - ID dialog yang akan dimulai saat niat dicocokkan.
  • dialogId:{IDialogWaterfallStep[]} - Air terjun langkah-langkah untuk dijalankan saat niat dicocokkan.
  • dialogId:{IDialogWaterfallStep} - Air terjun langkah tunggal untuk dijalankan saat niat dicocokkan. Memanggil perintah bawaan atau memulai dialog baru akan mengakibatkan dialog saat ini berakhir setelah menyelesaikan permintaan/dialog anak.
dialogArgs

any

Argumen (Opsional) untuk meneruskan dialog yang dimulai saat dialogId adalah {string}.

Mengembalikan

matchesAny(RegExp[] | string[], string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

Memanggil handler ketika salah satu niat yang diberikan terdeteksi dalam ucapan pengguna.

CATATAN: Detail lengkap kecocokan, termasuk daftar niat & entitas yang terdeteksi, akan diteruskan ke args langkah atau dialog air terjun pertama yang dimulai.

function matchesAny(intent: RegExp[] | string[], dialogId: string | IDialogWaterfallStep[] | IDialogWaterfallStep, dialogArgs?: any)

Parameter

intent

RegExp[] | string[]

  • niat :{RegExp[]} - Array ekspresi reguler yang akan dievaluasi untuk mendeteksi niat pengguna.
  • niat :{string[]} - Array niat bernama yang dikembalikan oleh plugin IIntentRecognizer yang akan digunakan untuk mencocokkan niat pengguna.
dialogId

string | IDialogWaterfallStep[] | IDialogWaterfallStep

  • dialogId: _{string} - ID dialog yang akan dimulai saat niat dicocokkan.
  • dialogId:{IDialogWaterfallStep[]} - Air terjun langkah-langkah untuk dijalankan saat niat dicocokkan.
  • dialogId:{IDialogWaterfallStep} - Air terjun langkah tunggal untuk dijalankan saat niat dicocokkan. Memanggil perintah bawaan atau memulai dialog baru akan mengakibatkan dialog saat ini berakhir setelah menyelesaikan permintaan/dialog anak.
dialogArgs

any

Argumen (Opsional) untuk meneruskan dialog yang dimulai saat dialogId adalah {string}.

Mengembalikan

onBegin((session: Session, args: any, next: () => void) => void)

Dipanggil saat dialog pertama kali dimuat setelah panggilan ke sesi .beginDialog(). Ini memberi bot kesempatan untuk memproses argumen yang diteruskan ke dialog. Handler harus selalu memanggil fungsi next() untuk melanjutkan eksekusi logika utama dialog.

function onBegin(handler: (session: Session, args: any, next: () => void) => void)

Parameter

handler

(session: Session, args: any, next: () => void) => void

Fungsi untuk memanggil ketika dialog dimulai.

Mengembalikan

onDefault(string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

Handler default untuk dipanggil ketika tidak ada handler yang cocok dengan niat pengguna.

CATATAN: Detail lengkap upaya pengenalan, termasuk daftar niat & entitas yang terdeteksi, akan diteruskan ke args langkah atau dialog air terjun pertama yang dimulai.

function onDefault(dialogId: string | IDialogWaterfallStep[] | IDialogWaterfallStep, dialogArgs?: any)

Parameter

dialogId

string | IDialogWaterfallStep[] | IDialogWaterfallStep

  • dialogId: _{string} - ID dialog yang akan dimulai.
  • dialogId:{IDialogWaterfallStep[]} - Air terjun langkah-langkah untuk dijalankan.
  • dialogId:{IDialogWaterfallStep} - Air terjun langkah tunggal untuk dieksekusi. Memanggil perintah bawaan atau memulai dialog baru akan mengakibatkan dialog saat ini berakhir setelah menyelesaikan permintaan/dialog anak.
dialogArgs

any

Argumen (Opsional) untuk meneruskan dialog yang dimulai saat dialogId adalah {string}.

Mengembalikan

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.

recognizer(IIntentRecognizer)

Menambahkan plugin recognizer baru ke dialog niat.

function recognizer(plugin: IIntentRecognizer)

Parameter

plugin
IIntentRecognizer

Pengenal yang akan ditambahkan.

Mengembalikan

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)

Memproses pesan yang diterima dari pengguna. Dipanggil oleh sistem dialog.

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

Parameter

session
Session

Objek sesi untuk percakapan saat ini.

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