botbuilder-dialogs package

Classi

ChoiceFactory

Set di funzioni di utilità per facilitare la formattazione di un'attività 'message' contenente un elenco di scelte.

ComponentDialog

Classe di base per un dialogo che contiene altri dialoghi figlio.

Configurable

Classe di base per tutte le classi configurabili.

Dialog

Definisce il comportamento principale per tutti i dialoghi.

DialogContainer

Contenitore per un set di dialoghi.

DialogContext

Contesto del dialogo corrente rispetto a un dialogSet specifico.

DialogContextError

Errore che include un contesto di dialogo aggiuntivo, incluso lo stack di dialoghi.

DialogEvents

Rappresenta gli eventi correlati al "ciclo di vita" della finestra di dialogo.

DialogManager

Classe che esegue il sistema di dialoghi.

DialogSet

Set correlato di dialoghi che possono essere tutti chiamati l'uno dall'altro.

DialogTurnStateConstants

Definisce le costanti dello stato dei turni del dialogo.

DialogsBotComponent

Componente bot per i dialoghi bot.

DialogsComponentRegistration

Rende il componente dialogs disponibile per la funzionalità di registrazione del sistema.

DialogPath

Definisce il percorso per i dialoghi disponibili.

DialogStateManager

DialogStateManager gestisce gli ambiti di memoria e i resolver di percorso.

AliasPathResolver

AliasXXX :> path.xxx ($foo => dialog.foo).

AtAtPathResolver

Esegue il mapping di @@ => turn.recognized.entitites.xxx matrice.

AtPathResolver

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

DollarPathResolver

Mappe $xxx => dialog.xxx

HashPathResolver

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

PercentPathResolver

Mappe %xxx => class.xxx (noto anche come activeDialog.properties.xxx)

ScopePath

Definisce i percorsi per gli ambiti disponibili.

BotStateMemoryScope

Classe di base per gli ambiti di memoria basati su BotState.

ClassMemoryScope

ClassMemoryScope esegue il mapping di "classe" -> dc.activeDialog.properties

ConversationMemoryScope

Memoria con ambito per la conversazione corrente.

DialogClassMemoryScope

DialogClassMemoryScope esegue il mapping di "dialogClass" -> dc.parent.activeDialog.properties

DialogContextMemoryScope

DialogContextMemoryScope esegue il mapping di 'dialogcontext' -> proprietà.

DialogMemoryScope

DialogMemoryScope esegue il mapping di "dialog" -> dc.parent.activeDialog.state || dc.activeDialog.state

MemoryScope

Classe base astratta per tutti gli ambiti di memoria.

SettingsMemoryScope

SettingsMemoryScope esegue il mapping delle "impostazioni" -> dc.context.turnState['settings']

ThisMemoryScope

ThisMemoryScope esegue il mapping di "this" -> dc.activeDialog.state

TurnMemoryScope

TurnMemoryScope rappresenta l'ambito della memoria al turno corrente.

UserMemoryScope

Memoria con ambito per l'utente corrente.

ThisPath

Definisce il percorso passato al dialogo attivo.

TurnPath

Definisce il percorso per i turni avaiable.

ActivityPrompt

Attende la ricezione di un'attività.

AttachmentPrompt

Richiede a un utente di caricare allegati come immagini.

ChoicePrompt

Chiede a un utente di selezionare da un elenco di opzioni.

ConfirmPrompt

Chiede a un utente di confermare un elemento con una risposta "sì" o "no".

DateTimePrompt

Chiede a un utente di immettere un'espressione datetime.

NumberPrompt

Chiede a un utente di immettere un numero.

OAuthPrompt

Crea un nuovo prompt che chiede all'utente di accedere usando il servizio Single Sign On (SSO) di Bot Frameworks.

Prompt

Classe di base per tutti i prompt.

PromptCultureModels

Contenitore di classi per i modelli cultura attualmente supportati in Conferma e richiesta di scelta.

TextPrompt

Chiede a un utente di immettere del testo.

Recognizer

Classe di base recognizer.

SkillDialog

Finestra di dialogo specializzata in grado di eseguire il wrapping delle chiamate remote a una competenza.

WaterfallDialog

Una cascata è un dialogo ottimizzato per richiedere a un utente una serie di domande.

WaterfallStepContext

Oggetto contesto passato a un oggetto WaterfallStep.

Interfacce

BeginSkillDialogOptions

Classe con argomenti di dialogo per skillDialog.

ChoiceFactoryOptions

Opzioni aggiuntive usate per modificare la formattazione degli elenchi di scelta.

Choice

Istanza di una scelta che può essere usata per eseguire il rendering di una scelta a un utente o riconoscere un elemento selezionato da un utente.

FindChoicesOptions

Opzioni per controllare il riconoscimento eseguito da findChoices().

FoundChoice

Risultato restituito da findChoices().

FindValuesOptions

Opzioni di ricerca di base usate per controllare la modalità di riconoscimento delle scelte in un'espressione degli utenti.

FoundValue

INTERNAL: risultato della ricerca non elaborato restituito da findValues().

SortedValue

INTERNAL: valore che può essere ordinato e che fa ancora riferimento alla posizione originale all'interno di una matrice di origine. La findChoices() funzione espande le scelte passate alle singole SortedValue istanze e le passa a findValues(). Ogni individuo Choice può generare più sinonimi che devono essere cercati in modo che questa struttura di dati consenta di passare ogni sinonimo come valore per la ricerca mantenendo l'indice della scelta da cui proviene tale valore.

ModelResult

Risultato esterno restituito da un riconoscitore di entità come recognizeChoices().

Token

Token singolo restituito da un oggetto TokenizerFunction.

Converter

Il convertitore converte l'oggetto da un tipo a un altro.

DialogConfiguration
DialogEvent
DialogInstance

Contiene informazioni sullo stato per un'istanza di un dialogo nello stack.

DialogTurnResult

Rappresenta il risultato del tentativo di avviare, continuare o modificare uno o più dialoghi di un contesto di dialogo.

DialogState

Contiene lo stato del dialogo, informazioni sullo stato dello stack di dialoghi, per un set di dialoghi specifico.

DialogManagerConfiguration
DialogManagerResult
DialogDependencies
ComponentMemoryScopes

Interfaccia per l'enumerazione degli ambiti di memoria.

ComponentPathResolvers

Interfaccia per la dichiarazione dei resolver di percorso.

DialogStateManagerConfiguration
PathResolver

Copyright (c) Microsoft Corporation. Tutti i diritti sono riservati. Concesso in licenza secondo i termini della licenza MIT.

ChoiceDefaultsChoicePrompt
ChoiceDefaultsConfirmPrompt
DateTimeResolution

Risultato restituito da DateTimePrompt.

OAuthPromptSettings

Impostazioni utilizzate per configurare un'istanza OAuthPrompt di .

PromptOptions

Opzioni di configurazione di base supportate da tutte le richieste.

PromptRecognizerResult

Risultato restituito da una funzione di riconoscimento richieste.

PromptValidatorContext

Informazioni contestuali passate a un oggetto personalizzato PromptValidator.

PromptCultureModel
RecognizerConfiguration
SkillDialogOptions
TemplateInterface

Definisce l'interfaccia modello per il binding dei dati a T.

WaterfallStepInfo

Valori passati al WaterfallStepContext costruttore.

Alias tipo

TokenizerFunction

Firma per un word breaker alternativo che può essere passato a recognizeChoices(), findChoices()o findValues().

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

Firma della funzione per fornire un validator di richiesta personalizzato.

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

Firma della funzione di un singolo passaggio a cascata.

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

Enumerazioni

DialogReason

Indica il motivo per cui viene chiamato un metodo di dialogo.

DialogTurnStatus

Rappresenta lo stato dello stack di dialoghi dopo che un contesto di dialogo tenta di iniziare, continuare o modificare in altro modo uno o più dialoghi. Vedere anche

ListStyle

Controlla il modo in cui le opzioni per un ChoicePrompt oggetto o sì/no per un ConfirmPrompt oggetto vengono presentate a un utente.

Funzioni

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

Funzione di ricerca di livello intermedio per il riconoscimento di una scelta in un'espressione.

findValues(string, SortedValue[], FindValuesOptions)

INTERNAL: funzione di basso livello che cerca un set di valori all'interno di un'espressione. Le funzioni di livello superiore come findChoices() e recognizeChoices() sono sovrapposte a questa funzione. Nella maggior parte dei casi è più semplice chiamare una delle funzioni di livello superiore, ma questa funzione contiene l'algoritmo di ricerca fuzzy che determina il riconoscimento della scelta.

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

Funzione di alto livello per il riconoscimento di una scelta in un'espressione degli utenti.

defaultTokenizer(string, string)

Tokenizer semplice che interrompe gli spazi e la punteggiatura.

getActiveDialogContext(DialogContext)

Esaminare in modo ricorsivo lo stack del controller di dominio per trovare il controller di dominio attivo.

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

Determina se la competenza funge da elemento padre della competenza.

runDialog(Dialog, TurnContext, StatePropertyAccessor<DialogState>)

Esegue un dialogo da un contesto e una funzione di accesso specificati.

shouldSendEndOfConversationToParent(TurnContext, DialogTurnResult)

Helper per determinare se è necessario inviare un EoC all'elemento padre o meno.

isComponentMemoryScopes(unknown)

Controllare se componentRegistration è ComponentMemoryScopes o meno.

isComponentPathResolvers(unknown)

Controllare se componentRegistration è ComponentPathResolvers o meno.

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

Dettagli funzione

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

Funzione di ricerca di livello intermedio per il riconoscimento di una scelta in un'espressione.

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

Parametri

utterance

string

Testo o espressione utente da cercare. Per un'attività "message" in arrivo è sufficiente usare context.activity.text.

choices

string | Choice[]

Elenco di scelte tra cui eseguire la ricerca.

options
FindChoicesOptions

(Facoltativo) opzioni usate per modificare la ricerca eseguita.

Restituisce

Un elenco di scelte trovate, ordinato per primo in base alla più rilevante.

Commenti

Questa funzione viene sovrapposta e findValues() determina semplicemente tutti i sinonimi che devono essere cercati prima di chiamare findValues() per eseguire la ricerca effettiva. La recognizeChoices() funzione viene sovrapposta a questa funzione e aggiunge la possibilità di selezionare una scelta per indice o posizione ordinale nell'elenco. La chiamata a questa funzione specifica è utile quando non si vuole che il riconoscimento dell'indice e della posizione ordinale venga eseguito da 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: funzione di basso livello che cerca un set di valori all'interno di un'espressione. Le funzioni di livello superiore come findChoices() e recognizeChoices() sono sovrapposte a questa funzione. Nella maggior parte dei casi è più semplice chiamare una delle funzioni di livello superiore, ma questa funzione contiene l'algoritmo di ricerca fuzzy che determina il riconoscimento della scelta.

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

Parametri

utterance

string

Testo o espressione utente da cercare.

values

SortedValue[]

Elenco di valori da cercare.

options
FindValuesOptions

(Facoltativo) opzioni usate per modificare la ricerca eseguita.

Restituisce

Elenco di valori trovati.

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

Funzione di alto livello per il riconoscimento di una scelta in un'espressione degli utenti.

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

Parametri

utterance

string

Testo o espressione utente da cercare. Per un'attività "message" in arrivo è sufficiente usare context.activity.text.

choices

string | Choice[]

Elenco di scelte tra cui eseguire la ricerca.

options
FindChoicesOptions

(Facoltativo) opzioni usate per modificare la ricerca eseguita.

Restituisce

Un elenco di scelte trovate, ordinato per primo in base alla più rilevante.

Commenti

Questo viene sovrapposto sopra la funzione e aggiunge la findChoices() logica per consentire all'utente di specificare la propria scelta in base all'indice (può dire "uno" per selezionare choice[0]) o posizione ordinale (può dire "il secondo" per selezionare choice[1]. L'espressione degli utenti viene riconosciuta nell'ordine seguente:

  • Per nome tramite findChoices().
  • In base alla posizione ordinale di 1.
  • Per posizione dell'indice in base a 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 semplice che interrompe gli spazi e la punteggiatura.

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

Parametri

text

string

Testo di input.

_locale

string

Facoltativo, identifica le impostazioni locali del testo di input.

Restituisce

Token[]

Elenco di token.

Commenti

L'unica normalizzazione eseguita consiste nel minuscolo dei token. Gli sviluppatori possono eseguire il wrapping di questo tokenizer con la propria funzione per eseguire una normalizzazione aggiuntiva, ad esempio lo stemming.

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)

Esaminare in modo ricorsivo lo stack del controller di dominio per trovare il controller di dominio attivo.

function getActiveDialogContext(dialogContext: DialogContext): DialogContext

Parametri

dialogContext
DialogContext

(xref:botbuilder-dialogs. DialogContext) per il turno corrente della conversazione con l'utente.

Restituisce

Finestra di dialogo attivaContext.

internalRun(TurnContext, string, DialogContext, DialogStateManagerConfiguration)

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

Parametri

context

TurnContext

TurnContext per il turno.

dialogId

string

ID della finestra di dialogo.

dialogContext
DialogContext

DialogContext per il turno corrente della conversazione.

dialogStateManagerConfiguration
DialogStateManagerConfiguration

Configurazione per la gestione dello stato del dialogo.

Restituisce

Promise<DialogTurnResult>

una promessa che risolve il risultato del turno del dialogo.

isFromParentToSkill(TurnContext)

Determina se la competenza funge da elemento padre della competenza.

function isFromParentToSkill(context: TurnContext): boolean

Parametri

context

TurnContext

(xref:botbuilder-core. Oggetto TurnContext) per il turno corrente della conversazione con l'utente.

Restituisce

boolean

Valore booleano che rappresenta se la competenza funge da elemento padre della competenza.

runDialog(Dialog, TurnContext, StatePropertyAccessor<DialogState>)

Esegue un dialogo da un contesto e una funzione di accesso specificati.

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

Parametri

dialog
Dialog

Finestra di dialogo da eseguire.

context

TurnContext

(xref:botbuilder-core. Oggetto TurnContext) per il turno corrente della conversazione con l'utente.

accessor

StatePropertyAccessor<DialogState>

Metodi definiti per accedere alla proprietà di stato creata in un oggetto BotState.

Restituisce

Promise<void>

shouldSendEndOfConversationToParent(TurnContext, DialogTurnResult)

Helper per determinare se è necessario inviare un EoC all'elemento padre o meno.

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

Parametri

context

TurnContext

TurnContext per il turno.

turnResult
DialogTurnResult

Risultato del turno del dialogo.

Restituisce

boolean

True se deve inviare EoC; in caso contrario, false.

isComponentMemoryScopes(unknown)

Controllare se componentRegistration è ComponentMemoryScopes o meno.

function isComponentMemoryScopes(component: unknown): boolean

Parametri

component

unknown

Registrazione del componente.

Restituisce

boolean

Digitare il risultato del controllo.

isComponentPathResolvers(unknown)

Controllare se componentRegistration è ComponentPathResolvers o meno.

function isComponentPathResolvers(component: unknown): boolean

Parametri

component

unknown

Registrazione del componente.

Restituisce

boolean

Digitare il risultato del controllo.

createConnectorClient(TurnContext, string, ClaimsIdentity, string)

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

Parametri

context

TurnContext

serviceUrl

string

claimsIdentity

ClaimsIdentity

audience

string

Restituisce

Promise<ConnectorClient>

exchangeToken(TurnContext, OAuthPromptSettings, TokenExchangeRequest)

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

Parametri

context

TurnContext

tokenExchangeRequest

TokenExchangeRequest

Restituisce

Promise<TokenResponse>

getSignInResource(TurnContext, OAuthPromptSettings)

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

Parametri

context

TurnContext

Restituisce

Promise<SignInUrlResponse>

getUserToken(TurnContext, OAuthPromptSettings, string)

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

Parametri

context

TurnContext

magicCode

string

Restituisce

Promise<TokenResponse>

signOutUser(TurnContext, OAuthPromptSettings)

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

Parametri

context

TurnContext

Restituisce

Promise<void>