botbuilder-dialogs package
类
ChoiceFactory |
一组实用工具函数,用于帮助设置包含选项列表的“消息”活动的格式。 |
ComponentDialog |
包含其他子对话的对话的基类。 |
Configurable |
所有可配置类的基类。 |
Dialog |
定义所有对话的核心行为。 |
DialogContainer |
一组对话框的容器。 |
DialogContext |
与特定 DialogSet 相关的当前对话轮次的上下文。 |
DialogContextError |
包含额外对话上下文(包括对话堆栈)的错误。 |
DialogEvents |
表示与对话的“生命周期”相关的事件。 |
DialogManager |
运行对话系统的类。 |
DialogSet |
可以相互调用的一组相关对话。 |
DialogTurnStateConstants |
定义对话轮次状态常量。 |
DialogsBotComponent |
机器人对话的机器人组件。 |
DialogsComponentRegistration |
使对话框组件可用于系统注册功能。 |
DialogPath |
定义可用对话的路径。 |
DialogStateManager |
DialogStateManager 管理内存作用域和路径解析程序。 |
AliasPathResolver |
Maps aliasXXX -> path.xxx ($foo => dialog.foo) 。 |
AtAtPathResolver |
Maps @@ => turn.recognized.entitites.xxx 数组。 |
AtPathResolver |
Maps @@ => turn.recognized.entitites.xxx[0] |
DollarPathResolver |
Maps $xxx => dialog.xxx |
HashPathResolver |
Maps #xxx => turn.recognized.intents.xxx |
PercentPathResolver |
Maps %xxx => class.xxx (aka activeDialog.properties.xxx) |
ScopePath |
定义可用范围的路径。 |
BotStateMemoryScope |
基于 BotState 的内存范围的基类。 |
ClassMemoryScope |
ClassMemoryScope 映射“class” -> dc.activeDialog.properties |
ConversationMemoryScope |
范围限定为当前会话的内存。 |
DialogClassMemoryScope |
DialogClassMemoryScope 映射“dialogClass” -> dc.parent.activeDialog.properties |
DialogContextMemoryScope |
|
DialogMemoryScope |
DialogMemoryScope 映射“dialog”-> dc.parent.activeDialog.state || dc.activeDialog.state |
MemoryScope |
所有内存范围的抽象基类。 |
SettingsMemoryScope |
SettingsMemoryScope 映射“settings” -> dc.context.turnState['settings'] |
ThisMemoryScope |
ThisMemoryScope 映射“this” -> dc.activeDialog.state |
TurnMemoryScope |
TurnMemoryScope 表示作用域为当前轮次的内存。 |
UserMemoryScope |
作用域为当前用户的内存。 |
ThisPath |
定义传递到活动对话的路径。 |
TurnPath |
定义可执行轮次的路径。 |
ActivityPrompt |
等待收到活动。 |
AttachmentPrompt |
提示用户上传图像等附件。 |
ChoicePrompt |
提示用户从选项列表中选择。 |
ConfirmPrompt |
提示用户使用“是”或“否”响应确认某些内容。 |
DateTimePrompt |
提示用户输入日期/时间表达式。 |
NumberPrompt |
提示用户输入数字。 |
OAuthPrompt |
创建一个新提示,要求用户使用 Bot Frameworks 单一登录 (SSO) 服务登录。 |
Prompt |
所有提示的基类。 |
PromptCultureModels |
确认和选择提示中当前支持的区域性模型的类容器。 |
TextPrompt |
提示用户输入一些文本。 |
Recognizer |
识别器基类。 |
SkillDialog |
一个专用对话,可以包装对技能的远程调用。 |
WaterfallDialog |
瀑布式对话是经过优化的对话框,可提示用户提出一系列问题。 |
WaterfallStepContext |
传入到 的 |
接口
BeginSkillDialogOptions |
具有 SkillDialog 的对话框参数的类。 |
ChoiceFactoryOptions |
用于调整选项列表格式的其他选项。 |
Choice |
选项的实例,可用于向用户呈现选择或识别用户选取的内容。 |
FindChoicesOptions |
用于控制 由 执行的识别的选项 |
FoundChoice |
返回 |
FindValuesOptions |
用于控制在用户话语中识别选项的方式的基本搜索选项。 |
FoundValue |
INTERNAL:返回 |
SortedValue |
INTERNAL:一个值,可进行排序,但仍引用其原始位置在源数组中。 函数 |
ModelResult |
实体识别器(如 |
Token |
返回 |
Converter |
转换器将对象从一种类型转换为另一种类型。 |
DialogConfiguration | |
DialogEvent | |
DialogInstance |
包含堆栈上对话实例的状态信息。 |
DialogTurnResult |
表示对话上下文尝试开始、继续或以其他方式操作一个或多个对话的结果。 |
DialogState |
包含特定 DialogSet 的对话框状态(有关对话堆栈状态的信息)。 |
DialogManagerConfiguration | |
DialogManagerResult | |
DialogDependencies | |
ComponentMemoryScopes |
用于枚举内存范围的接口。 |
ComponentPathResolvers |
用于声明路径解析程序的接口。 |
DialogStateManagerConfiguration | |
PathResolver |
版权所有 (c) Microsoft Corporation。 保留所有权利。 根据 MIT 许可证获得许可。 |
ChoiceDefaultsChoicePrompt | |
ChoiceDefaultsConfirmPrompt | |
DateTimeResolution |
返回 |
OAuthPromptSettings |
用于配置实例的设置 |
PromptOptions |
所有提示都支持的基本配置选项。 |
PromptRecognizerResult |
提示识别器函数返回的结果。 |
PromptValidatorContext |
传递给自定义 |
PromptCultureModel | |
RecognizerConfiguration | |
SkillDialogOptions | |
TemplateInterface |
定义用于将数据绑定到 T 的模板接口。 |
WaterfallStepInfo |
传递给构造函数的值 |
类型别名
TokenizerFunction |
可传递给
|
ConverterFactory | |
PromptValidator |
用于提供自定义提示验证器的函数签名。
|
WaterfallStep |
单个瀑布步骤的函数签名。
|
枚举
DialogReason |
指示调用对话方法的原因。 |
DialogTurnStatus |
表示对话上下文尝试开始、继续或以其他方式操作一个或多个对话后对话堆栈的状态。 另请参阅 |
ListStyle |
控制向用户显示 或 是/否 选项 |
函数
函数详细信息
findChoices(string, string | Choice[], FindChoicesOptions)
用于识别话语中的选择的中级搜索函数。
function findChoices(utterance: string, choices: string | Choice[], options?: FindChoicesOptions): ModelResult<FoundChoice>[]
参数
- utterance
-
string
要搜索的文本或用户话语。 对于传入的“message”活动,只需使用 context.activity.text
即可。
- choices
-
string | Choice[]
要搜索的选项列表。
- options
- FindChoicesOptions
(用于调整所执行的搜索的可选) 选项。
返回
找到的选项的列表,按最相关的第一个排序。
注解
此函数分层在上面 findValues()
,只需确定在调用 findValues()
以执行实际搜索之前应搜索的所有同义词。 函数 recognizeChoices()
分层在此函数之上,并添加了按索引或列表中的序号位置选择选项的功能。 如果不希望通过 recognizeChoices()
执行索引和序号位置识别,则调用此特定函数非常有用。
const { findChoices } = require('botbuilder-choices');
const choices = ['red', 'green', 'blue'];
const utterance = context.activity.text;
const results = findChoices(utterance, choices);
if (results.length == 1) {
await context.sendActivity(`I like ${results[0].resolution.value} too!`);
} else if (results.length > 1) {
const ambiguous = results.map((r) => r.resolution.value);
await context.sendActivity(ChoiceFactory.forChannel(context, ambiguous, `Which one?`));
} else {
await context.sendActivity(ChoiceFactory.forChannel(context, choices, `I didn't get that... Which color?`));
}
findValues(string, SortedValue[], FindValuesOptions)
INTERNAL:低级别函数,用于搜索话语中的一组值。 更高级别的函数(如 findChoices()
和 recognizeChoices()
)在此函数之上分层。 在大多数情况下,它更容易只调用一个更高级别的函数,但此函数包含推动选择识别的模糊搜索算法。
function findValues(utterance: string, values: SortedValue[], options?: FindValuesOptions): ModelResult<FoundValue>[]
参数
- utterance
-
string
要搜索的文本或用户话语。
- values
要搜索的值的列表。
- options
- FindValuesOptions
(用于调整所执行的搜索的可选) 选项。
返回
找到的值的列表。
recognizeChoices(string, string | Choice[], FindChoicesOptions)
用于识别用户话语中的选择的高级函数。
function recognizeChoices(utterance: string, choices: string | Choice[], options?: FindChoicesOptions): ModelResult<FoundChoice>[]
参数
- utterance
-
string
要搜索的文本或用户话语。 对于传入的“message”活动,只需使用 context.activity.text
即可。
- choices
-
string | Choice[]
要搜索的选项列表。
- options
- FindChoicesOptions
(用于调整所执行的搜索的可选) 选项。
返回
找到的选项的列表,按最相关的第一个排序。
注解
这在 函数之上 findChoices()
分层,并添加了逻辑,让用户按索引 (可以说出“一个”来选取 choice[0]
) 或序号位置, (他们可以说出“第二个”来选取 choice[1]
。) 按以下顺序识别用户话语:
- 使用
findChoices()
按名称。 - 按 1 的基于序号位置。
- 按 1 的基于索引位置。
const { recognizeChoices } = require('botbuilder-choices');
const choices = ['red', 'green', 'blue'];
const utterance = context.activity.text;
const results = recognizeChoices(utterance, choices);
if (results.length == 1) {
await context.sendActivity(`I like ${results[0].resolution.value} too!`);
} else if (results.length > 1) {
const ambiguous = results.map((r) => r.resolution.value);
await context.sendActivity(ChoiceFactory.forChannel(context, ambiguous, `Which one?`));
} else {
await context.sendActivity(ChoiceFactory.forChannel(context, choices, `I didn't get that... Which color?`));
}
defaultTokenizer(string, string)
在空格和标点符号上中断的简单 tokenizer。
function defaultTokenizer(text: string, _locale?: string): Token[]
参数
- text
-
string
输入文本。
- _locale
-
string
可选,用于标识输入文本的区域设置。
返回
Token[]
标记列表。
注解
唯一的规范化是标记小写。 开发人员可以使用自己的函数包装此 tokenizer,以执行其他规范化,例如 词干化。
const { recognizeChoices, defaultTokenizer } = require('botbuilder-choices');
const stemmer = require('stemmer');
function customTokenizer(text, locale) {
const tokens = defaultTokenizer(text, locale);
tokens.forEach((t) => {
t.normalized = stemmer(t.normalized);
});
return tokens;
}
const choices = ['red', 'green', 'blue'];
const utterance = context.activity.text;
const results = recognizeChoices(utterance, choices, { tokenizer: customTokenizer });
getActiveDialogContext(DialogContext)
以递归方式向上遍进 DC 堆栈以查找活动 DC。
function getActiveDialogContext(dialogContext: DialogContext): DialogContext
参数
- dialogContext
- DialogContext
(xref:botbuilder-dialogs。DialogContext) 当前轮次与用户的对话。
返回
活动 DialogContext。
internalRun(TurnContext, string, DialogContext, DialogStateManagerConfiguration)
function internalRun(context: TurnContext, dialogId: string, dialogContext: DialogContext, dialogStateManagerConfiguration?: DialogStateManagerConfiguration): Promise<DialogTurnResult>
参数
- context
-
TurnContext
轮次的 TurnContext 。
- dialogId
-
string
对话框 ID。
- dialogContext
- DialogContext
当前会话轮次的 DialogContext 。
- dialogStateManagerConfiguration
- DialogStateManagerConfiguration
对话框状态管理器的配置。
返回
Promise<DialogTurnResult>
解析为对话轮次结果的承诺。
isFromParentToSkill(TurnContext)
确定技能是否充当技能父级。
function isFromParentToSkill(context: TurnContext): boolean
参数
- context
-
TurnContext
(xref:botbuilder-core。TurnContext) 与用户当前轮次聊天的对象。
返回
boolean
一个布尔值,表示技能是否充当技能父级。
runDialog(Dialog, TurnContext, StatePropertyAccessor<DialogState>)
从给定上下文和访问器运行对话。
function runDialog(dialog: Dialog, context: TurnContext, accessor: StatePropertyAccessor<DialogState>): Promise<void>
参数
- context
-
TurnContext
(xref:botbuilder-core。TurnContext) 与用户当前轮次聊天的对象。
- accessor
-
StatePropertyAccessor<DialogState>
用于访问 BotState 对象中创建的状态属性的已定义方法。
返回
Promise<void>
shouldSendEndOfConversationToParent(TurnContext, DialogTurnResult)
用于确定是否应向父级发送 EoC 的帮助程序。
function shouldSendEndOfConversationToParent(context: TurnContext, turnResult: DialogTurnResult): boolean
参数
- context
-
TurnContext
轮次的 TurnContext 。
- turnResult
- DialogTurnResult
对话框轮次结果。
返回
boolean
如果应发送 EoC,则为 True,否则为 false。
isComponentMemoryScopes(unknown)
检查 ComponentRegistration 是否为 ComponentMemoryScopes 。
function isComponentMemoryScopes(component: unknown): boolean
参数
- component
-
unknown
组件注册。
返回
boolean
键入检查结果。
isComponentPathResolvers(unknown)
检查 ComponentRegistration 是否为 ComponentPathResolvers 。
function isComponentPathResolvers(component: unknown): boolean
参数
- component
-
unknown
组件注册。
返回
boolean
键入检查结果。
createConnectorClient(TurnContext, string, ClaimsIdentity, string)
function createConnectorClient(context: TurnContext, serviceUrl: string, claimsIdentity: ClaimsIdentity, audience: string): Promise<ConnectorClient>
参数
- context
-
TurnContext
- serviceUrl
-
string
- claimsIdentity
-
ClaimsIdentity
- audience
-
string
返回
Promise<ConnectorClient>
exchangeToken(TurnContext, OAuthPromptSettings, TokenExchangeRequest)
function exchangeToken(context: TurnContext, settings: OAuthPromptSettings, tokenExchangeRequest: TokenExchangeRequest): Promise<TokenResponse>
参数
- context
-
TurnContext
- settings
- OAuthPromptSettings
- tokenExchangeRequest
-
TokenExchangeRequest
返回
Promise<TokenResponse>
getSignInResource(TurnContext, OAuthPromptSettings)
function getSignInResource(context: TurnContext, settings: OAuthPromptSettings): Promise<SignInUrlResponse>
参数
- context
-
TurnContext
- settings
- OAuthPromptSettings
返回
Promise<SignInUrlResponse>
getUserToken(TurnContext, OAuthPromptSettings, string)
function getUserToken(context: TurnContext, settings: OAuthPromptSettings, magicCode: string): Promise<TokenResponse>
参数
- context
-
TurnContext
- settings
- OAuthPromptSettings
- magicCode
-
string
返回
Promise<TokenResponse>
signOutUser(TurnContext, OAuthPromptSettings)
function signOutUser(context: TurnContext, settings: OAuthPromptSettings): Promise<void>
参数
- context
-
TurnContext
- settings
- OAuthPromptSettings
返回
Promise<void>