Library class
用于路由目的的相关对话库。 库可以链接在一起,以便开发复杂的机器人。 UniversalCallBot 类本身是构成此链根的库。 可以通过创建新的库实例和向机器人添加对话来开发可重用部件库。 库应具有与库网站或 NPM 模块名称对应的唯一名称。 然后,机器人只需使用 UniversalCallBot.library()将部件库实例添加到机器人,即可重复使用库。 如果库本身依赖于其他库,则应使用 Library.library()将其作为依赖项添加到库中。 可以通过向库名称添加版本号轻松管理库的多个版本。
若要调用库机器人中的对话,需要调用 session.beginDialog(),其完全限定的对话 ID 格式为“:”。 通常,通过从其模块中公开一个启动对话框的函数来隐藏开发程序。
因此,像 myLib.someDialog(session, { arg: '' }); 这样的调用最终会在幕后调用 session.beginDialog('myLib:someDialog', args);。
值得注意的是,对话始终在当前对话中调用,因此,一旦库中的某个对话,就无需为每个 beginDialog() 添加前缀即可调用库名称。 仅当从一个库上下文交叉到另一个库上下文时,才需要包含库名称前缀。
构造函数
| Library(string) | 创建库的新实例。 |
属性
| name | 库的唯一名称。 |
方法
| dialog(string, Dialog | IDialog |
从库注册或返回对话框。 |
| find |
在库及其所有依赖项中搜索特定对话框。 如果找到,则返回对话框,否则返回 null。 |
| library(Library | string) | 注册或返回库依赖项。 |
构造函数详细信息
Library(string)
创建库的新实例。
new Library(name: string)
参数
- name
-
string
属性详细信息
name
库的唯一名称。
name: string
属性值
string
方法详细信息
dialog(string, Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep)
从库注册或返回对话框。
function dialog(id: string, dialog?: Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep)
参数
- id
-
string
正在注册或检索的对话的唯一 ID。
- dialog
(可选)对话框或瀑布进行注册。
- 对话框:{Dialog} - 要添加的对话。
- 对话框:{IDialogWaterfallStep[]} - 要执行的步骤瀑布。 有关详细信息,请参阅 IDialogWaterfallStep。
- 对话框:{IDialogWaterfallStep} - 单步瀑布。 调用内置提示或启动新对话将导致当前对话在子提示/对话框完成时结束。
返回
findDialog(string, string)
在库及其所有依赖项中搜索特定对话框。 如果找到,则返回对话框,否则返回 null。
function findDialog(libName: string, dialogId: string)
参数
- libName
-
string
包含对话框的库的名称。
- dialogId
-
string
库中对话框的唯一 ID。