Condividi tramite


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 una finestra di dialogo che contiene altri dialoghi figlio.

Configurable

Classe 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 specifico DialogSet.

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 chiamare tra loro.

DialogTurnStateConstants

Definisce le costanti di stato dei turni del dialogo.

DialogsBotComponent

Componente bot per i dialoghi del bot.

DialogsComponentRegistration

Rende disponibile il componente dialogs per la 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 mappe -> 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 che ha come ambito la conversazione corrente.

DialogClassMemoryScope

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

DialogContextMemoryScope

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

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 con il turno corrente.

UserMemoryScope

Memoria con ambito per l'utente corrente.

ThisPath

Definisce il percorso passato alla finestra di dialogo attiva.

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

Richiede a un utente di selezionare un elenco di scelte.

ConfirmPrompt

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

DateTimePrompt

Richiede 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

Richiede a un utente di immettere del testo.

Recognizer

Classe di base recognizer.

SkillDialog

Finestra di dialogo specializzata che può 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 WaterfallStep.

Interfacce

BeginSkillDialogOptions

Classe con argomenti di dialogo per un oggetto SkillDialog.

ChoiceFactoryOptions

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

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 il modo in cui le scelte vengono riconosciute 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 funzione findChoices() espande le scelte passate alle singole istanze di SortedValue e le passa a findValues(). Ogni singolo 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 TokenizerFunction.

Converter

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

DialogConfiguration
DialogEvent
DialogInstance

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

DialogTurnResult

Rappresenta il risultato del tentativo di un contesto di dialogo di iniziare, continuare o modificare in altro modo uno o più dialoghi.

DialogState

Contiene lo stato del dialogo, informazioni sullo stato dello stack di dialoghi, per uno specifico DialogSet.

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 riservati. Concesso in licenza con la licenza MIT.

ChoiceDefaultsChoicePrompt
ChoiceDefaultsConfirmPrompt
DateTimeResolution

Risultato restituito dal DateTimePrompt.

OAuthPromptSettings

Impostazioni usate per configurare un'istanza di OAuthPrompt.

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 PromptValidatorpersonalizzato.

PromptCultureModel
RecognizerConfiguration
SkillDialogOptions
TemplateInterface

Definisce l'interfaccia modello per l'associazione dei dati a T.

WaterfallStepInfo

Valori passati al costruttore WaterfallStepContext.

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 prompt 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 o sì/no per un ConfirmPrompt 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, ad esempio findChoices() e recognizeChoices(), vengono 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)

Tokenizzatore semplice che interrompe gli spazi e la punteggiatura.

getActiveDialogContext(DialogContext)

Completare 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 padre di 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 un ComponentRegistration è ComponentMemoryScopes o meno.

isComponentPathResolvers(unknown)

Controllare se un ComponentRegistration di è 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

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

choices

string | Choice[]

Elenco di scelte da cercare.

options
FindChoicesOptions

(Facoltativo) opzioni usate per modificare la ricerca eseguita.

Restituisce

Elenco delle scelte trovate, ordinate in base alla più rilevante.

Commenti

Questa funzione viene sovrapposta al findValues() e determina semplicemente tutti i sinonimi che devono essere cercati prima di chiamare findValues() per eseguire la ricerca effettiva. La funzione recognizeChoices() viene sovrapposta a questa funzione e aggiunge la possibilità di selezionare una scelta in base all'indice o alla 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, ad esempio findChoices() e recognizeChoices(), vengono 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

Espressione di testo o utente da cercare.

values

SortedValue[]

Elenco di valori da cercare.

options
FindValuesOptions

(Facoltativo) opzioni usate per modificare la ricerca eseguita.

Restituisce

Elenco dei 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

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

choices

string | Choice[]

Elenco di scelte da cercare.

options
FindChoicesOptions

(Facoltativo) opzioni usate per modificare la ricerca eseguita.

Restituisce

Elenco delle scelte trovate, ordinate in base alla più rilevante.

Commenti

Questo livello è posizionato sopra la funzione findChoices() e aggiunge la 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 users viene riconosciuta nell'ordine seguente:

  • Per nome tramite findChoices().
  • Per posizione ordinale basata su 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)

Tokenizzatore 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 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)

Completare 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

Il TurnContext per il turno.

dialogId

string

ID finestra di dialogo.

dialogContext
DialogContext

Il DialogContext per il turno di conversazione corrente.

dialogStateManagerConfiguration
DialogStateManagerConfiguration

Configurazione per 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 padre di 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 padre di 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 di 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

Il 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 un ComponentRegistration è ComponentMemoryScopes o meno.

function isComponentMemoryScopes(component: unknown): boolean

Parametri

component

unknown

Registrazione del componente.

Restituisce

boolean

Risultato del controllo del tipo.

isComponentPathResolvers(unknown)

Controllare se un ComponentRegistration di è ComponentPathResolvers o meno.

function isComponentPathResolvers(component: unknown): boolean

Parametri

component

unknown

Registrazione del componente.

Restituisce

boolean

Risultato del controllo del tipo.

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>