通过


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 | IDialogWaterfallStep[] | IDialogWaterfallStep)

从库注册或返回对话框。

findDialog(string, string)

在库及其所有依赖项中搜索特定对话框。 如果找到,则返回对话框,否则返回 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

(可选)对话框或瀑布进行注册。

  • 对话框:{Dialog} - 要添加的对话。
  • 对话框:{IDialogWaterfallStep[]} - 要执行的步骤瀑布。 有关详细信息,请参阅 IDialogWaterfallStep
  • 对话框:{IDialogWaterfallStep} - 单步瀑布。 调用内置提示或启动新对话将导致当前对话在子提示/对话框完成时结束。

返回

findDialog(string, string)

在库及其所有依赖项中搜索特定对话框。 如果找到,则返回对话框,否则返回 null。

function findDialog(libName: string, dialogId: string)

参数

libName

string

包含对话框的库的名称。

dialogId

string

库中对话框的唯一 ID。

返回

library(Library | string)

注册或返回库依赖项。

function library(lib: Library | string)

参数

lib

Library | string

  • 库:{Library} - 要注册为依赖项的库。
  • 库:{string} - 要查找的库的唯一名称。 还将搜索所有依赖项。

返回