Freigeben über


botbuilder-dialogs package

Klassen

ChoiceFactory

Eine Reihe von Hilfsfunktionen, die das Formatieren einer Nachrichtenaktivität mit einer Liste von Optionen unterstützen.

ComponentDialog

Basisklasse für ein Dialogfeld, das andere untergeordnete Dialogfelder enthält.

Configurable

Basisklasse für alle konfigurierbaren Klassen.

Dialog

Definiert das Kernverhalten für alle Dialogfelder.

DialogContainer

Ein Container für eine Reihe von Dialogen.

DialogContext

Der Kontext für den aktuellen Dialog wird in Bezug auf ein bestimmtes DialogSet umdreht.

DialogContextError

Ein Fehler, der zusätzlichen Dialogkontext enthält, einschließlich des Dialogstapels.

DialogEvents

Stellt die Ereignisse im Zusammenhang mit dem "Lebenszyklus" des Dialogfelds dar.

DialogManager

Klasse, die das Dialogsystem ausführt.

DialogSet

Ein verwandter Satz von Dialogen, die sich alle gegenseitig aufrufen können.

DialogTurnStateConstants

Definiert Dialog-Turnzustandskonstanten.

DialogsBotComponent

Botkomponente für Botdialoge.

DialogsComponentRegistration

Stellt die Dialogkomponente für die Systemregistrierungsfunktion zur Verfügung.

DialogPath

Definiert den Pfad für verfügbare Dialogfelder.

DialogStateManager

DialogStateManager verwaltet Speicherbereiche und Pfadlöser.

AliasPathResolver

Maps aliasXXX –> path.xxx ($foo => dialog.foo).

AtAtPathResolver

Maps @@ => turn.recognized.entitites.xxx Array.

AtPathResolver

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

DollarPathResolver

Karten $xxx => dialog.xxx

HashPathResolver

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

PercentPathResolver

Karten %xxx => class.xxx (auch bekannt als activeDialog.properties.xxx)

ScopePath

Definiert Pfade für die verfügbaren Bereiche.

BotStateMemoryScope

Basisklasse für Speicherbereiche, die auf BotState basieren.

ClassMemoryScope

ClassMemoryScope weist "Klasse" zu –> dc.activeDialog.properties

ConversationMemoryScope

Arbeitsspeicher, der auf die aktuelle Unterhaltung ausgerichtet ist.

DialogClassMemoryScope

DialogClassMemoryScope ordnet "dialogClass" zu :> dc.parent.activeDialog.properties

DialogContextMemoryScope

DialogContextMemoryScope ordnet 'dialogcontext' -> Eigenschaften zu.

DialogMemoryScope

DialogMemoryScope ordnet "dialog" zu :> dc.parent.activeDialog.state || dc.activeDialog.state

MemoryScope

Abstrakte Basisklasse für alle Speicherbereiche.

SettingsMemoryScope

EinstellungenMemoryScope ordnet "Einstellungen" zu –> dc.context.turnState['settings']

ThisMemoryScope

ThisMemoryScope ordnet "this" zu :> dc.activeDialog.state

TurnMemoryScope

TurnMemoryScope stellt den Speicherbereich auf den aktuellen Umlauf dar.

UserMemoryScope

Arbeitsspeicher, der auf den aktuellen Benutzer ausgerichtet ist.

ThisPath

Definiert den Pfad, der an das aktive Dialogfeld übergeben wird.

TurnPath

Definiert den Pfad für avaiable Turns.

ActivityPrompt

Wartet, bis eine Aktivität empfangen wird.

AttachmentPrompt

Fordert einen Benutzer auf, Anlagen wie Bilder hochzuladen.

ChoicePrompt

Fordert einen Benutzer auf, aus einer Liste von Optionen auszuwählen.

ConfirmPrompt

Fordert einen Benutzer auf, etwas mit einer Antwort mit "ja" oder "nein" zu bestätigen.

DateTimePrompt

Fordert einen Benutzer auf, einen datetime-Ausdruck einzugeben.

NumberPrompt

Fordert einen Benutzer auf, eine Zahl einzugeben.

OAuthPrompt

Erstellt eine neue Eingabeaufforderung, die den Benutzer auffordert, sich mit dem Bot Frameworks-Dienst für einmaliges Anmelden (Single Sign On, SSO) anzumelden.

Prompt

Basisklasse für alle Eingabeaufforderungen.

PromptCultureModels

Klassencontainer für derzeit unterstützte Kulturmodelle in Bestätigungs- und Auswahlaufforderung.

TextPrompt

Fordert einen Benutzer auf, Text einzugeben.

Recognizer

Erkennungsbasisklasse.

SkillDialog

Ein spezialisierter Dialog, der Remoteaufrufe an einen Skill umschließen kann.

WaterfallDialog

Ein Wasserfall ist ein Dialog, der für die Aufforderung eines Benutzers mit einer Reihe von Fragen optimiert ist.

WaterfallStepContext

An ein WaterfallStepübergebenes Context-Objekt.

Schnittstellen

BeginSkillDialogOptions

Eine Klasse mit Dialogargumenten für einen SkillDialog.

ChoiceFactoryOptions

Zusätzliche Optionen, die zum Optimieren der Formatierung von Auswahllisten verwendet werden.

Choice

Eine Instanz einer Wahl, die verwendet werden kann, um eine Auswahl für einen Benutzer zu rendern oder etwas zu erkennen, das ein Benutzer ausgewählt hat.

FindChoicesOptions

Optionen zum Steuern der von ausgeführten findChoices()Erkennung.

FoundChoice

Von zurückgegebenes findChoices()Ergebnis.

FindValuesOptions

Grundlegende Suchoptionen, die verwendet werden, um zu steuern, wie Optionen in einer Benutzeräußerung erkannt werden.

FoundValue

INTERNAL: Unformatiertes Suchergebnis, das von zurückgegeben wird findValues().

SortedValue

INTERNAL: Ein Wert, der sortiert werden kann und weiterhin auf seine ursprüngliche Position innerhalb eines Quellarrays verweist. Die findChoices() Funktion erweitert die übergebenen Optionen an einzelne SortedValue Instanzen und übergibt sie an findValues(). Jedes Individuum Choice kann zu mehreren Synonymen führen, nach denen gesucht werden sollte, sodass wir mit dieser Datenstruktur jedes Synonym als Suchwert übergeben können, während der Index der Wahl beibehalten wird, aus dem der Wert stammt.

ModelResult

Äußeres Ergebnis, das von einer Entitätserkennung wie recognizeChoices()zurückgegeben wird.

Token

Einzelnes Token, das von einem TokenizerFunctionzurückgegeben wird.

Converter

Der Konverter konvertiert das Objekt von einem Typ in einen anderen.

DialogConfiguration
DialogEvent
DialogInstance

Enthält Zustandsinformationen für eine Instanz eines Dialogfelds im Stapel.

DialogTurnResult

Stellt das Ergebnis des Versuchs eines Dialogkontexts dar, ein oder mehrere Dialogfelder zu beginnen, fortzusetzen oder anderweitig zu bearbeiten.

DialogState

Enthält den Dialogstatus und Informationen zum Status des Dialogstapels für ein bestimmtes DialogSet.

DialogManagerConfiguration
DialogManagerResult
DialogDependencies
ComponentMemoryScopes

Schnittstelle zum Auflisten von Speicherbereichen.

ComponentPathResolvers

Schnittstelle zum Deklarieren von Pfadlösern.

DialogStateManagerConfiguration
PathResolver

Copyright (c) Microsoft Corporation. Alle Rechte vorbehalten. Lizenziert unter der MIT-Lizenz.

ChoiceDefaultsChoicePrompt
ChoiceDefaultsConfirmPrompt
DateTimeResolution

Vom zurückgegebenen DateTimePromptErgebnis.

OAuthPromptSettings

Einstellungen, die zum Konfigurieren einer OAuthPrompt Instanz verwendet werden.

PromptOptions

Grundlegende Konfigurationsoptionen, die von allen Eingabeaufforderungen unterstützt werden.

PromptRecognizerResult

Ergebnis, das von einer Funktion zur Erkennung von Eingabeaufforderungen zurückgegeben wird.

PromptValidatorContext

Kontextinformationen, die an einen benutzerdefinierten PromptValidatorübergeben werden.

PromptCultureModel
RecognizerConfiguration
SkillDialogOptions
TemplateInterface

Definiert die Vorlagenschnittstelle zum Binden von Daten an T.

WaterfallStepInfo

An den WaterfallStepContext Konstruktor übergebene Werte.

Typaliase

TokenizerFunction

Signatur für eine alternative Worttrennung, die an recognizeChoices(), findChoices()oder findValues()übergeben werden kann.

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

Funktionssignatur zum Bereitstellen einer benutzerdefinierten Eingabeaufforderungsüberprüfung.

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

Funktionssignatur eines einzelnen Wasserfallschritts.

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

Enumerationen

DialogReason

Gibt an, warum eine Dialogmethode aufgerufen wird.

DialogTurnStatus

Stellt den Zustand des Dialogstapels dar, nachdem ein Dialogkontext versucht hat, einen oder mehrere Dialoge zu beginnen, fortzusetzen oder anderweitig zu bearbeiten. Weitere Informationen

ListStyle

Steuert die Art und Weise, in der Einem Benutzer Auswahlmöglichkeiten für eine ChoicePrompt Oder Ja/Nein-Optionen für ein ConfirmPrompt angezeigt werden.

Functions

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

Suchfunktion auf mittlerer Ebene zum Erkennen einer Auswahl in einer Äußerung.

findValues(string, SortedValue[], FindValuesOptions)

INTERNAL: Low-Level-Funktion, die nach einer Gruppe von Werten in einer Äußerung sucht. Funktionen auf höherer Ebene wie findChoices() und recognizeChoices() befinden sich über dieser Funktion. In den meisten Fällen ist es einfacher, stattdessen nur eine der funktionen der höheren Ebene aufzurufen, aber diese Funktion enthält den Fuzzy-Suchalgorithmus, der die Auswahlerkennung antreibt.

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

Allgemeine Funktion zum Erkennen einer Auswahl in einer Benutzeräußerung.

defaultTokenizer(string, string)

Einfacher Tokenizer, der Leerzeichen und Interpunktion unterbricht.

getActiveDialogContext(DialogContext)

Gehen Sie rekursiv im DC-Stapel nach oben, um den aktiven DC zu finden.

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

Bestimmt, ob der Skill als übergeordnete Qualifikation fungiert.

runDialog(Dialog, TurnContext, StatePropertyAccessor<DialogState>)

Führt ein Dialogfeld aus einem bestimmten Kontext und Accessor aus.

shouldSendEndOfConversationToParent(TurnContext, DialogTurnResult)

Hilfsprogramm, um festzustellen, ob ein EoC an das übergeordnete Element gesendet werden soll oder nicht.

isComponentMemoryScopes(unknown)

Überprüfen Sie, ob eine ComponentRegistrationComponentMemoryScopes ist oder nicht.

isComponentPathResolvers(unknown)

Überprüfen Sie, ob eine ComponentRegistrationComponentPathResolvers ist oder nicht.

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

Details zur Funktion

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

Suchfunktion auf mittlerer Ebene zum Erkennen einer Auswahl in einer Äußerung.

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

Parameter

utterance

string

Der zu durchsuchende Text oder die Benutzeräußerung. Für eine eingehende "Nachrichten"-Aktivität können Sie einfach verwenden context.activity.text.

choices

string | Choice[]

Liste der Zu durchsuchenden Optionen.

options
FindChoicesOptions

(Optional) Optionen, die zum Optimieren der durchgeführten Suche verwendet werden.

Gibt zurück

Eine Liste der gefundenen Optionen, sortiert nach den wichtigsten zuerst.

Hinweise

Diese Funktion befindet sich über findValues() einer Schicht und bestimmt einfach alle Synonyme, nach denen vor dem Aufruf findValues() gesucht werden sollte, um die eigentliche Suche auszuführen. Die recognizeChoices() Funktion befindet sich über dieser Funktion und fügt die Möglichkeit hinzu, eine Auswahl nach Index- oder Ordnungsposition in der Liste auszuwählen. Das Aufrufen dieser bestimmten Funktion ist nützlich, wenn die Index- und Ordnungspositionserkennung nicht von ausgeführt werden recognizeChoices()soll.

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: Low-Level-Funktion, die nach einer Gruppe von Werten in einer Äußerung sucht. Funktionen auf höherer Ebene wie findChoices() und recognizeChoices() befinden sich über dieser Funktion. In den meisten Fällen ist es einfacher, stattdessen nur eine der funktionen der höheren Ebene aufzurufen, aber diese Funktion enthält den Fuzzy-Suchalgorithmus, der die Auswahlerkennung antreibt.

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

Parameter

utterance

string

Der zu durchsuchende Text oder die Benutzeräußerung.

values

SortedValue[]

Liste der zu durchsuchenden Werte.

options
FindValuesOptions

(Optional) Optionen, die zum Optimieren der durchgeführten Suche verwendet werden.

Gibt zurück

Eine Liste der gefundenen Werte.

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

Allgemeine Funktion zum Erkennen einer Auswahl in einer Benutzeräußerung.

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

Parameter

utterance

string

Der zu durchsuchende Text oder die Benutzeräußerung. Für eine eingehende "Nachrichten"-Aktivität können Sie einfach verwenden context.activity.text.

choices

string | Choice[]

Liste der Zu durchsuchenden Optionen.

options
FindChoicesOptions

(Optional) Optionen, die zum Optimieren der durchgeführten Suche verwendet werden.

Gibt zurück

Eine Liste der gefundenen Optionen, sortiert nach den wichtigsten zuerst.

Hinweise

Dies befindet sich über der findChoices() Funktion und fügt Logik hinzu, damit der Benutzer seine Auswahl nach Index (er kann "eins" zum Auswählen choice[0]) oder Ordinalposition (er kann "die zweite" angeben, um choice[1].) Die Äußerung der Benutzer wird in der folgenden Reihenfolge erkannt:

  • Nach Name mit findChoices().
  • Um 1's basierende Ordnungsposition.
  • Nach 1's basierender Indexposition.
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)

Einfacher Tokenizer, der Leerzeichen und Interpunktion unterbricht.

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

Parameter

text

string

Der Eingabetext.

_locale

string

Optional, gibt das Gebietsschema des Eingabetexts an.

Gibt zurück

Token[]

Eine Liste mit Token.

Hinweise

Die einzige Normalisierung, die durchgeführt wird, besteht darin, die Token in Kleinbuchstaben zu schreiben. Entwickler können diesen Tokenizer mit einer eigenen Funktion umschließen, um zusätzliche Normalisierungen wie Stemming durchzuführen.

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)

Gehen Sie rekursiv im DC-Stapel nach oben, um den aktiven DC zu finden.

function getActiveDialogContext(dialogContext: DialogContext): DialogContext

Parameter

dialogContext
DialogContext

(xref:botbuilder-dialogs. DialogContext) für den aktuellen Gesprächswechsel mit dem Benutzer.

Gibt zurück

Active DialogContext.

internalRun(TurnContext, string, DialogContext, DialogStateManagerConfiguration)

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

Parameter

context

TurnContext

Der TurnContext für den Turn.

dialogId

string

Die Dialog-ID.

dialogContext
DialogContext

Der DialogContext für den aktuellen Gesprächsverlauf.

dialogStateManagerConfiguration
DialogStateManagerConfiguration

Konfiguration für den Dialogstatus-Manager.

Gibt zurück

Promise<DialogTurnResult>

eine Zusage, die in das Ergebnis des Dialogwechsels aufgelöst wird.

isFromParentToSkill(TurnContext)

Bestimmt, ob der Skill als übergeordnete Qualifikation fungiert.

function isFromParentToSkill(context: TurnContext): boolean

Parameter

context

TurnContext

(xref:botbuilder-core. TurnContext)-Objekt für den aktuellen Gesprächsverlauf mit dem Benutzer.

Gibt zurück

boolean

Ein boolescher Wert, der darstellt, ob der Skill als übergeordnetes Skill-Element fungiert.

runDialog(Dialog, TurnContext, StatePropertyAccessor<DialogState>)

Führt ein Dialogfeld aus einem bestimmten Kontext und Accessor aus.

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

Parameter

dialog
Dialog

Das auszuführende Dialogfeld .

context

TurnContext

(xref:botbuilder-core. TurnContext)-Objekt für den aktuellen Gesprächsverlauf mit dem Benutzer.

accessor

StatePropertyAccessor<DialogState>

Definierte Methoden für den Zugriff auf die zustandseigenschaft, die in einem BotState-Objekt erstellt wurde.

Gibt zurück

Promise<void>

shouldSendEndOfConversationToParent(TurnContext, DialogTurnResult)

Hilfsprogramm, um festzustellen, ob ein EoC an das übergeordnete Element gesendet werden soll oder nicht.

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

Parameter

context

TurnContext

Der TurnContext für den Turn.

turnResult
DialogTurnResult

Das Ergebnis der Dialogdrehung.

Gibt zurück

boolean

True, wenn EoC gesendet werden soll, andernfalls false.

isComponentMemoryScopes(unknown)

Überprüfen Sie, ob eine ComponentRegistrationComponentMemoryScopes ist oder nicht.

function isComponentMemoryScopes(component: unknown): boolean

Parameter

component

unknown

Die Komponentenregistrierung.

Gibt zurück

boolean

Geben Sie das Ergebnis der Überprüfung ein.

isComponentPathResolvers(unknown)

Überprüfen Sie, ob eine ComponentRegistrationComponentPathResolvers ist oder nicht.

function isComponentPathResolvers(component: unknown): boolean

Parameter

component

unknown

Die Komponentenregistrierung.

Gibt zurück

boolean

Geben Sie das Ergebnis der Überprüfung ein.

createConnectorClient(TurnContext, string, ClaimsIdentity, string)

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

Parameter

context

TurnContext

serviceUrl

string

claimsIdentity

ClaimsIdentity

audience

string

Gibt zurück

Promise<ConnectorClient>

exchangeToken(TurnContext, OAuthPromptSettings, TokenExchangeRequest)

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

Parameter

context

TurnContext

tokenExchangeRequest

TokenExchangeRequest

Gibt zurück

Promise<TokenResponse>

getSignInResource(TurnContext, OAuthPromptSettings)

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

Parameter

context

TurnContext

Gibt zurück

Promise<SignInUrlResponse>

getUserToken(TurnContext, OAuthPromptSettings, string)

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

Parameter

context

TurnContext

magicCode

string

Gibt zurück

Promise<TokenResponse>

signOutUser(TurnContext, OAuthPromptSettings)

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

Parameter

context

TurnContext

Gibt zurück

Promise<void>