Compartilhar via


botbuilder-dialogs package

Classes

ChoiceFactory

Um conjunto de funções de utilitário para ajudar na formatação de uma atividade de "mensagem" que contém uma lista de opções.

ComponentDialog

Classe base para uma caixa de diálogo que contém outras caixas de diálogo filho.

Configurable

Classe base para todas as classes configuráveis.

Dialog

Define o comportamento principal para todas as caixas de diálogo.

DialogContainer

Um contêiner para um conjunto de caixas de diálogo.

DialogContext

O contexto para a caixa de diálogo atual se volta em relação a um Conjunto de Diálogos específico.

DialogContextError

Um Erro que inclui contexto de caixa de diálogo extra, incluindo a pilha de diálogos.

DialogEvents

Representa os eventos relacionados ao "ciclo de vida" da caixa de diálogo.

DialogManager

Classe que executa o sistema de diálogo.

DialogSet

Um conjunto relacionado de caixas de diálogo que podem chamar uns aos outros.

DialogTurnStateConstants

Define constantes de estado de ativação da caixa de diálogo.

DialogsBotComponent

Componente de bot para caixas de diálogo de bot.

DialogsComponentRegistration

Disponibiliza o componente de caixas de diálogo para a funcionalidade de registro do sistema.

DialogPath

Define o caminho para caixas de diálogo disponíveis.

DialogStateManager

O DialogStateManager gerencia escopos de memória e resolvedores de caminho.

AliasPathResolver

Mapas aliasXXX -> path.xxx ($foo => dialog.foo).

AtAtPathResolver

Mapas @@ => turn.recognized.entitites.xxx matriz.

AtPathResolver

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

DollarPathResolver

Mapas $xxx => dialog.xxx

HashPathResolver

Mapas #xxx => turn.recognized.intents.xxx

PercentPathResolver

Mapas %xxx => class.xxx (também conhecido como activeDialog.properties.xxx)

ScopePath

Define caminhos para os escopos disponíveis.

BotStateMemoryScope

Classe base para escopos de memória com base em BotState.

ClassMemoryScope

ClassMemoryScope mapeia "class" –> dc.activeDialog.properties

ConversationMemoryScope

Memória com escopo para a conversa atual.

DialogClassMemoryScope

DialogClassMemoryScope mapeia "dialogClass" –> dc.parent.activeDialog.properties

DialogContextMemoryScope

DialogContextMemoryScope mapeia 'dialogcontext' –> propriedades.

DialogMemoryScope

DialogMemoryScope mapeia "dialog" –> dc.parent.activeDialog.state || dc.activeDialog.state

MemoryScope

Classe base abstrata para todos os escopos de memória.

SettingsMemoryScope

SettingsMemoryScope mapeia "settings" –> dc.context.turnState['settings']

ThisMemoryScope

ThisMemoryScope mapeia "this" –> dc.activeDialog.state

TurnMemoryScope

TurnMemoryScope representa a memória com escopo para a curva atual.

UserMemoryScope

Memória com escopo para o usuário atual.

ThisPath

Define o caminho passado para a caixa de diálogo ativa.

TurnPath

Define o caminho para turnos disponíveis.

ActivityPrompt

Aguarda o recebimento de uma atividade.

AttachmentPrompt

Solicita que um usuário carregue anexos como imagens.

ChoicePrompt

Solicita que um usuário selecione em uma lista de opções.

ConfirmPrompt

Solicita que um usuário confirme algo com uma resposta "sim" ou "não".

DateTimePrompt

Solicita que um usuário insira uma expressão datetime.

NumberPrompt

Solicita que um usuário insira um número.

OAuthPrompt

Cria um novo prompt que solicita que o usuário entre usando o serviço SSO (Logon Único) do Bot Frameworks.

Prompt

Classe base para todos os prompts.

PromptCultureModels

Contêiner de classe para modelos de cultura com suporte no momento no Prompt de Confirmação e Escolha.

TextPrompt

Solicita que um usuário insira algum texto.

Recognizer

Classe base do reconhecedor.

SkillDialog

Uma caixa de diálogo especializada que pode encapsular chamadas remotas para uma habilidade.

WaterfallDialog

Uma cascata é uma caixa de diálogo otimizada para solicitar a um usuário uma série de perguntas.

WaterfallStepContext

Objeto de contexto passado para um WaterfallStep.

Interfaces

BeginSkillDialogOptions

Uma classe com argumentos de caixa de diálogo para um SkillDialog.

ChoiceFactoryOptions

Opções adicionais usadas para ajustar a formatação das listas de escolha.

Choice

Uma instância de uma escolha que pode ser usada para renderizar uma escolha para um usuário ou reconhecer algo que um usuário escolheu.

FindChoicesOptions

Opções para controlar o reconhecimento executado por findChoices().

FoundChoice

Resultado retornado por findChoices().

FindValuesOptions

Opções básicas de pesquisa usadas para controlar como as opções são reconhecidas em um enunciado de usuários.

FoundValue

INTERNO: resultado bruto da pesquisa retornado por findValues().

SortedValue

INTERNO: um valor que pode ser classificado e ainda se refere à sua posição original dentro de uma matriz de origem. A findChoices() função expande as opções passadas para instâncias individuais SortedValue e as passa para findValues(). Cada indivíduo Choice pode resultar em vários sinônimos que devem ser pesquisados para que essa estrutura de dados nos permita passar cada sinônimo como um valor para pesquisar, mantendo o índice da escolha da qual o valor veio.

ModelResult

Resultado externo retornado por um reconhecedor de entidade como recognizeChoices().

Token

Token individual retornado por um TokenizerFunction.

Converter

O conversor converte o objeto de um tipo em outro.

DialogConfiguration
DialogEvent
DialogInstance

Contém informações de estado para uma instância de uma caixa de diálogo na pilha.

DialogTurnResult

Representa o resultado da tentativa de um contexto de diálogo de iniciar, continuar ou manipular uma ou mais caixas de diálogo.

DialogState

Contém o estado da caixa de diálogo, informações sobre o estado da pilha de diálogo, para um Conjunto de Diálogos específico.

DialogManagerConfiguration
DialogManagerResult
DialogDependencies
ComponentMemoryScopes

Interface para enumerar escopos de memória.

ComponentPathResolvers

Interface para declarar resolvedores de caminho.

DialogStateManagerConfiguration
PathResolver

Copyright (c) Microsoft Corporation. Todos os direitos reservados. Licenciado sob a licença MIT.

ChoiceDefaultsChoicePrompt
ChoiceDefaultsConfirmPrompt
DateTimeResolution

Resultado retornado pelo DateTimePrompt.

OAuthPromptSettings

Configurações usadas para configurar uma OAuthPrompt instância.

PromptOptions

Opções básicas de configuração compatíveis com todos os prompts.

PromptRecognizerResult

Resultado retornado por uma função de reconhecedor de prompts.

PromptValidatorContext

Informações contextuais passadas para um personalizado PromptValidator.

PromptCultureModel
RecognizerConfiguration
SkillDialogOptions
TemplateInterface

Define a interface de modelo para associar dados a T.

WaterfallStepInfo

Valores passados para o WaterfallStepContext construtor.

Aliases de tipo

TokenizerFunction

Assinatura para um separador de palavras alternativo que pode ser passado para recognizeChoices(), findChoices()ou findValues().

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

Assinatura de função para fornecer um validador de prompt personalizado.

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

Assinatura de função de uma etapa de cascata individual.

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

Enumerações

DialogReason

Indica por que um método de caixa de diálogo está sendo chamado.

DialogTurnStatus

Representa o estado da pilha de diálogos depois que um contexto de caixa de diálogo tenta iniciar, continuar ou manipular uma ou mais caixas de diálogo. Consulte também

ListStyle

Controla a maneira como as opções de um ChoicePrompt ou sim/não para um ConfirmPrompt são apresentadas a um usuário.

Funções

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

Função de pesquisa de nível médio para reconhecer uma escolha em um enunciado.

findValues(string, SortedValue[], FindValuesOptions)

INTERNO: função de baixo nível que pesquisa um conjunto de valores em um enunciado. Funções de nível mais alto como findChoices() e recognizeChoices() estão em camadas acima dessa função. Na maioria dos casos, é mais fácil chamar apenas uma das funções de nível mais alto, mas essa função contém o algoritmo de pesquisa difusa que impulsiona o reconhecimento de escolha.

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

Função de alto nível para reconhecer uma escolha em um enunciado de usuários.

defaultTokenizer(string, string)

Tokenizador simples que quebra em espaços e pontuação.

getActiveDialogContext(DialogContext)

Ande recursivamente até a pilha DC para encontrar o DC ativo.

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

Determina se a habilidade está agindo como um pai de habilidade.

runDialog(Dialog, TurnContext, StatePropertyAccessor<DialogState>)

Executa uma caixa de diálogo de um determinado contexto e acessador.

shouldSendEndOfConversationToParent(TurnContext, DialogTurnResult)

Auxiliar para determinar se devemos enviar um EoC para o pai ou não.

isComponentMemoryScopes(unknown)

Verifique se um ComponentRegistration é ComponentMemoryScopes ou não.

isComponentPathResolvers(unknown)

Verifique se um ComponentRegistration é ComponentPathResolvers ou não.

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

Detalhes da função

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

Função de pesquisa de nível médio para reconhecer uma escolha em um enunciado.

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

Parâmetros

utterance

string

O texto ou o enunciado do usuário a ser pesquisado. Para uma atividade 'message' de entrada, você pode simplesmente usar context.activity.text.

choices

string | Choice[]

Lista de opções a serem pesquisadas.

options
FindChoicesOptions

(Opcional) opções usadas para ajustar a pesquisa executada.

Retornos

Uma lista de opções encontradas, classificada pela mais relevante primeiro.

Comentários

Essa função está em camadas acima findValues() e simplesmente determina todos os sinônimos que devem ser pesquisados antes de chamar findValues() para executar a pesquisa real. A recognizeChoices() função está em camadas acima dessa função e adiciona a capacidade de selecionar uma opção por índice ou posição ordinal na lista. Chamar essa função específica é útil quando você não deseja que o reconhecimento de posição ordinal e índice seja feito por 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)

INTERNO: função de baixo nível que pesquisa um conjunto de valores em um enunciado. Funções de nível mais alto como findChoices() e recognizeChoices() estão em camadas acima dessa função. Na maioria dos casos, é mais fácil chamar apenas uma das funções de nível mais alto, mas essa função contém o algoritmo de pesquisa difusa que impulsiona o reconhecimento de escolha.

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

Parâmetros

utterance

string

O texto ou o enunciado do usuário a ser pesquisado.

values

SortedValue[]

Lista de valores a serem pesquisados.

options
FindValuesOptions

(Opcional) opções usadas para ajustar a pesquisa executada.

Retornos

Uma lista de valores encontrados.

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

Função de alto nível para reconhecer uma escolha em um enunciado de usuários.

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

Parâmetros

utterance

string

O texto ou o enunciado do usuário a ser pesquisado. Para uma atividade 'message' de entrada, você pode simplesmente usar context.activity.text.

choices

string | Choice[]

Lista de opções a serem pesquisadas.

options
FindChoicesOptions

(Opcional) opções usadas para ajustar a pesquisa executada.

Retornos

Uma lista de opções encontradas, classificada pela mais relevante primeiro.

Comentários

Isso está em camadas acima da findChoices() função e adiciona lógica para permitir que o usuário especifique sua escolha por índice (ele pode dizer "um" para escolher choice[0]) ou posição ordinal (eles podem dizer "o segundo" para escolher choice[1].) O enunciado dos usuários é reconhecido na seguinte ordem:

  • Por nome usando findChoices().
  • Por 1 posição ordinal baseada.
  • Por 1 posição de índice baseada.
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)

Tokenizador simples que quebra em espaços e pontuação.

function defaultTokenizer(text: string, _locale?: string): Token[]

Parâmetros

text

string

O texto de entrada.

_locale

string

Opcional, identifica a localidade do texto de entrada.

Retornos

Token[]

Uma lista de tokens.

Comentários

A única normalização feita é reduzir os tokens. Os desenvolvedores podem encapsular esse tokenizer com sua própria função para executar normalização adicional, como lematização.

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)

Ande recursivamente até a pilha DC para encontrar o DC ativo.

function getActiveDialogContext(dialogContext: DialogContext): DialogContext

Parâmetros

dialogContext
DialogContext

(xref:botbuilder-dialogs. DialogContext) para a virada de conversa atual com o usuário.

Retornos

DialogContext ativo.

internalRun(TurnContext, string, DialogContext, DialogStateManagerConfiguration)

function internalRun(context: TurnContext, dialogId: string, dialogContext: DialogContext, dialogStateManagerConfiguration?: DialogStateManagerConfiguration): Promise<DialogTurnResult>

Parâmetros

context

TurnContext

O TurnContext para a curva.

dialogId

string

A ID da caixa de diálogo.

dialogContext
DialogContext

O DialogContext para a virada de conversa atual.

dialogStateManagerConfiguration
DialogStateManagerConfiguration

Configuração para o gerenciador de estado da caixa de diálogo.

Retornos

Promise<DialogTurnResult>

uma promessa de resolução para o resultado de turno da caixa de diálogo.

isFromParentToSkill(TurnContext)

Determina se a habilidade está agindo como um pai de habilidade.

function isFromParentToSkill(context: TurnContext): boolean

Parâmetros

context

TurnContext

(xref:botbuilder-core. Objeto TurnContext) para a virada de conversa atual com o usuário.

Retornos

boolean

Um booliano que representa se a habilidade está agindo como um pai de habilidade.

runDialog(Dialog, TurnContext, StatePropertyAccessor<DialogState>)

Executa uma caixa de diálogo de um determinado contexto e acessador.

function runDialog(dialog: Dialog, context: TurnContext, accessor: StatePropertyAccessor<DialogState>): Promise<void>

Parâmetros

dialog
Dialog

A caixa de diálogo a ser executada.

context

TurnContext

(xref:botbuilder-core. Objeto TurnContext) para a virada de conversa atual com o usuário.

accessor

StatePropertyAccessor<DialogState>

Métodos definidos para acessar a propriedade de estado criada em um objeto BotState.

Retornos

Promise<void>

shouldSendEndOfConversationToParent(TurnContext, DialogTurnResult)

Auxiliar para determinar se devemos enviar um EoC para o pai ou não.

function shouldSendEndOfConversationToParent(context: TurnContext, turnResult: DialogTurnResult): boolean

Parâmetros

context

TurnContext

O TurnContext para a curva.

turnResult
DialogTurnResult

O resultado da curva da caixa de diálogo.

Retornos

boolean

True se deve enviar EoC, caso contrário, false.

isComponentMemoryScopes(unknown)

Verifique se um ComponentRegistration é ComponentMemoryScopes ou não.

function isComponentMemoryScopes(component: unknown): boolean

Parâmetros

component

unknown

O registro do componente.

Retornos

boolean

Resultado da verificação de tipo.

isComponentPathResolvers(unknown)

Verifique se um ComponentRegistration é ComponentPathResolvers ou não.

function isComponentPathResolvers(component: unknown): boolean

Parâmetros

component

unknown

O registro do componente.

Retornos

boolean

Resultado da verificação de tipo.

createConnectorClient(TurnContext, string, ClaimsIdentity, string)

function createConnectorClient(context: TurnContext, serviceUrl: string, claimsIdentity: ClaimsIdentity, audience: string): Promise<ConnectorClient>

Parâmetros

context

TurnContext

serviceUrl

string

claimsIdentity

ClaimsIdentity

audience

string

Retornos

Promise<ConnectorClient>

exchangeToken(TurnContext, OAuthPromptSettings, TokenExchangeRequest)

function exchangeToken(context: TurnContext, settings: OAuthPromptSettings, tokenExchangeRequest: TokenExchangeRequest): Promise<TokenResponse>

Parâmetros

context

TurnContext

tokenExchangeRequest

TokenExchangeRequest

Retornos

Promise<TokenResponse>

getSignInResource(TurnContext, OAuthPromptSettings)

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

Parâmetros

context

TurnContext

Retornos

Promise<SignInUrlResponse>

getUserToken(TurnContext, OAuthPromptSettings, string)

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

Parâmetros

context

TurnContext

magicCode

string

Retornos

Promise<TokenResponse>

signOutUser(TurnContext, OAuthPromptSettings)

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

Parâmetros

context

TurnContext

Retornos

Promise<void>