Library class
Pustaka dialog terkait yang digunakan untuk tujuan perutean. Pustaka dapat dirantai bersama-sama untuk memungkinkan pengembangan bot yang kompleks. Kelas UniversalBot adalah Pustaka yang membentuk akar rantai ini. Pustaka bagian yang dapat digunakan kembali dapat dikembangkan dengan membuat instans Pustaka baru dan menambahkan dialog seperti yang Anda lakukan pada bot. Pustaka Anda harus memiliki nama unik yang sesuai dengan situs web pustaka atau nama modul NPM Anda. Bot kemudian dapat menggunakan kembali pustaka Anda hanya dengan menambahkan instans Pustaka bagian Anda ke bot mereka menggunakan UniversalBot.library(). Jika pustaka Anda sendiri bergantung pada pustaka lain, Anda harus menambahkannya ke pustaka Anda sebagai dependensi menggunakan Library.library(). Anda dapat dengan mudah mengelola beberapa versi pustaka Anda dengan menambahkan nomor versi ke nama pustaka Anda.
Untuk memanggil dialog dalam bot pustaka Anda harus memanggil session.beginDialog() dengan id dialog yang sepenuhnya memenuhi syarat dalam bentuk ':'. Anda biasanya akan menyembunyikan ini dari pengembang dengan mengekspos fungsi dari modul mereka yang memulai dialog untuk mereka.
Jadi memanggil sesuatu seperti myLib.someDialog(session, { arg: '' }); akan akhirnya memanggil session.beginDialog('myLib:someDialog', args); di bawah sampul.
Perlu dicatat bahwa dialog selalu dipanggil dalam dialog saat ini sehingga setelah Anda dalam dialog dari pustaka Anda, Anda tidak perlu mengawali setiap beginDialog() memanggil Anda dengan nama pustaka Anda. Ini hanya ketika menyeberang dari satu konteks pustaka ke konteks lain yang perlu Anda sertakan awalan nama pustaka.
Konstruktor
| Library(string) | Membuat instans baru pustaka. |
Properti
| name | Pustaka namespace unik. Ini digunakan untuk mengisolasi dialog pustaka dan perintah yang dilokalkan. |
| Route |
Nilai routeType yang didukung yang dikembalikan secara default dari findRoutes(). |
Metode
| add |
Metode pembantu dipanggil dari berbagai metode temuan rute untuk mengelola penambahan rute kandidat ke kumpulan hasil.
|
| begin |
Mendaftarkan tindakan global 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. |
| best |
Menemukan rute terbaik untuk digunakan dalam kumpulan hasil yang berisi beberapa rute ambigu. Strategi disambigution berikut akan digunakan:
|
| clone(Library, string) | Mengembalikan klon pustaka yang sudah ada. |
| custom |
Mendaftarkan tindakan global kustom yang akan memanggil handler onSelectAction saat dipicu. |
| dialog(string, Dialog | IDialog |
Mendaftarkan atau mengembalikan dialog dari pustaka. |
| end |
Mendaftarkan tindakan global yang akan mengakhiri percakapan dengan pengguna saat dipicu. |
| find |
Mendapatkan keyakinan dialog aktif bahwa dialog tersebut memahami pesan saat ini. Dialog harus menjadi anggota pustaka saat ini, jika tidak, skor 0,0 akan dikembalikan. |
| find |
Mencari pustaka dan semua dependensinya untuk dialog tertentu. Mengembalikan dialog jika ditemukan, jika tidak null. |
| find |
Mencari pustaka untuk melihat apakah ada tindakan global yang telah dipicu. |
| find |
Mencari rute kandidat untuk menangani pesan saat ini. Untuk benar-benar memulai penanganan pesan, Anda harus memanggil selectRoute() dengan salah satu hasil yang dikembalikan.
Logika pencarian default dapat diambil alih menggunakan onFindRoute() dan hanya pustaka saat ini yang dicari sehingga Anda harus memanggil |
| find |
Mencari tumpukan dialog sesi untuk melihat apakah ada tindakan yang telah dipicu. |
| for |
Menghitung semua dialog pustaka. |
| for |
Menghitung semua pustaka pustaka anak. Pemanggil harus mengambil langkah-langkah yang tepat untuk menghindari referensi melingkar saat menghitung hierarki. Dalam kebanyakan kasus memanggil libraryList() adalah pilihan yang lebih baik karena sudah berisi logika untuk menghindari siklus. |
| library(Library | string) | Mendaftarkan atau mengembalikan dependensi pustaka. |
| library |
Mengembalikan daftar pustaka unik dalam hierarki. Harus dipanggil pada akar hierarki pustaka dan menghindari siklus yang dibuat ketika dua pustaka anak mereferensikan pustaka dependen yang sama. |
| locale |
Mendapatkan atau mengatur jalur ke folder "/locale/" pustaka yang berisi perintah yang dilokalkan. Perintah untuk pustaka harus disimpan dalam file "/locale/<IETF_TAG>/.json" di bawah jalur ini di mana "<IETF_TAG>" mewakili tage bahasa 2-3 digit untuk lokal dan "" adalah nama file yang cocok dengan namespace pustaka. |
| on |
Mengganti findRoutes() logika pencarian rute default dengan implementasi kustom. |
| on |
Mengganti logika default untuk selectRoute() dengan implementasi kustom. |
| recognize(IRecognize |
Mencoba mencocokkan ucapan teks pengguna dengan niat menggunakan pengenal pustaka. Lihat IIntentRecognizer.recognize() untuk detailnya. |
| recognizer(IIntent |
Menambahkan plugin recognizer baru ke pustaka. |
| select |
Merutekan pesan saat ini ke dialog aktif. |
| select |
Merutekan pesan saat ini ke tindakan global yang dipicu. |
| select |
Memicu penanganan pesan saat ini menggunakan rute yang dipilih. Logika default dapat diambil alih menggunakan onSelectRoute(). |
| select |
Merutekan pesan saat ini ke tindakan tumpukan yang dipicu. |
Detail Konstruktor
Library(string)
Membuat instans baru pustaka.
new Library(name: string)
Parameter
- name
-
string
Namespace unik untuk pustaka.
Detail Properti
name
Pustaka namespace unik. Ini digunakan untuk mengisolasi dialog pustaka dan perintah yang dilokalkan.
name: string
Nilai Properti
string
RouteTypes
Nilai routeType yang didukung yang dikembalikan secara default dari findRoutes().
static RouteTypes: Object
Nilai Properti
Object
Detail Metode
addRouteResult(IRouteResult, IRouteResult[])
Metode pembantu dipanggil dari berbagai metode temuan rute untuk mengelola penambahan rute kandidat ke kumpulan hasil.
- Jika skor lebih besar, maka kecocokan terbaik saat ini dalam set hasil baru akan dikembalikan yang hanya berisi kecocokan baru.
- Jika skor sama dengan kecocokan terbaik saat ini, skor akan ditambahkan ke set yang ada.
- Jika skor kurang dari kecocokan terbaik saat ini, skor akan diabaikan.
static function addRouteResult(route: IRouteResult, current?: IRouteResult[])
Parameter
- route
- IRouteResult
Rute kandidat untuk ditambahkan ke set.
- current
Hasil (Opsional) diatur untuk menambahkan rute juga. Jika hilang, set baru hanya dengan rute akan dikembalikan.
Mengembalikan
beginDialogAction(string, string, IDialogActionOptions)
Mendaftarkan tindakan global 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?: IDialogActionOptions)
Parameter
- name
-
string
Nama unik untuk menetapkan tindakan.
- id
-
string
ID dialog untuk memulai.
- options
- IDialogActionOptions
(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
bestRouteResult(IRouteResult[], IDialogState[], string)
Menemukan rute terbaik untuk digunakan dalam kumpulan hasil yang berisi beberapa rute ambigu. Strategi disambigution berikut akan digunakan:
- : Jenis rute kustom adalah prioritas tertinggi dan alwsay akan lebih disukai. Ini memungkinkan pengembang mengambil alih perutean dalam bot dengan cara yang sangat kuat.
- activeDialog: Dialog aktif adalah prioritas tertinggi berikutnya.
- StackAction: Tindakan tumpukan adalah prioritas tertinggi berikutnya dan tindakan dengan posisi tumpukan terdalam akan dikembalikan.
-
GlobalAction: Tindakan global adalah prioritas terendah. Jika
dialogStackmelewati tindakan dari pustaka terdalam di tumpukan akan disukai. Jika tidak, yang pertama akan dikembalikan.
static function bestRouteResult(routes: IRouteResult[], dialogStack?: IDialogState[], rootLibraryName?: string)
Parameter
- routes
Array rute kandidat untuk difilter.
- dialogStack
(Opsional) tumpukan dialog yang digunakan untuk menentukan pustaka mana yang akan disukai tindakan global.
- rootLibraryName
-
string
(Opsional) namespace pustaka yang lebih disukai saat memisahkan tindakan global dan tidak ada dialog pada tumpukan.
Mengembalikan
clone(Library, string)
Mengembalikan klon pustaka yang sudah ada.
function clone(copyTo?: Library, newName?: string)
Parameter
- copyTo
- Library
Instans (Opsional) untuk menyalin objek saat ini. Jika kehilangan instans baru akan dibuat.
- newName
-
string
(Opsional) jika ditentukan salinan yang dikembalikan akan diganti namanya menjadi nama baru.
Mengembalikan
customAction(IDialogActionOptions)
Mendaftarkan tindakan global kustom 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
dialog(string, Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep, boolean)
Mendaftarkan atau mengembalikan dialog dari pustaka.
function dialog(id: string, dialog?: Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep, replace?: boolean)
Parameter
- id
-
string
ID unik dialog yang diregsiter atau diambil.
- dialog
(Opsional) dialog atau air terjun untuk mendaftar.
- dialog :{Dialog} - Dialog untuk ditambahkan.
- dialog :{IDialogWaterfallStep[]} - Air terjun langkah-langkah untuk dijalankan. Lihat IDialogWaterfallStep untuk detailnya.
- dialog :{IDialogWaterfallStep} - Air terjun langkah tunggal. Memanggil perintah bawaan atau memulai dialog baru akan mengakibatkan dialog saat ini berakhir setelah menyelesaikan permintaan/dialog anak.
- replace
-
boolean
(Opsional) jika benar, dialog harus mengganti dialog yang ada jika sudah terdaftar.
Mengembalikan
endConversationAction(string, TextOrMessageType, ICancelActionOptions)
Mendaftarkan tindakan global yang akan mengakhiri percakapan dengan pengguna saat dipicu.
function endConversationAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)
Parameter
- name
-
string
Nama unik untuk menetapkan tindakan.
(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
findActiveDialogRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void, IDialogState[])
Mendapatkan keyakinan dialog aktif bahwa dialog tersebut memahami pesan saat ini. Dialog harus menjadi anggota pustaka saat ini, jika tidak, skor 0,0 akan dikembalikan.
function findActiveDialogRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void, dialogStack?: IDialogState[])
Parameter
- context
- IRecognizeContext
Konteks pengenal baca-saja untuk percakapan saat ini.
- callback
-
(err: Error, routes: IRouteResult[]) => void
Fungsi yang harus dipanggil dengan rute yang ditemukan.
- dialogStack
(Opsional) tumpukan dialog untuk dicari. Perilaku defaultnya adalah mencari tumpukan dialog sesi saat ini.
findDialog(string, string)
Mencari pustaka dan semua dependensinya untuk dialog tertentu. Mengembalikan dialog jika ditemukan, jika tidak null.
function findDialog(libName: string, dialogId: string)
Parameter
- libName
-
string
Nama pustaka yang berisi dialog.
- dialogId
-
string
ID unik dialog dalam pustaka.
Mengembalikan
findGlobalActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void)
Mencari pustaka untuk melihat apakah ada tindakan global yang telah dipicu.
function findGlobalActionRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void)
Parameter
- context
- IRecognizeContext
Konteks pengenal baca-saja untuk percakapan saat ini.
- callback
-
(err: Error, routes: IRouteResult[]) => void
Fungsi yang harus dipanggil dengan rute yang ditemukan.
findRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void)
Mencari rute kandidat untuk menangani pesan saat ini. Untuk benar-benar memulai penanganan pesan, Anda harus memanggil selectRoute() dengan salah satu hasil yang dikembalikan.
Logika pencarian default dapat diambil alih menggunakan onFindRoute() dan hanya pustaka saat ini yang dicari sehingga Anda harus memanggil findRoutes() putus-putus untuk setiap pustaka dalam hierarki.
function findRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void)
Parameter
- context
- IRecognizeContext
Konteks pengenal baca-saja untuk percakapan saat ini.
- callback
-
(err: Error, routes: IRouteResult[]) => void
Fungsi yang harus dipanggil dengan rute yang ditemukan.
findStackActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void, IDialogState[])
Mencari tumpukan dialog sesi untuk melihat apakah ada tindakan yang telah dipicu.
function findStackActionRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void, dialogStack?: IDialogState[])
Parameter
- context
- IRecognizeContext
Konteks pengenal baca-saja untuk percakapan saat ini.
- callback
-
(err: Error, routes: IRouteResult[]) => void
Fungsi yang harus dipanggil dengan rute yang ditemukan.
- dialogStack
(Opsional) tumpukan dialog untuk dicari. Perilaku defaultnya adalah mencari tumpukan dialog sesi saat ini.
forEachDialog((dialog: Dialog, id: string) => void)
Menghitung semua dialog pustaka.
function forEachDialog(callback: (dialog: Dialog, id: string) => void)
Parameter
- callback
-
(dialog: Dialog, id: string) => void
Fungsi iterator untuk memanggil dengan setiap dialog.
forEachLibrary((library: Library) => void)
Menghitung semua pustaka pustaka anak. Pemanggil harus mengambil langkah-langkah yang tepat untuk menghindari referensi melingkar saat menghitung hierarki. Dalam kebanyakan kasus memanggil libraryList() adalah pilihan yang lebih baik karena sudah berisi logika untuk menghindari siklus.
function forEachLibrary(callback: (library: Library) => void)
Parameter
- callback
-
(library: Library) => void
Fungsi iterator untuk memanggil dengan setiap libray anak.
library(Library | string)
Mendaftarkan atau mengembalikan dependensi pustaka.
function library(lib: Library | string)
Parameter
- lib
-
Library | string
- lib:{Library} - Pustaka untuk mendaftar sebagai dependensi.
- lib:{string} - Nama unik pustaka untuk dicari. Semua dependensi juga akan dicari.
Mengembalikan
libraryList(boolean)
Mengembalikan daftar pustaka unik dalam hierarki. Harus dipanggil pada akar hierarki pustaka dan menghindari siklus yang dibuat ketika dua pustaka anak mereferensikan pustaka dependen yang sama.
function libraryList(reverse?: boolean)
Parameter
- reverse
-
boolean
(Opsional) Jika daftar true akan dihasilkan dari daun yang berarti pustaka akar akan dicantumkan terakhir. Nilai default adalah false yang berarti akan dihasilkan dari akar ke bawah dan pustaka akar akan dicantumkan terlebih dahulu.
Mengembalikan
Library[]
localePath(string)
Mendapatkan atau mengatur jalur ke folder "/locale/" pustaka yang berisi perintah yang dilokalkan. Perintah untuk pustaka harus disimpan dalam file "/locale/<IETF_TAG>/.json" di bawah jalur ini di mana "<IETF_TAG>" mewakili tage bahasa 2-3 digit untuk lokal dan "" adalah nama file yang cocok dengan namespace pustaka.
function localePath(path?: string)
Parameter
- path
-
string
(Opsional) jalur ke pustaka folder "/locale/". Jika ditentukan, ini akan memperbarui jalur pustaka.
Mengembalikan
string
onFindRoutes(IFindRoutesHandler)
Mengganti findRoutes() logika pencarian rute default dengan implementasi kustom.
function onFindRoutes(handler: IFindRoutesHandler)
Parameter
- handler
- IFindRoutesHandler
Fungsi yang akan dipanggil kapan saja findRoutes() dipanggil untuk pustaka.
onSelectRoute(ISelectRouteHandler)
Mengganti logika default untuk selectRoute() dengan implementasi kustom.
function onSelectRoute(handler: ISelectRouteHandler)
Parameter
- handler
- ISelectRouteHandler
Fungsi yang akan dipanggil kapan saja selectRoute() dipanggil.
recognize(IRecognizeContext, (err: Error, result: IIntentRecognizerResult) => void)
Mencoba mencocokkan ucapan teks pengguna dengan niat menggunakan pengenal pustaka. Lihat IIntentRecognizer.recognize() untuk detailnya.
function recognize(context: IRecognizeContext, callback: (err: Error, result: IIntentRecognizerResult) => void)
Parameter
- context
- IRecognizeContext
Konteks pengenal baca-saja untuk percakapan saat ini.
- callback
-
(err: Error, result: IIntentRecognizerResult) => void
Fungsi yang harus dipanggil setelah penyelesaian pengenalan.
recognizer(IIntentRecognizer)
Menambahkan plugin recognizer baru ke pustaka.
function recognizer(plugin: IIntentRecognizer)
Parameter
- plugin
- IIntentRecognizer
Pengenal yang akan ditambahkan.
Mengembalikan
selectActiveDialogRoute(Session, IRouteResult, IDialogState[])
Merutekan pesan saat ini ke dialog aktif.
function selectActiveDialogRoute(session: Session, route: IRouteResult, newStack?: IDialogState[])
Parameter
- session
- Session
Objek sesi untuk percakapan saat ini.
- route
- IRouteResult
Hasil rute yang dikembalikan dari panggilan sebelumnya ke findRoutes() atau findActiveDialogRoutes().
- newStack
selectGlobalActionRoute(Session, IRouteResult, IDialogState[])
Merutekan pesan saat ini ke tindakan global yang dipicu.
function selectGlobalActionRoute(session: Session, route: IRouteResult, newStack?: IDialogState[])
Parameter
- session
- Session
Objek sesi untuk percakapan saat ini.
- route
- IRouteResult
Hasil rute yang dikembalikan dari panggilan sebelumnya ke findRoutes() atau findGlobalActionRoutes().
- newStack
selectRoute(Session, IRouteResult)
Memicu penanganan pesan saat ini menggunakan rute yang dipilih. Logika default dapat diambil alih menggunakan onSelectRoute().
function selectRoute(session: Session, route: IRouteResult)
Parameter
- session
- Session
Objek sesi untuk percakapan saat ini.
- route
- IRouteResult
Hasil rute yang dikembalikan dari panggilan sebelumnya ke findRoutes().
selectStackActionRoute(Session, IRouteResult, IDialogState[])
Merutekan pesan saat ini ke tindakan tumpukan yang dipicu.
function selectStackActionRoute(session: Session, route: IRouteResult, newStack?: IDialogState[])
Parameter
- session
- Session
Objek sesi untuk percakapan saat ini.
- route
- IRouteResult
Hasil rute yang dikembalikan dari panggilan sebelumnya ke findRoutes() atau findStackActionRoutes().
- newStack