Поделиться через


botbuilder-dialogs package

Классы

ChoiceFactory

Набор служебных функций, помогающих в форматировании действия message, содержащего список вариантов.

ComponentDialog

Базовый класс для диалога, содержащего другие дочерние диалоги.

Configurable

Базовый класс для всех настраиваемых классов.

Dialog

Определяет основное поведение для всех диалогов.

DialogContainer

Контейнер для набора диалогов.

DialogContext

Контекст для текущего поворота диалогового окна относительно определенного DialogSet.

DialogContextError

Ошибка, которая включает дополнительный контекст диалога, включая стек диалогов.

DialogEvents

Представляет события, связанные с жизненным циклом диалогового окна.

DialogManager

Класс, запускающий диалоговую систему.

DialogSet

Связанный набор диалогов, которые могут вызывать друг друга.

DialogTurnStateConstants

Определяет константы состояния поворота диалога.

DialogsBotComponent

Компонент бота для диалогов бота.

DialogsComponentRegistration

Делает компонент диалогов доступным для системных функций регистрации.

DialogPath

Определяет путь для доступных диалоговых окон.

DialogStateManager

DialogStateManager управляет областями памяти и сопоставителями путей.

AliasPathResolver

Сопоставляет псевдонимXXXX —> 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 сопоставляет "класс" —> dc.activeDialog.properties

ConversationMemoryScope

Память, ограниченная текущим диалогом.

DialogClassMemoryScope

DialogClassMemoryScope сопоставляет "dialogClass" —> dc.parent.activeDialog.properties

DialogContextMemoryScope

DialogContextMemoryScope maps 'dialogcontext' —> свойства.

DialogMemoryScope

DialogMemoryScope сопоставляет "dialog" —> dc.parent.activeDialog.state || dc.activeDialog.state

MemoryScope

Абстрактный базовый класс для всех областей памяти.

SettingsMemoryScope

SettingsMemoryScope maps "settings" -> dc.context.turnState['settings']

ThisMemoryScope

ThisMemoryScope сопоставляет "this" —> dc.activeDialog.state

TurnMemoryScope

TurnMemoryScope представляет память, ограниченную текущим поворачиванием.

UserMemoryScope

Память, ограниченная текущим пользователем.

ThisPath

Определяет путь, передаваемый активному диалогу.

TurnPath

Определяет путь для доступных поворотов.

ActivityPrompt

Ожидает получения действия.

AttachmentPrompt

Предлагает пользователю отправить вложения, например изображения.

ChoicePrompt

Предлагает пользователю выбрать вариант из списка вариантов.

ConfirmPrompt

Запрашивает у пользователя подтверждение с ответом "да" или "нет".

DateTimePrompt

Предлагает пользователю ввести выражение datetime.

NumberPrompt

Предлагает пользователю ввести число.

OAuthPrompt

Создает новый запрос, предлагающий пользователю выполнить вход с помощью службы единого входа Bot Frameworks.

Prompt

Базовый класс для всех запросов.

PromptCultureModels

Контейнер классов для поддерживаемых в настоящее время моделей языка и региональных параметров в запросе на подтверждение и выбор.

TextPrompt

Предлагает пользователю ввести текст.

Recognizer

Базовый класс Распознавателя.

SkillDialog

Специализированный диалог, который может переносить удаленные вызовы навыка.

WaterfallDialog

Каскад — это диалоговое окно, оптимизированное для запроса пользователю ряда вопросов.

WaterfallStepContext

Объект контекста WaterfallStepпередается в объект .

Интерфейсы

BeginSkillDialogOptions

Класс с аргументами диалога для SkillDialog.

ChoiceFactoryOptions

Дополнительные параметры, используемые для настройки форматирования списков выбора.

Choice

Экземпляр выбора, который можно использовать для отображения выбора пользователю или распознавания выбранного пользователем.

FindChoicesOptions

Параметры для управления распознаванием, выполняемым findChoices().

FoundChoice

Результат, возвращаемый .findChoices()

FindValuesOptions

Базовые параметры поиска, используемые для управления распознаванием вариантов в речевых фрагментах пользователей.

FoundValue

INTERNAL: необработанный результат поиска, возвращаемый .findValues()

SortedValue

INTERNAL: значение, которое можно отсортировать и по-прежнему ссылаться на исходное положение в исходном массиве. Функция findChoices() расширяет переданные варианты для отдельных SortedValue экземпляров и передает их в findValues(). Каждый человек Choice может привести к нескольким синонимам, которые следует искать, поэтому эта структура данных позволяет передавать каждый синоним в качестве значения для поиска, сохраняя индекс выбора, из чего поступило значение.

ModelResult

Внешний результат, возвращаемый распознавателем сущностей, например recognizeChoices().

Token

Отдельный маркер, возвращаемый TokenizerFunction.

Converter

Преобразователь преобразует объект из одного типа в другой.

DialogConfiguration
DialogEvent
DialogInstance

Содержит сведения о состоянии для экземпляра диалогового окна в стеке.

DialogTurnResult

Представляет результат попытки контекста диалога начать, продолжить или иным образом управлять одним или несколькими диалогами.

DialogState

Содержит состояние диалога, сведения о состоянии стека диалогов для определенного dialogSet.

DialogManagerConfiguration
DialogManagerResult
DialogDependencies
ComponentMemoryScopes

Интерфейс для перечисления областей памяти.

ComponentPathResolvers

Интерфейс для объявления сопоставителей путей.

DialogStateManagerConfiguration
PathResolver

(c) Корпорация Майкрософт (Microsoft Corporation). Все права защищены Все права защищены. Лицензировано с задействованием лицензии 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

Управляет способом представления пользователю вариантов ChoicePrompt или вариантов ConfirmPrompt "да/нет".

Функции

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

Функция поиска среднего уровня для распознавания выбора в высказывании.

findValues(string, SortedValue[], FindValuesOptions)

INTERNAL: низкоуровневая функция, которая ищет набор значений в речевом фрагменте. Функции более высокого уровня, такие как findChoices() и recognizeChoices() , размещаются над этой функцией. В большинстве случаев проще просто вызвать одну из функций более высокого уровня, но эта функция содержит алгоритм нечеткого поиска, который управляет распознаванием выбора.

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

Функция высокого уровня для распознавания выбора в речевых фрагментах пользователей.

defaultTokenizer(string, string)

Простой создатель маркеров, который разбивается на пробелы и знаки препинания.

getActiveDialogContext(DialogContext)

Рекурсивно подойдите к стеку контроллера домена, чтобы найти активный контроллер домена.

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)

INTERNAL: низкоуровневая функция, которая ищет набор значений в речевом фрагменте. Функции более высокого уровня, такие как 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[]

Список токенов.

Комментарии

Единственная нормализация выполняется в нижнем регистре маркеров. Разработчики могут упаковать этот создатель маркеров в свою собственную функцию, чтобы выполнить дополнительную нормализацию, такую как фильтрация.

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)

Рекурсивно подойдите к стеку контроллера домена, чтобы найти активный контроллер домена.

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

Идентификатор диалогового окна.

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

Значение true, если должен отправляться EoC, в противном случае — 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>