Freigeben über


botbuilder-dialogs package

Klassen

ChoiceFactory

Eine Reihe von Hilfsfunktionen zur Unterstützung der Formatierung einer "Nachricht"-Aktivität, die eine Liste von Auswahlmöglichkeiten enthält.

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

DialogContext

Der Kontext für das aktuelle Dialogfeld dreht sich in Bezug auf ein bestimmtes DialogSet-.

DialogContextError

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

DialogEvents

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

DialogManager

Klasse, die das Dialogfeldsystem ausführt.

DialogSet

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

DialogTurnStateConstants

Definiert Zustandskonstanten im Dialogfeld.

DialogsBotComponent

Bot-Komponente für Bot-Dialoge.

DialogsComponentRegistration

Stellt die Dialogfelderkomponente für die Systemregistrierungsfunktionalität zur Verfügung.

DialogPath

Definiert den Pfad für verfügbare Dialogfelder.

DialogStateManager

Der DialogStateManager verwaltet Speicherbereiche und Pfadlöser.

AliasPathResolver

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

AtAtPathResolver

Karten @@ => 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 maps "class" -> dc.activeDialog.properties

ConversationMemoryScope

Speicher, der auf die aktuelle Unterhaltung angewendet wird.

DialogClassMemoryScope

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

DialogContextMemoryScope

DialogContextMemoryScope ordnet "dialogcontext" zu –> Eigenschaften.

DialogMemoryScope

DialogMemoryScope maps "dialog" -> dc.parent.activeDialog.state || dc.activeDialog.state

MemoryScope

Abstrakte Basisklasse für alle Speicherbereiche.

SettingsMemoryScope

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

ThisMemoryScope

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

TurnMemoryScope

TurnMemoryScope stellt den Speicherbereich für die aktuelle Drehung dar.

UserMemoryScope

Speicher, der auf den aktuellen Benutzer abgegrenzt ist.

ThisPath

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

TurnPath

Definiert den Pfad für avaiable Kurven.

ActivityPrompt

Wartet auf den Empfang einer Aktivität.

AttachmentPrompt

Fordert einen Benutzer auf, Anlagen wie Bilder hochzuladen.

ChoicePrompt

Fordert einen Benutzer auf, aus einer Liste mit Auswahlmöglichkeiten auszuwählen.

ConfirmPrompt

Fordert einen Benutzer auf, etwas mit einer "Ja"- oder "Nein"-Antwort zu bestätigen.

DateTimePrompt

Fordert einen Benutzer auf, einen Datetime-Ausdruck einzugeben.

NumberPrompt

Fordert einen Benutzer auf, eine Nummer einzugeben.

OAuthPrompt

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

Prompt

Basisklasse für alle Eingabeaufforderungen.

PromptCultureModels

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

TextPrompt

Fordert einen Benutzer auf, Text einzugeben.

Recognizer

Erkennungsbasisklasse.

SkillDialog

Ein spezielles Dialogfeld, das Remoteanrufe an eine Fähigkeit umschließen kann.

WaterfallDialog

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

WaterfallStepContext

Kontextobjekt, das an eine WaterfallStepübergeben wurde.

Schnittstellen

BeginSkillDialogOptions

Eine Klasse mit Dialogargumenten für einen SkillDialog.

ChoiceFactoryOptions

Weitere Optionen zum Optimieren der Formatierung von Auswahllisten.

Choice

Eine Instanz einer Auswahl, 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 findChoices()ausgeführten Erkennung.

FoundChoice

Von findChoices()zurückgegebenes Ergebnis.

FindValuesOptions

Grundlegende Suchoptionen, die verwendet werden, um zu steuern, wie Auswahlmöglichkeiten in einer Benutzer-Äußerung erkannt werden.

FoundValue

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

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 Auswahlmöglichkeiten auf einzelne SortedValue Instanzen und übergibt sie an findValues(). Jede einzelne Choice kann zu mehreren Synonymen führen, nach denen gesucht werden soll, sodass wir jedes Synonym als Wert übergeben können, um zu suchen, während der Index der Auswahl beibehalten wird, aus der 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 Statusinformationen für eine Instanz eines Dialogfelds im Stapel.

DialogTurnResult

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

DialogState

Enthält den Dialogstatus, Informationen zum Status des Dialogfeldstapels für ein bestimmtes DialogSet-.

DialogManagerConfiguration
DialogManagerResult
DialogDependencies
ComponentMemoryScopes

Schnittstelle zum Aufzählen 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 DateTimePromptzurückgegebenes Ergebnis.

OAuthPromptSettings

Einstellungen, die zum Konfigurieren einer OAuthPrompt Instanz verwendet werden.

PromptOptions

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

PromptRecognizerResult

Von einer Eingabeaufforderungserkennungsfunktion zurückgegebenes Ergebnis.

PromptValidatorContext

Kontextbezogene Informationen, die an eine benutzerdefinierte PromptValidatorübergeben werden.

PromptCultureModel
RecognizerConfiguration
SkillDialogOptions
TemplateInterface

Definiert die Vorlagenschnittstelle zum Binden von Daten an T.

WaterfallStepInfo

Werte, die an den WaterfallStepContext-Konstruktor übergeben werden.

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

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 Status des Dialogfeldstapels dar, nachdem ein Dialogfeldkontext versucht hat, ein oder mehrere Dialogfelder zu beginnen, fortzusetzen oder anderweitig zu bearbeiten. Siehe auch

ListStyle

Steuert, wie optionen für eine ChoicePrompt oder Ja/Nein-Optionen für eine ConfirmPrompt für einen Benutzer 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: Funktion auf niedriger Ebene, die nach einer Gruppe von Werten innerhalb einer Äußerung sucht. Funktionen auf höherer Ebene wie findChoices() und recognizeChoices() werden über dieser Funktion angeordnet. In den meisten Fällen ist es einfacher, stattdessen eine der Funktionen höherer Ebene aufzurufen, aber diese Funktion enthält den Fuzzy-Suchalgorithmus, der die Auswahlerkennung steuert.

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

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

defaultTokenizer(string, string)

Einfacher Tokenizer, der auf Leerzeichen und Interpunktion umbricht.

getActiveDialogContext(DialogContext)

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

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

Bestimmt, ob die Fähigkeit als Qualifikationsberechtigter fungiert.

runDialog(Dialog, TurnContext, StatePropertyAccessor<DialogState>)

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

shouldSendEndOfConversationToParent(TurnContext, DialogTurnResult)

Hilfsprogramm, um festzustellen, ob wir einen EoC an das Elternteil senden sollen oder nicht.

isComponentMemoryScopes(unknown)

Überprüfen Sie, ob ein ComponentRegistration-ComponentMemoryScopes ist oder nicht.

isComponentPathResolvers(unknown)

Überprüfen Sie, ob ein ComponentRegistration-ComponentPathResolvers 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 Text oder der Benutzer, der durchsucht werden soll. Bei einer eingehenden Nachrichtenaktivität können Sie einfach context.activity.textverwenden.

choices

string | Choice[]

Liste der Auswahlmöglichkeiten, die durchsucht werden sollen.

options
FindChoicesOptions

(Optional) Optionen zum Optimieren der ausgeführten Suche.

Gibt zurück

Eine Liste der gefundenen Auswahlmöglichkeiten, sortiert nach den relevantesten zuerst.

Hinweise

Diese Funktion befindet sich über findValues() und bestimmt einfach alle Synonyme, nach denen gesucht werden soll, bevor sie findValues() aufrufen, um die eigentliche Suche auszuführen. Die recognizeChoices()-Funktion wird über dieser Funktion angeordnet 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 Sie nicht möchten, dass die Index- und Ordnungspositionserkennung durch recognizeChoices()erfolgt.

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

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

Parameter

utterance

string

Der Text oder der Benutzer, der durchsucht werden soll.

values

SortedValue[]

Liste der zu durchsuchenden Werte.

options
FindValuesOptions

(Optional) Optionen zum Optimieren der ausgeführten Suche.

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 Text oder der Benutzer, der durchsucht werden soll. Bei einer eingehenden Nachrichtenaktivität können Sie einfach context.activity.textverwenden.

choices

string | Choice[]

Liste der Auswahlmöglichkeiten, die durchsucht werden sollen.

options
FindChoicesOptions

(Optional) Optionen zum Optimieren der ausgeführten Suche.

Gibt zurück

Eine Liste der gefundenen Auswahlmöglichkeiten, sortiert nach den relevantesten zuerst.

Hinweise

Dies wird über der findChoices()-Funktion angeordnet und fügt Logik hinzu, um dem Benutzer die Auswahl nach Index (sie können "eins" sagen, um choice[0]) oder Ordnungsposition (sie können "die zweite" sagen, um choice[1]zu wählen .) Die Äußerung der Benutzer wird in der folgenden Reihenfolge erkannt:

  • Nach Name mithilfe von findChoices().
  • Durch die 1-basierte Ordnungsposition.
  • Nach der 1-basierten 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 auf Leerzeichen und Interpunktion umbricht.

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

Parameter

text

string

Der Eingabetext.

_locale

string

Optional, identifiziert das Gebietsschema des Eingabetexts.

Gibt zurück

Token[]

Eine Liste von Token.

Hinweise

Die einzige Normalisierung erfolgt in Kleinbuchstaben der Token. Entwickler können diesen Tokenizer mit ihrer eigenen Funktion umschließen, um zusätzliche Normalisierungen wie Stemmingdurchzufü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 nach dem DC-Stapel, um den aktiven DC zu finden.

function getActiveDialogContext(dialogContext: DialogContext): DialogContext

Parameter

dialogContext
DialogContext

(xref:botbuilder-dialogs. DialogContext) für die aktuelle Unterhaltungswende mit dem Benutzer.

Gibt zurück

Aktive DialogContext-.

internalRun(TurnContext, string, DialogContext, DialogStateManagerConfiguration)

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

Parameter

context

TurnContext

Die TurnContext- für die Drehung.

dialogId

string

Die Dialogfeld-ID.

dialogContext
DialogContext

Die DialogContext- für die aktuelle Unterhaltungswende.

dialogStateManagerConfiguration
DialogStateManagerConfiguration

Konfiguration für den Dialogstatus-Manager.

Gibt zurück

Promise<DialogTurnResult>

eine Zusage, die in das Dialogdrehergebnis aufgelöst wird.

isFromParentToSkill(TurnContext)

Bestimmt, ob die Fähigkeit als Qualifikationsberechtigter fungiert.

function isFromParentToSkill(context: TurnContext): boolean

Parameter

context

TurnContext

(xref:botbuilder-core. TurnContext)-Objekt für die aktuelle Unterhaltungswende mit dem Benutzer.

Gibt zurück

boolean

Ein boolescher Wert, der angibt, ob die Fähigkeit als Qualifikationsberechtigter 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 Dialogfeld, das ausgeführt werden soll.

context

TurnContext

(xref:botbuilder-core. TurnContext)-Objekt für die aktuelle Unterhaltungswende 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 wir einen EoC an das Elternteil senden sollen oder nicht.

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

Parameter

context

TurnContext

Die TurnContext- für die Drehung.

turnResult
DialogTurnResult

Das Ergebnis der Dialogdrehung.

Gibt zurück

boolean

True, wenn EoC gesendet werden soll, andernfalls "false".

isComponentMemoryScopes(unknown)

Überprüfen Sie, ob ein ComponentRegistration-ComponentMemoryScopes 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 ein ComponentRegistration-ComponentPathResolvers 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>