通过


botbuilder package

ActionSet

实现对可绑定到对话框的命名操作的支持,以处理来自用户的全局话语,例如“help”或“cancel”。 作为对话的一部分,操作在对话堆栈中被推送到和关闭,以便在对话进行时,这些侦听器可以进入和退出范围。 还可以将命名的操作绑定到按钮,使机器人能够响应可能已从屏幕滚动的卡片上的按钮单击。

AnimationCard

简化生成动画卡的卡片生成器类。

AudioCard

用于简化媒体卡构建的卡片生成器类。

BotConnectorBot

弃用的 改为使用 UniversalBotChatConnector

CardAction

Builder 类,用于简化向卡片添加操作。

CardImage

Builder 类,用于简化向卡片添加图像。

CardMedia

卡片的媒体实体的定义

ChatConnector

通过 Bot Framework 将 UniversalBot 连接到多个通道。

CommandDialog

弃用 改为使用 IntentDialog

ConsoleConnector

通过控制台窗口将 UniversalBot 连接到命令行。

Dialog

所有对话的基类。 对话是 BotBuilder 框架的核心组件。 机器人使用对话来管理与用户任意复杂的对话。

DialogAction

对话操作提供用于实现常见操作的静态快捷方式。 他们还实现了对可绑定到对话框的命名操作的支持,以处理来自用户的全局话语,例如“帮助”或“取消”。 作为对话的一部分,操作在对话堆栈中被推送到和关闭,以便在对话进行时,这些侦听器可以进入和退出范围。 还可以将命名的操作绑定到按钮,使机器人能够响应可能已从屏幕滚动的卡片上的按钮单击。

EntityRecognizer

用于分析 & 解析从 LUIS 接收的日期/时间等常见实体的实用工具类。

Fact

Builder 类,用于简化为卡片(如收据)创建事实列表。

HeroCard

简化生成英雄卡的卡片生成器类。 主图卡包含与缩略图卡相同的信息,只是卡片图像具有更明显的布局。

IntentDialog

标识用户意向,并选择性地从用户话语中提取实体。

IntentRecognizer

所有核心识别器的基类。 允许对识别器进行条件执行,并在筛选已识别的意向后执行。 派生类应替代抽象 onRecognize() 方法。

IntentRecognizerSet

跨一组意向识别器联合 recognize() 调用。

Keyboard

简化构建键盘卡的卡片生成器类。

Library

用于路由目的的相关对话库。 库可以链接在一起,以便开发复杂的机器人。 UniversalBot 类本身是构成此链根的库。 可以通过创建新的库实例和向机器人添加对话来开发可重用部件库。 库应具有与库网站或 NPM 模块名称对应的唯一名称。 然后,机器人只需使用 UniversalBot.library()将部件库实例添加到机器人,即可重复使用库。 如果库本身依赖于其他库,则应使用 Library.library()将其作为依赖项添加到库中。 可以通过向库名称添加版本号轻松管理库的多个版本。

若要调用库机器人中的对话,需要调用 session.beginDialog(),其完全限定的对话 ID 格式为“:”。 通常,你将通过从其模块中公开启动对话框的函数来隐藏开发人员的此功能。 因此,像 myLib.someDialog(session, { arg: '' }); 这样的调用最终会在幕后调用 session.beginDialog('myLib:someDialog', args);

值得注意的是,对话始终在当前对话中调用,因此,一旦从库中的对话中调用,就不需要为每个 beginDialog() 添加前缀即可调用库名称。 仅当从一个库上下文交叉到另一个库上下文时,才需要包含库名称前缀。

LocalizedRegExpRecognizer

使用框架本地化系统检索本地化正则表达式的 RegExpRecognizer 的版本。 应提供 index.json 文件中的查找键,并在收到新区域设置的消息时,识别器将检索本地化表达式,并创建一个新的不区分大小写 RegExp 并用于识别意向。 库可以使用此功能让机器人替代其默认匹配表达式。 只需使用库命名空间创建识别器实例,机器人开发人员就可以在其区域设置目录中使用 <namespace>.json 文件自定义匹配表达式。

LuisDialog

弃用IntentDialog 与 luisRecognizer 配合使用

LuisRecognizer

使用 Microsoft 语言理解智能服务(LUIS)检测用户意向的意向识别器插件 可以传入多个 LUIS 模型(应用)的服务 URL 以支持跨多种语言的识别。

MediaCard

用于简化媒体卡构建的卡片生成器类。

MemoryBotStorage

存储用户 & 会话状态数据的内存存储实现中的默认值。

Message

用于简化使用附件生成复杂邮件的邮件生成器类。

Middleware
OAuthCard

简化生成 oauth 卡的卡片生成器类。

Prompt

内置提示的基类,可用于生成新的自定义提示。 Prompt 类提供提示/重新提示用户的基本逻辑,并提供一组可扩展挂钩来自定义用户回复的提示识别以及发送给用户的输出。 提示应始终至少注册一个 onRecognize() 处理程序,它们支持添加任意数量的 匹配项()matchesAny() 处理程序,这些处理程序可用于向提示添加特殊用户发起的命令。 例如,内置提示会添加一个 matches('BotBuilder.RepeatIntent') 来侦听用户要求重复提示,导致提示再次发送其初始提示。

PromptAttachment

可自定义的附件提示。

PromptChoice

可自定义的选择提示。

PromptConfirm

可自定义的确认提示。

PromptNumber

可自定义的确认提示。

PromptText

可自定义文本提示。

PromptTime

可自定义的时间提示。

ReceiptCard

简化生成收据卡的卡片生成器类。

ReceiptItem

Builder 类,用于简化向收据卡添加项目。

RegExpRecognizer

使用正则表达式检测用户意向的意向识别器插件。 可以传入多个表达式以支持跨多种语言进行识别。

RemoteSessionLogger

使用调试事件将会话活动记录到远程终结点。 当模拟器连接到机器人时,会自动使用远程调试器。 非仿真器通道可以通过将模拟器会话的地址保存到 session.privateConversationData["BotBuilder.Data.DebugSession"]来将其活动流式传输到模拟器。

Session

管理与用户的机器人对话。

SessionLogger

用于将会话活动记录到控制台的默认会话记录器。

SigninCard

简化生成登录卡的卡片生成器类。

SimpleDialog

允许创建基于简单关闭的自定义对话。 这对于需要动态聊天流的情况非常有用,或者你的情况只是无法很好地映射到使用瀑布。 请记住以下事项:

  • 对话框关闭可以在可能需要测试的两个不同的上下文中调用。 当用户向对话发送消息时,它将按预期进行调用,但如果从关闭时调用另一个提示或对话,则会再次调用来自提示/对话的结果。 通常可以通过检查 args.resumed 属性的存在性来测试此第二种情况。 请务必避免让自己进入一个无限循环,这很容易做到。
  • 与瀑布式对话不同,对话不会自动结束。 它将保持活动对话框,直到调用 session.endDialog()
SimplePromptRecognizer

自 v3.8 起不再支持弃用。 请改用自定义提示。

SuggestedActions

用于向消息添加建议操作的 Builder 类

TextBot

弃用 改为使用 UniversalBotConsoleConnector

ThumbnailCard

简化生成缩略图卡的卡片生成器类。

UniversalBot

跨多个通道管理与用户的机器人对话。

VideoCard

简化生成视频卡的卡片生成器类。

WaterfallDialog

允许创建基于瀑布的自定义对话。

接口

IActionRouteData

传递给触发操作的参数。

IAddress

事件的地址路由信息。 地址是双向的,这意味着它们可用于处理传入和传出事件。 它们也是特定于连接器的含义,即 连接器 可以自由地将自己的字段添加到地址。 若要将 主动消息 发送给用户机器人,应从收到的 消息保存地址。 根据通道地址可能会更改,因此机器人应定期更新为给定用户存储的地址。

IAnimationCard

动画卡的接口定义

IAttachment

许多消息传递通道提供附加更丰富的对象的功能。 Bot Builder 允许你以跨通道方式表达这些附件,连接器 将尽最大努力使用通道本机构造呈现附件。 如果希望更好地控制消息的通道呈现,可以使用 IEvent.sourceEvent 来提供使用通道本机架构的附件。 可以发送的附件类型因通道而异,但这些是基本类型:

  • 媒体和文件: 基本文件可以通过将 contentType 设置为文件的 MIME 类型,然后将链接传递给 contentUrl中的文件。
  • 卡片: 一组丰富的视觉卡片,可以将 contentType 设置为卡片类型,然后在 内容中传递卡片的 JSON。 如果使用一个富卡生成器类(如 HeroCard) 附件将自动填充。
IAudioCard

音频卡的接口定义

IBeginDialogActionOptions

定义 beginDialogAction()时传递的选项。

IBotStateData

导出的机器人状态数据。

IBotStateDataResult

ChatConnector.exportBotStateData()返回的结果对象。

IBotStorage

UniversalBot 使用的可替换存储系统。

IBotStorageContext

传递给 IBotStorage 调用的上下文对象。

IBotStorageData

保存到 IBotStorage 的数据值。

ICancelActionOptions

定义 cancelAction()时传递的选项。

ICardAction

点击卡片、按钮或图像时应执行的操作。

ICardImage

卡片上的图像。

ICardMediaUrl

描述卡片媒体的 URL 信息

IChatConnectorAddress

ChatConnector 特定地址。

IChatConnectorEndpoint

用于在 ChatConnector 实例中设置各种终结点的选项。 这不应更改,通常由 IChatConnectorSettings 中的开发人员提供。 应更改 IChatConnectorSettings“stateEndpoint”和“openIdMetadata”中的两个属性。

IChatConnectorSettings

用于初始化 ChatConnector 实例的选项。

IChoice

可传递给 Prompts.choice() 或 [PromptRecognizers.recognizeChoices()][/en-us/node/builder/chat-reference/classes/botbuilder_d.promptrecognizers#recognizechoices] 的选项。

IConnector

由 UniversalBot 的连接器插件实现。

IContactRelationUpdate

用户已更新其联系人列表。 /** 用户已更新其联系人列表。

IConversationMembers

对话中的成员列表。

IConversationUpdate

会话的属性已更改。

IConversationsResult

ChatConnector.getConversations()返回的结果对象。

IDefaultLocalizerSettings

用于初始化 ILocalizer 实现的设置。

IDialogActionOptions

定义对话操作时传递的选项。

IDialogResult

子对话通过调用 session.endDialog()将其父对话返回的结果。

IDialogState

会话对话堆栈上的条目。

IDialogVersionOptions

传递给 Middleware.dialogVersion() 的选项。

IDialogWaterfallStep

作为步骤传递的函数的签名 DialogAction.waterfall()。 瀑布图允许使用一系列问题提示用户获取信息。 瀑布的每个步骤都可以执行其中一个内置 提示,通过调用 session.beginDialog()启动新对话,使用 skip()手动转到瀑布图的下一步,或终止瀑布。

从瀑布步骤调用对话或内置提示时,该对话或提示的结果将通过 results 参数传递到瀑布的下一步。 用户可以说出诸如“别介意”之类的内容来取消内置提示,因此你应该至少在继续操作之前检查 results.response 来防范这一点。 通过查看返回 results 的 代码 确定瀑布继续的原因的更详细说明。恢复。

可以使用传入的 skip() 函数手动转到瀑布的下一步。 使用 skip({ response: "some text" }) 调用 可以更准确地模拟内置提示的结果,并可以简化整个瀑布逻辑。

可以使用调用 skip() 或根本不启动另一个提示或对话,提前终止瀑布图。

注意: 瀑布图具有隐藏的最后一个步骤,如果从上一步调用提示或对话,将自动结束当前对话。 在具有深层对话堆栈,并且希望调用 session.endDialog() 堆栈上最后一个子级来结束整个堆栈,这非常有用。 最后一个子级的关闭将触发其所有父级移动到此隐藏步骤,这将级联在堆栈上一直级联。 这通常是一种所需的行为,但如果你想避免它或将其停止在中间的某个位置,则需要向瀑布末尾添加一个步骤,该步骤不执行任何操作或调用诸如 session.send() 之类的内容, 不会向前推进瀑布。

IDisambiguateChoices

路由选项传递给 Prompts.disambate()。 地图的键应该是要向用户显示的本地化标签,值应该是用户选择时要选择的路线。 你可以为路由传递 null,为用户提供取消选项。

IDisambiguateRouteHandler

传递给 UniversalBot.onDisambiguateRoute()的自定义路由消除歧义逻辑。

IEntity

已识别的实体。

IEvent

从源接收或发送到源的事件。

IEventMiddleware

用于挂钩“receive”或“send”事件的中间件的函数签名。

IFact

卡片上显示的事实,如 收据

IFindActionRouteContext

传递给 ActionSet.findActionRoutes()的上下文。

IFindMatchResult

从对 EntityRecognizer.findBestMatch() 或 EntityRecognizer.findAllMatches()的调用返回的结果。

IFindRoutesHandler

传递给 Library.onFindRoutes()的自定义路由搜索逻辑。

IFirstRunOptions

传递给中间件.firstRun() 的选项。

IIdentity

表示用户、机器人或对话。

IIntent

已识别的意向。

IIntentDialogOptions

用于配置 IntentDialog的选项。

IIntentRecognizer

意向识别器插件(如 LuisRecognizer 类)实现的接口。

IIntentRecognizerResult

意向识别器返回的结果。

IIntentRecognizerSetOptions

用于配置 IntentRecognizerSet的选项。

IIsAttachment

由可转换为附件的类实现。

IIsCardAction

由可转换为卡片操作的类实现。

IIsCardImage

由可转换为卡片图像的类实现。

IIsCardMedia

可转换为卡片媒体的实体

IIsFact

由可转换为事实的类实现。

IIsMessage

由可转换为 IMessage 的类实现,例如 Message 生成器类。

IIsReceiptItem

由可转换为收据项的类实现。

IIsSuggestedActions

由可转换为建议操作的类实现

ILocalizer

用于本地化机器人发送给用户的消息的插件。

ILuisModelMap

要用于 LuisRecognizer 的 LUIS 服务 URL 的按/本地映射。

IMediaCard

通用 MediaCard 的接口定义,其具体形式可以是音频、动画或视频卡

IMediaEventValue

媒体事件的补充参数。

IMessage

在用户和机器人之间发送的聊天消息。 从机器人到用户的消息有两种风格:

  • 反应式消息 是从机器人发送到用户的消息作为用户传入消息的回复。
  • 主动消息 是从机器人发送到用户的消息,以响应某些外部事件(例如警报触发)。

在反应情况下,应将传入邮件中的 地址 字段复制到传出邮件(如果使用 Message builder 类,并在 会话 自动初始化该地址),然后设置 文本附件。 对于主动消息,需要将传入消息中的 地址 保存到某个位置的外部存储。 然后,可以将此项传递给 UniversalBot.beginDialog(),或将其复制到传递给 UniversalBot.send()的传出消息。

默认情况下,使用传入地址对象向用户撰写消息时,会在当前对话的上下文中向用户发送答复。 某些通道允许开始与用户进行新对话。 若要开始与用户进行新的主动对话,只需在撰写传出消息之前,先从地址对象中删除 会话 字段。

IMessageOptions

可发送到提示或 session.say() 等内容的可选消息属性。

IMessageReaction

消息反应对象。

IMessageUpdate

消息的属性已更改。

IMiddlewareMap

可在调用 UniversalBot.use()中注册的中间件挂钩映射。

IOAuthCard

表示 OAuthCard 的接口。 表示通过 OAuth 执行登录请求的卡片

IPagedMembersResult

ChatConnector.getConversationPagedMembers()返回的结果对象。

IPromptArgs

弃用 新的提示系统只是使用 IPromptOptions。

IPromptAttachmentFeatures

PromptAttachment 类的可选功能。

IPromptAttachmentOptions

传递给 Prompts.attachment()session.beginDialog() 调用中基于 PromptAttachment 类自定义提示的选项。

IPromptAttachmentResult

强类型附件提示结果。

IPromptChoiceFeatures

PromptChoice 类的可选功能。

IPromptChoiceOptions

传递给 Prompts.choice() 的选项session.beginDialog() 调用中基于 PromptChoice 类自定义提示。

IPromptChoiceResult

强类型选择提示结果。

IPromptConfirmResult

强类型确认提示结果。

IPromptContext

提示跟踪的上下文信息。 可以通过 session.dialogData在提示中访问此信息。

IPromptFeatures

创建自定义 提示时应启用/禁用的可选功能

IPromptNumberOptions

传递给 Prompts.number()session.beginDialog() 调用中基于 PromptNumber 类自定义提示的选项。

IPromptNumberResult

强类型数字提示结果。

IPromptOptions

传递给 内置提示的选项

IPromptRecognizeChoicesOptions

传递给 PromptRecognizers.recognizeChoices()的选项。

IPromptRecognizeNumbersOptions

传递给 PromptRecognizers.recognizeNumbers()的选项。

IPromptRecognizeTimesOptions

传递给 PromptRecognizers.recognizeTimes()的选项。

IPromptRecognizeValuesOptions

传递给 PromptRecognizers.recognizeValues()的选项。

IPromptRecognizer

自 v3.8 起不再支持弃用。 请改用自定义提示。

IPromptRecognizerArgs

自 v3.8 起不再支持弃用。 请改用自定义提示。

IPromptRecognizerResult

从 IPromptRecognizer 返回的结果。

IPromptResult

系统提示返回的对话框结果。

IPromptTextFeatures

PromptText 类的可选功能。

IPromptTextOptions

传递给 Prompts.text() 或基于 session.beginDialog() 类对自定义提示的 调用中的选项。

IPromptTextResult

强类型文本提示结果。

IPromptTimeResult

强类型时间提示结果。

IPromptsOptions

自 v3.8 起不再支持弃用。 请改用自定义提示。

IReceiptCard

向用户显示他们购买或计划购买的内容的丰富收据。

IReceiptItem

收据中的单个项目

IRecognizeContext

传递给各种识别方法的接收消息的上下文。

IRecognizeDialogContext

传递给 Dialog.recognize()的上下文。

IRecognizeResult

调用 recognize() 函数的结果。 该实现可以自由地将任何其他属性添加到结果中。

IRegExpMap

要用于 RegExpRecognizer 的正则表达式的按/本地映射。

IRouteResult

Library.findRoutes()返回的候选路由。

ISelectRouteHandler

传递给 Library.onSelectRoute()的自定义路由搜索逻辑。

ISemanticAction

表示对编程操作的引用。

ISessionMiddleware

用于挂钩“botbuilder”事件的中间件的函数签名。

ISessionOptions

传递给会话构造函数的选项。

ISessionState

用于跟踪对话对话堆栈的持久会话状态。

ISigninCard

向用户显示登录卡和按钮。 某些通道可以选择将此呈现为文本提示并链接到单击。

ISourceEventMap

要发送的自定义事件数据的按/源映射。

IStartConversationAddress

可以使用地址传入到 UniversalBot.beginDialog()的其他属性。

ISuggestedActions

要发送给用户的建议操作,并显示为快速答复。 建议的操作仅显示在支持建议操作的通道上。

ITextHighlight

表示 TextHighlight 的接口。 指另一个字段中的内容子字符串。

IThumbnailCard

使用较小的缩略图布局或较大的主图布局向用户显示卡片(附件 contentType 确定哪些内容)。 所有卡片字段都是可选的,因此此卡可用于指定某些通道上的键盘等内容。 某些通道可以选择呈现低保真度版本的卡或使用备用表示形式。

ITokenResponse

表示 TokenResponse 的接口。 包含用户令牌的响应

ITranscript

表示历史活动的接口。

ITriggerActionOptions

定义 triggerAction()时传递的选项。

IUniversalBotSettings

用于初始化 UniversalBot 实例的选项。

IVideoCard

视频卡的接口定义

IWatchableHandler

用于检索受监视变量值的函数。 传递给 Session.watchable()

类型别名

AttachmentType

某些方法可以采用 JSON 形式的 IAttachment,也可以采用实现 IIsAttachment的各种卡片生成器类。

MatchType

用于匹配用户话语的支持规则。

  • {RegExp} - 正则表达式将用于匹配用户话语。
  • {string} - 从识别器返回的命名意向将用于匹配用户话语。
  • {(RegExp|string)[]} - 可以通过多种方式传递正则表达式或命名意向数组,以匹配用户话语。 生成最高分数(最佳匹配)的规则将用于评分目的。
MessageType

可发送给用户的基于消息的提示。

  • {IMessage} - 发送使用 JSON 表示的用户的消息。 邮件可以包含附件和建议的操作。 并非所有通道本机都支持所有消息属性,但大多数通道将呈现不受支持的字段。
  • {IIsMessage} - Message 生成器类的实例。 此类有助于本地化邮件,并提供帮助程序来帮助设置邮件的文本部分的格式。
TextOrMessageType

可发送给用户的可能提示的灵活范围。

  • {string} - 发送用户的简单消息。
  • {string[]} - 发送用户可能的消息数组。 随机选择一个。
  • {IMessage} - 发送使用 JSON 表示的用户的消息。 邮件可以包含附件和建议的操作。 并非所有通道本机都支持所有消息属性,但大多数通道将呈现不受支持的字段。
  • {IIsMessage} - Message 生成器类的实例。 此类有助于本地化邮件,并提供帮助程序来帮助设置邮件的文本部分的格式。
TextType

可发送给用户的基于文本的提示。

  • {string} - 发送用户的简单消息。
  • {string[]} - 发送用户可能的消息数组。 随机选择一个。
ValueListType

文本值列表。 这些值可以表示为管道分隔的字符串,例如“value1|value2|value3”或简单的值数组。

枚举

ListStyle

要呈现 PromptType.choice 提示符的列表的类型。

PromptType

调用的提示类型。

RecognizeMode

控制 IntentDialogs 处理用户文本话语。

RecognizeOrder

应计算 IntentDialogs 识别器的顺序。

ResumeReason

恢复对话框的原因代码。