botbuilder-dialogs package

ChoiceFactory

一组实用工具函数,可帮助设置包含选项列表的“message”活动的格式。

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

地图 @@ => turn.recognized.entitites.xxx 数组。

AtPathResolver

Maps @@ => turn.recognized.entitites.xxx[0]

DollarPathResolver

地图$xxx => dialog.xxx

HashPathResolver

地图 #xxx => turn.recognized.intents.xxx

PercentPathResolver

地图 %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

DialogContextMemoryScope 映射“dialogcontext”-> 属性。

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

传入 WaterfallStep的上下文对象。

接口

BeginSkillDialogOptions

包含 SkillDialog 对话参数的类。

ChoiceFactoryOptions

用于调整选择列表格式的其他选项。

Choice

可用于向用户呈现选项或识别用户选取的内容的选项的实例。

FindChoicesOptions

用于控制 findChoices()执行的识别的选项。

FoundChoice

findChoices()返回的结果。

FindValuesOptions

用于控制用户话语中如何识别选项的基本搜索选项。

FoundValue

内部:findValues()返回的原始搜索结果。

SortedValue

内部:可以排序的值,但仍引用其源数组中的原始位置。 findChoices() 函数将传入的选项扩展到单个 SortedValue 实例,并将其传递给 findValues()。 每个单独的 Choice 都可能导致多个应搜索的同义词,因此此数据结构允许我们传递每个同义词作为值进行搜索,同时维护所选值的索引。

ModelResult

实体识别器(如 recognizeChoices())返回的外部结果。

Token

TokenizerFunction返回的单个令牌。

Converter

转换器将对象从一种类型转换为另一种类型。

DialogConfiguration
DialogEvent
DialogInstance

包含堆栈上对话框实例的状态信息。

DialogTurnResult

表示对话上下文尝试开始、继续或其他操作一个或多个对话的结果。

DialogState

包含特定 DialogSet的对话状态、有关对话堆栈状态的信息。

DialogManagerConfiguration
DialogManagerResult
DialogDependencies
ComponentMemoryScopes

用于枚举内存范围的接口。

ComponentPathResolvers

声明路径解析程序的接口。

DialogStateManagerConfiguration
PathResolver

版权(c) Microsoft公司。 保留所有权利。 根据 MIT 许可证获得许可。

ChoiceDefaultsChoicePrompt
ChoiceDefaultsConfirmPrompt
DateTimeResolution

DateTimePrompt返回的结果。

OAuthPromptSettings

用于配置 OAuthPrompt 实例的设置。

PromptOptions

所有提示支持的基本配置选项。

PromptRecognizerResult

提示识别器函数返回的结果。

PromptValidatorContext

传递给自定义 PromptValidator的上下文信息。

PromptCultureModel
RecognizerConfiguration
SkillDialogOptions
TemplateInterface

定义用于将数据绑定到 T 的模板接口。

WaterfallStepInfo

传递给 WaterfallStepContext 构造函数的值。

类型别名

TokenizerFunction

可传递给 recognizeChoices()findChoices()findValues()的备用断字符的签名。

type TokenizerFunction = (text: string, locale?: string) => Token[];
ConverterFactory
PromptValidator

用于提供自定义提示验证器的函数签名。

type PromptValidator<T> = (prompt: PromptValidatorContext<T>) => Promise<boolean>;
WaterfallStep

单个瀑布步骤的函数签名。

type WaterfallStep<O extends object = {}> = (step: WaterfallStepContext<O>) => Promise<DialogTurnResult>;

枚举

DialogReason

指示调用对话方法的原因。

DialogTurnStatus

表示对话上下文尝试开始、继续或操作一个或多个对话后对话堆栈的状态。 另请参阅

ListStyle

控制向用户显示 ChoicePromptConfirmPrompt 选项或“是/否”选项的方式。

函数

findChoices(string, string | Choice[], FindChoicesOptions)

用于识别话语中选项的中级搜索函数。

findValues(string, SortedValue[], FindValuesOptions)

内部:低级别函数,用于搜索话语中的一组值。 更高级别的函数(如 findChoices()recognizeChoices())分层在此函数之上。 在大多数情况下,只需调用较高级别的函数之一,但此函数包含驱动选择识别的模糊搜索算法。

recognizeChoices(string, string | Choice[], FindChoicesOptions)

用于识别用户话语中的选项的高级函数。

defaultTokenizer(string, string)

在空格和标点符号上中断的简单标记器。

getActiveDialogContext(DialogContext)

以递归方式向上走 DC 堆栈以查找活动 DC。

internalRun(TurnContext, string, DialogContext, DialogStateManagerConfiguration)
isFromParentToSkill(TurnContext)

确定技能是否充当技能父级。

runDialog(Dialog, TurnContext, StatePropertyAccessor<DialogState>)

从给定上下文和访问器运行对话。

shouldSendEndOfConversationToParent(TurnContext, DialogTurnResult)

帮助程序确定我们是否应向父级发送 EoC。

isComponentMemoryScopes(unknown)

检查 ComponentRegistration 是否 ComponentMemoryScopes

isComponentPathResolvers(unknown)

检查 ComponentRegistration 是否 ComponentPathResolvers

createConnectorClient(TurnContext, string, ClaimsIdentity, string)
exchangeToken(TurnContext, OAuthPromptSettings, TokenExchangeRequest)
getSignInResource(TurnContext, OAuthPromptSettings)
getUserToken(TurnContext, OAuthPromptSettings, string)
signOutUser(TurnContext, OAuthPromptSettings)

函数详细信息

findChoices(string, string | Choice[], FindChoicesOptions)

用于识别话语中选项的中级搜索函数。

function findChoices(utterance: string, choices: string | Choice[], options?: FindChoicesOptions): ModelResult<FoundChoice>[]

参数

utterance

string

要搜索的文本或用户话语。 对于传入的“消息”活动,只需使用 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)

内部:低级别函数,用于搜索话语中的一组值。 更高级别的函数(如 findChoices()recognizeChoices())分层在此函数之上。 在大多数情况下,只需调用较高级别的函数之一,但此函数包含驱动选择识别的模糊搜索算法。

function findValues(utterance: string, values: SortedValue[], options?: FindValuesOptions): ModelResult<FoundValue>[]

参数

utterance

string

要搜索的文本或用户话语。

values

SortedValue[]

要搜索的值列表。

options
FindValuesOptions

(可选)用于调整执行的搜索的选项。

返回

找到的值的列表。

recognizeChoices(string, string | Choice[], FindChoicesOptions)

用于识别用户话语中的选项的高级函数。

function recognizeChoices(utterance: string, choices: string | Choice[], options?: FindChoicesOptions): ModelResult<FoundChoice>[]

参数

utterance

string

要搜索的文本或用户话语。 对于传入的“消息”活动,只需使用 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)

在空格和标点符号上中断的简单标记器。

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)用于与用户的当前对话轮次。

返回

Active 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>

参数

dialog
Dialog

要运行的 对话框

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

tokenExchangeRequest

TokenExchangeRequest

返回

Promise<TokenResponse>

getSignInResource(TurnContext, OAuthPromptSettings)

function getSignInResource(context: TurnContext, settings: OAuthPromptSettings): Promise<SignInUrlResponse>

参数

context

TurnContext

返回

Promise<SignInUrlResponse>

getUserToken(TurnContext, OAuthPromptSettings, string)

function getUserToken(context: TurnContext, settings: OAuthPromptSettings, magicCode: string): Promise<TokenResponse>

参数

context

TurnContext

magicCode

string

返回

Promise<TokenResponse>

signOutUser(TurnContext, OAuthPromptSettings)

function signOutUser(context: TurnContext, settings: OAuthPromptSettings): Promise<void>

参数

context

TurnContext

返回

Promise<void>