UniversalBot class
Verwaltet Ihre Bots-Unterhaltungen mit Benutzern über mehrere Kanäle hinweg.
- Extends
Konstruktoren
| Universal |
Erstellt eine neue Instanz des UniversalBot. |
| Universal |
Erstellt eine neue Instanz des UniversalBot. |
| Universal |
Erstellt eine neue Instanz des UniversalBot. |
Eigenschaften
| name | Der eindeutige Namespace der Bibliotheken. Dies wird verwendet, um die Dialogfelder für Bibliotheken und lokalisierte Eingabeaufforderungen zu festigen. |
| Route |
Unterstützte routeType- Werte, die standardmäßig von findRoutes()zurückgegeben werden. |
Methoden
| add |
Hilfsmethode, die von den verschiedenen Methoden zur Routensuche aufgerufen wird, um das Hinzufügen einer Kandidatenroute zum Resultset zu verwalten.
|
| begin |
Startet proaktiv ein neues Dialogfeld mit dem Benutzer. Jede aktuelle Unterhaltung zwischen Bot und Benutzer wird durch einen neuen Dialogstapel ersetzt. |
| begin |
Registriert eine globale Aktion, die ein weiteres Dialogfeld startet, wenn es ausgelöst wird. Das neue Dialogfeld wird auf den Stapel verschoben, sodass keine aktuelle Aufgabe automatisch beendet wird. Die aktuelle Aufgabe wird fortgesetzt, sobald das neue Dialogfeld endet. Die integrierten Eingabeaufforderungen werden den Benutzer automatisch erneut auffordern, sobald dies geschieht, aber dieses Verhalten kann deaktiviert werden, indem das promptAfterAction Flag beim Aufrufen einer integrierten Eingabeaufforderung festgelegt wird. |
| best |
Sucht die beste Route, die in einem Resultset verwendet werden soll, das mehrere mehrdeutige Routen enthält. Die folgende Mehrdeutigkeitsstrategie wird verwendet:
|
| clone(Universal |
Gibt einen Klon eines vorhandenen Bots zurück. |
| connector(string, IConnector) | Registriert oder gibt einen Connector für einen bestimmten Kanal zurück. |
| custom |
Registriert eine benutzerdefinierte globale Aktion, die den übergebenen onSelectAction--Handler beim Auslösen aufruft. |
| dialog(string, Dialog | IDialog |
Registriert oder gibt ein Dialogfeld aus der Bibliothek zurück. |
| end |
Registriert eine globale Aktion, die die Unterhaltung mit dem Benutzer beendet, wenn sie ausgelöst wird. |
| find |
Ruft die aktive Dialogfelder konfidenz, dass sie die aktuelle Nachricht versteht. Das Dialogfeld muss Mitglied der aktuellen Bibliothek sein, andernfalls wird eine Bewertung von 0,0 zurückgegeben. |
| find |
Durchsucht die Bibliothek und alle zugehörigen Abhängigkeiten nach einem bestimmten Dialogfeld. Gibt das Dialogfeld zurück, falls gefunden, andernfalls NULL. |
| find |
Durchsucht die Bibliothek, um festzustellen, ob globale Aktionen ausgelöst wurden. |
| find |
Sucht nach Kandidatenrouten, um die aktuelle Nachricht zu verarbeiten. Um die Behandlung der Nachricht tatsächlich zu initiieren, sollten Sie selectRoute() mit einem der zurückgegebenen Ergebnisse aufrufen.
Die Standardmäßige Suchlogik kann mit onFindRoute()- überschrieben werden, und nur die aktuelle Bibliothek wird durchsucht, sodass Sie |
| find |
Sucht im Dialogfeld "Sitzungen" nach, um festzustellen, ob Aktionen ausgelöst wurden. |
| for |
Listet alle Dialogfelder für Bibliotheken auf. |
| for |
Listet alle untergeordneten Bibliotheken auf. Der Aufrufer sollte geeignete Schritte ausführen, um Zirkelbezüge beim Aufzählen der Hierarchie zu vermeiden. In den meisten Fällen ist das Aufrufen libraryList() eine bessere Wahl, da sie bereits Logik enthält, um Zyklen zu vermeiden. |
| get(string) | Gibt den aktuellen Wert einer Einstellung zurück. |
| is |
Gibt Informationen darüber zurück, wann die letzte Drehung zwischen dem Benutzer und einem Bot aufgetreten ist. Dies kann aufgerufen werden, bevor beginDialog, um festzustellen, ob sich der Benutzer derzeit in einer Unterhaltung mit dem Bot befindet. |
| library(Library | string) | Registriert oder gibt eine Bibliotheksabhängigkeit zurück. |
| library |
Gibt eine Liste eindeutiger Bibliotheken innerhalb der Hierarchie zurück. Sollte für den Stamm der Bibliothekshierarchie aufgerufen werden und verhindert, dass Zyklen erstellt werden, wenn zwei untergeordnete Bibliotheken auf dieselbe abhängige Bibliothek verweisen. |
| load |
Lädt ein Sitzungsobjekt für eine beliebige Adresse. |
| locale |
Ruft den Pfad zum Ordner "/locale/" der Bibliotheken ab, der die lokalisierten Eingabeaufforderungen enthält, oder legt diesen fest. Die Eingabeaufforderungen für die Bibliothek sollten in einer Datei "/locale/<IETF_TAG>/.json" unter diesem Pfad gespeichert werden, wobei "<IETF_TAG>" die 2-3-stellige Sprachtage für das Gebietsschema darstellt und "" ein Dateiname ist, der dem Bibliotheksnamespace entspricht. |
| on(string, (data: any) => void) | Registriert einen Ereignislistener. Der Bot gibt seine eigenen Ereignisse aus, während eingehende und ausgehende Nachrichten verarbeitet werden. Außerdem werden aktivitätsbezogene Ereignisse, die vom Connector ausgegeben werden, weitergeleitet, sodass Sie einen Ort zum Überwachen aller Aktivitäten von Ihrem Bot erhalten. Der Ablauf von Ereignissen vom Bot lautet wie folgt: Empfangene NachrichtWenn der Bot eine neue Nachricht empfängt, gibt er die folgenden Ereignisse in der folgenden Reihenfolge aus:
Alle Middleware empfangen, installiert wurde, wird zwischen den Ereignissen "empfangen" und "eingehenden" ausgeführt. Nachdem das Ereignis "routing" ausgegeben wurde, werden alle Botbuilder Middleware ausgeführt, bevor die Nachricht an das aktive Dialogfeld der Bots gesendet wird. Empfangene ConnectoraktivitätConnectors können Aktivitätsereignisse ausgeben, um Dinge zu signalisieren, z. B. dass ein Benutzer einen Bot eingibt oder dass er einen Bot angefreundet hat. Diese Aktivitäten werden durch Middleware wie Nachrichten weitergeleitet, aber sie werden nicht über das Bots-Dialogfeldsystem weitergeleitet. Sie werden nur als Ereignisse ausgegeben. Der Ablauf von Connectorereignissen lautet:
Gesendete NachrichtBots können mehrere Nachrichten senden, sodass die Sitzung alle ausgehenden Nachrichten stapelt und dann den aktuellen Status der Bots speichert, bevor die gesendeten Nachrichten übermittelt werden. Es wird ein einzelnes "saveStorageData"-Ereignis ausgegeben, und dann wird für jede ausgehende Nachricht im Batch die folgende Abfolge von Ereignissen angezeigt:
Alle Middleware-, die installiert wurde, werden zwischen den Ereignissen "send" und "outgoing" ausgeführt. |
| on |
Ersetzt die Standardrouten-Mehrdeutigkeitslogik der Bots durch eine benutzerdefinierte Implementierung. |
| on |
Ersetzt findRoutes() Standardroutensuchlogik durch eine benutzerdefinierte Implementierung. |
| on |
Ersetzt die Standardlogik für selectRoute() durch eine benutzerdefinierte Implementierung. |
| receive(IEvent | IEvent[], (err: Error) => void) | Wird aufgerufen, wenn ein neues Ereignis empfangen wird. Dies kann manuell aufgerufen werden, um den Bot nachzuahmen, der eine Nachricht vom Benutzer empfängt. |
| recognize(IRecognize |
Versucht, mit der Bibliothekserkennung texterkennen Absichten mit einem Benutzertext übereinzugleichen. Weitere Informationen finden Sie unter IIntentRecognizer.recognize(). |
| recognizer(IIntent |
Fügt der Bibliothek ein neues Erkennungs-Plug-In hinzu. |
| select |
Leitet die aktuelle Nachricht an das aktive Dialogfeld weiter. |
| select |
Leitet die aktuelle Nachricht an eine ausgelöste globale Aktion weiter. |
| select |
Löst die Behandlung der aktuellen Nachricht mithilfe der ausgewählten Route aus. Die Standardlogik kann mit onSelectRoute()überschrieben werden. |
| select |
Leitet die aktuelle Nachricht an eine ausgelöste Stapelaktion weiter. |
| send(IIs |
Sendet eine Nachricht an den Benutzer, ohne den Dialogstapel der aktuellen Unterhaltungen zu unterbrechen. |
| set(string, any) | Legt eine Einstellung für den Bot fest. |
| use(IMiddleware |
Installiert Middleware für den Bot. Mit Middleware können Sie eingehende und ausgehende Ereignisse/Nachrichten abfangen. |
Details zum Konstruktor
UniversalBot(IConnector, any, string)
Erstellt eine neue Instanz des UniversalBot.
new UniversalBot(connector?: IConnector, defaultDialog?: any, libraryName?: string)
Parameter
- connector
- IConnector
(Optional) Der Standardconnector, der für Anforderungen verwendet werden soll. Wenn kein spezifischerer Connector für einen Kanal registriert ist, wird dieser Connector verwendet./**
- defaultDialog
-
any
(Optional) Standardhandler für empfangene Nachrichten. Dies kann entweder eine einzelne Funktion oder eine Wasserfallsequenz sein.
- libraryName
-
string
(Optional) Bibliotheksnamespace für den Bot. Der Standardwert ist '*'.
UniversalBot(IConnector, IDialogWaterfallStep | IDialogWaterfallStep[], string)
Erstellt eine neue Instanz des UniversalBot.
new UniversalBot(connector: IConnector, defaultDialog?: IDialogWaterfallStep | IDialogWaterfallStep[], libraryName?: string)
Parameter
- connector
- IConnector
(Optional) Der Standardconnector, der für Anforderungen verwendet werden soll. Wenn kein spezifischerer Connector für einen Kanal registriert ist, wird dieser Connector verwendet./**
- defaultDialog
(Optional) Standardhandler für empfangene Nachrichten. Dies kann entweder eine einzelne Funktion oder eine Wasserfallsequenz sein.
- libraryName
-
string
(Optional) Bibliotheksnamespace für den Bot. Der Standardwert ist '*'.
UniversalBot(IConnector, IUniversalBotSettings)
Erstellt eine neue Instanz des UniversalBot.
new UniversalBot(connector: IConnector, settings?: IUniversalBotSettings)
Parameter
- connector
- IConnector
(Optional) Der Standardconnector, der für Anforderungen verwendet werden soll. Wenn kein spezifischerer Connector für einen Kanal registriert ist, wird dieser Connector verwendet./**
- settings
- IUniversalBotSettings
Details zur Eigenschaft
name
Der eindeutige Namespace der Bibliotheken. Dies wird verwendet, um die Dialogfelder für Bibliotheken und lokalisierte Eingabeaufforderungen zu festigen.
name: string
Eigenschaftswert
string
RouteTypes
Unterstützte routeType- Werte, die standardmäßig von findRoutes()zurückgegeben werden.
static RouteTypes: Object
Eigenschaftswert
Object
Details zur Methode
addRouteResult(IRouteResult, IRouteResult[])
Hilfsmethode, die von den verschiedenen Methoden zur Routensuche aufgerufen wird, um das Hinzufügen einer Kandidatenroute zum Resultset zu verwalten.
- Wenn die Bewertung größer ist, wird die aktuelle beste Übereinstimmung im Satz ein neues Resultset zurückgegeben, das nur die neue Übereinstimmung enthält.
- Wenn die Bewertung gleich der aktuellen besten Übereinstimmung ist, wird sie dem vorhandenen Satz hinzugefügt.
- Wenn die Bewertung kleiner als die aktuelle beste Übereinstimmung ist, wird sie ignoriert.
static function addRouteResult(route: IRouteResult, current?: IRouteResult[])
Parameter
- route
- IRouteResult
Die Kandidatenroute, die dem Satz hinzugefügt werden soll.
- current
(Optional) Resultset zum Hinzufügen der Route. Wenn sie nicht vorhanden ist, wird nur ein neuer Satz mit nur der Route zurückgegeben.
Gibt zurück
beginDialog(IAddress, string, any, (err: Error) => void)
Startet proaktiv ein neues Dialogfeld mit dem Benutzer. Jede aktuelle Unterhaltung zwischen Bot und Benutzer wird durch einen neuen Dialogstapel ersetzt.
function beginDialog(address: IAddress, dialogId: string, dialogArgs?: any, done?: (err: Error) => void)
Parameter
- address
- IAddress
Adresse des Benutzers, um eine neue Unterhaltung zu beginnen. Dies sollte während einer vorherigen Unterhaltung mit dem Benutzer gespeichert werden. Alle vorhandenen Unterhaltungen oder Dialogfelder werden sofort beendet.
- dialogId
-
string
DIE ID des zu beginnenden Dialogfelds.
- dialogArgs
-
any
(Optional) Argumente, die an das Dialogfeld übergeben werden sollen.
- done
-
(err: Error) => void
(Optional) Funktion, die aufgerufen werden soll, sobald der Vorgang abgeschlossen ist.
beginDialogAction(string, string, IDialogActionOptions)
Registriert eine globale Aktion, die ein weiteres Dialogfeld startet, wenn es ausgelöst wird. Das neue Dialogfeld wird auf den Stapel verschoben, sodass keine aktuelle Aufgabe automatisch beendet wird. Die aktuelle Aufgabe wird fortgesetzt, sobald das neue Dialogfeld endet. Die integrierten Eingabeaufforderungen werden den Benutzer automatisch erneut auffordern, sobald dies geschieht, aber dieses Verhalten kann deaktiviert werden, indem das promptAfterAction Flag beim Aufrufen einer integrierten Eingabeaufforderung festgelegt wird.
function beginDialogAction(name: string, id: string, options?: IDialogActionOptions)
Parameter
- name
-
string
Eindeutiger Name zum Zuweisen der Aktion.
- id
-
string
ID des zu startenden Dialogfelds.
- options
- IDialogActionOptions
(Optional) Optionen, die zum Konfigurieren der Aktion verwendet werden. Wenn Übereinstimmungen angegeben ist, lauscht der Benutzer auf ein Wort oder einen Ausdruck, der die Aktion auslöst, andernfalls muss die Aktion mit CardAction.dialogAction() an eine Schaltfläche gebunden werden, die Aktion auszulösen. Sie können auch dialogArgs verwenden, um zusätzliche Params an das zu startende Dialogfeld zu übergeben.
Gibt zurück
bestRouteResult(IRouteResult[], IDialogState[], string)
Sucht die beste Route, die in einem Resultset verwendet werden soll, das mehrere mehrdeutige Routen enthält. Die folgende Mehrdeutigkeitsstrategie wird verwendet:
- : Benutzerdefinierte Routentypen sind die höchste Priorität und werden bevorzugt. Auf diese Weise kann der Entwickler das Routing innerhalb eines Bots auf sehr leistungsstarke Weise außer Kraft setzen.
- ActiveDialog-: Das aktive Dialogfeld ist die nächste höchste Priorität.
- StackAction-: Stapelaktionen sind die nächste höchste Priorität, und die Aktion mit der tiefsten Stapelposition wird zurückgegeben.
-
GlobalAction: Globale Aktionen sind die niedrigste Priorität. Wenn ein
dialogStackin den Aktionen aus der Bibliothek am weitesten auf dem Stapel vorbei ist, wird bevorzugt. Andernfalls wird der erste zurückgegeben.
static function bestRouteResult(routes: IRouteResult[], dialogStack?: IDialogState[], rootLibraryName?: string)
Parameter
- routes
Array von Kandidatenrouten zum Filtern.
- dialogStack
(Optional) Dialogstapel, der verwendet wird, um zu bestimmen, welche globalen Bibliotheken-Aktionen bevorzugt werden sollen.
- rootLibraryName
-
string
(Optional) Bibliotheksnamespaces, die bevorzugt werden sollen, wenn globale Aktionen mehrdeutig werden, und es gibt keine Dialogfelder im Stapel.
Gibt zurück
clone(UniversalBot, string)
Gibt einen Klon eines vorhandenen Bots zurück.
function clone(copyTo?: UniversalBot, newName?: string)
Parameter
- copyTo
- UniversalBot
(Optional) Instanz, in die das aktuelle Objekt kopiert werden soll. Wenn eine neue Instanz fehlt, wird eine neue Instanz erstellt.
- newName
-
string
(Optional) Wenn angegeben, wird die zurückgegebene Kopie in einen neuen Namen umbenannt.
Gibt zurück
connector(string, IConnector)
Registriert oder gibt einen Connector für einen bestimmten Kanal zurück.
function connector(channelId: string, connector?: IConnector)
Parameter
- channelId
-
string
Eindeutige ID des Kanals. Verwenden Sie eine channelId von '*', um auf den Standardconnector zu verweisen.
- connector
- IConnector
(Optional) Connector für die Registrierung. Wenn der Connector für channelId- weggelassen wird.
Gibt zurück
customAction(IDialogActionOptions)
Registriert eine benutzerdefinierte globale Aktion, die den übergebenen onSelectAction--Handler beim Auslösen aufruft.
function customAction(options: IDialogActionOptions)
Parameter
- options
- IDialogActionOptions
Die Zum Konfigurieren der Aktion verwendeten Optionen. Wenn Übereinstimmungen angegeben ist, lauscht die Aktion dem Benutzer, um ein Wort oder einen Ausdruck zu sagen, der die Aktion auslöst. Benutzerdefinierte Abgleichslogik kann mithilfe von onFindActionbereitgestellt werden.
Gibt zurück
dialog(string, Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep, boolean)
Registriert oder gibt ein Dialogfeld aus der Bibliothek zurück.
function dialog(id: string, dialog?: Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep, replace?: boolean)
Parameter
- id
-
string
Eindeutige ID des Dialogfelds, das regsiteriert oder abgerufen wird.
- dialog
(Optional) Dialog oder Wasserfall zum Registrieren.
- dialogfeld :{Dialog}- - Dialogfeld, das hinzugefügt werden soll.
- dialogfeld :{IDialogWaterfallStep[]} – Wasserfall der auszuführenden Schritte. Weitere Informationen finden Sie unter IDialogWaterfallStep.
- dialogfeld :{IDialogWaterfallStep} - Wasserfall mit einem Schritt. Das Aufrufen einer integrierten Eingabeaufforderung oder das Starten eines neuen Dialogfelds führt dazu, dass das aktuelle Dialogfeld nach Abschluss der untergeordneten Eingabeaufforderung/des untergeordneten Dialogfelds endet.
- replace
-
boolean
(Optional) Wenn wahr, sollte das Dialogfeld das vorhandene Dialogfeld ersetzen, falls bereits registriert.
Gibt zurück
endConversationAction(string, TextOrMessageType, ICancelActionOptions)
Registriert eine globale Aktion, die die Unterhaltung mit dem Benutzer beendet, wenn sie ausgelöst wird.
function endConversationAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)
Parameter
- name
-
string
Eindeutiger Name zum Zuweisen der Aktion.
(Optional) Nachricht, die den Benutzer vor dem Beenden der Unterhaltung sendet.
- options
- ICancelActionOptions
(Optional) Optionen, die zum Konfigurieren der Aktion verwendet werden. Wenn Übereinstimmungen angegeben ist, lauscht der Benutzer auf ein Wort oder einen Ausdruck, der die Aktion auslöst, andernfalls muss die Aktion mit CardAction.dialogAction() an eine Schaltfläche gebunden werden, die Aktion auszulösen.
Gibt zurück
findActiveDialogRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void, IDialogState[])
Ruft die aktive Dialogfelder konfidenz, dass sie die aktuelle Nachricht versteht. Das Dialogfeld muss Mitglied der aktuellen Bibliothek sein, andernfalls wird eine Bewertung von 0,0 zurückgegeben.
function findActiveDialogRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void, dialogStack?: IDialogState[])
Parameter
- context
- IRecognizeContext
Schreibgeschützter Erkennungskontext für die aktuelle Unterhaltung.
- callback
-
(err: Error, routes: IRouteResult[]) => void
Funktion, die mit den gefundenen Routen aufgerufen werden soll.
- dialogStack
(Optional) Dialogstapel zum Durchsuchen. Das Standardverhalten besteht darin, über den aktuellen Dialogstapel der Sitzungen zu suchen.
findDialog(string, string)
Durchsucht die Bibliothek und alle zugehörigen Abhängigkeiten nach einem bestimmten Dialogfeld. Gibt das Dialogfeld zurück, falls gefunden, andernfalls NULL.
function findDialog(libName: string, dialogId: string)
Parameter
- libName
-
string
Name der Bibliothek, die das Dialogfeld enthält.
- dialogId
-
string
Eindeutige ID des Dialogfelds innerhalb der Bibliothek.
Gibt zurück
findGlobalActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void)
Durchsucht die Bibliothek, um festzustellen, ob globale Aktionen ausgelöst wurden.
function findGlobalActionRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void)
Parameter
- context
- IRecognizeContext
Schreibgeschützter Erkennungskontext für die aktuelle Unterhaltung.
- callback
-
(err: Error, routes: IRouteResult[]) => void
Funktion, die mit den gefundenen Routen aufgerufen werden soll.
findRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void)
Sucht nach Kandidatenrouten, um die aktuelle Nachricht zu verarbeiten. Um die Behandlung der Nachricht tatsächlich zu initiieren, sollten Sie selectRoute() mit einem der zurückgegebenen Ergebnisse aufrufen.
Die Standardmäßige Suchlogik kann mit onFindRoute()- überschrieben werden, und nur die aktuelle Bibliothek wird durchsucht, sodass Sie findRoutes() separat für jede Bibliothek innerhalb der Hierarchie aufrufen sollten.
function findRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void)
Parameter
- context
- IRecognizeContext
Schreibgeschützter Erkennungskontext für die aktuelle Unterhaltung.
- callback
-
(err: Error, routes: IRouteResult[]) => void
Funktion, die mit den gefundenen Routen aufgerufen werden soll.
findStackActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void, IDialogState[])
Sucht im Dialogfeld "Sitzungen" nach, um festzustellen, ob Aktionen ausgelöst wurden.
function findStackActionRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void, dialogStack?: IDialogState[])
Parameter
- context
- IRecognizeContext
Schreibgeschützter Erkennungskontext für die aktuelle Unterhaltung.
- callback
-
(err: Error, routes: IRouteResult[]) => void
Funktion, die mit den gefundenen Routen aufgerufen werden soll.
- dialogStack
(Optional) Dialogstapel zum Durchsuchen. Das Standardverhalten besteht darin, über den aktuellen Dialogstapel der Sitzungen zu suchen.
forEachDialog((dialog: Dialog, id: string) => void)
Listet alle Dialogfelder für Bibliotheken auf.
function forEachDialog(callback: (dialog: Dialog, id: string) => void)
Parameter
- callback
-
(dialog: Dialog, id: string) => void
Iteratorfunktion, die mit jedem Dialogfeld aufgerufen werden soll.
forEachLibrary((library: Library) => void)
Listet alle untergeordneten Bibliotheken auf. Der Aufrufer sollte geeignete Schritte ausführen, um Zirkelbezüge beim Aufzählen der Hierarchie zu vermeiden. In den meisten Fällen ist das Aufrufen libraryList() eine bessere Wahl, da sie bereits Logik enthält, um Zyklen zu vermeiden.
function forEachLibrary(callback: (library: Library) => void)
Parameter
- callback
-
(library: Library) => void
Iteratorfunktion, die mit jeder untergeordneten Bibliothek aufgerufen werden soll.
get(string)
Gibt den aktuellen Wert einer Einstellung zurück.
function get(name: string)
Parameter
- name
-
string
Der Name der zurückzugebenden Eigenschaft. Gültige Namen sind Eigenschaften für IUniversalBotSettings.
Gibt zurück
any
isInConversation(IAddress, (err: Error, lastAccess: Date) => void)
Gibt Informationen darüber zurück, wann die letzte Drehung zwischen dem Benutzer und einem Bot aufgetreten ist. Dies kann aufgerufen werden, bevor beginDialog, um festzustellen, ob sich der Benutzer derzeit in einer Unterhaltung mit dem Bot befindet.
function isInConversation(address: IAddress, callback: (err: Error, lastAccess: Date) => void)
Parameter
- address
- IAddress
Adresse des Benutzers, der nachschlagen soll. Dies sollte während einer vorherigen Unterhaltung mit dem Benutzer gespeichert werden.
- callback
-
(err: Error, lastAccess: Date) => void
Funktion, die mit den Ergebnissen der Abfrage aufgerufen werden soll.
library(Library | string)
Registriert oder gibt eine Bibliotheksabhängigkeit zurück.
function library(lib: Library | string)
Parameter
- lib
-
Library | string
- lib:{Library} – Bibliothek, die als Abhängigkeit registriert werden soll.
- lib:{string}- – Eindeutiger Name der bibliothek, die nachschlagen soll. Alle Abhängigkeiten werden ebenfalls durchsucht.
Gibt zurück
libraryList(boolean)
Gibt eine Liste eindeutiger Bibliotheken innerhalb der Hierarchie zurück. Sollte für den Stamm der Bibliothekshierarchie aufgerufen werden und verhindert, dass Zyklen erstellt werden, wenn zwei untergeordnete Bibliotheken auf dieselbe abhängige Bibliothek verweisen.
function libraryList(reverse?: boolean)
Parameter
- reverse
-
boolean
(Optional) Wenn "true"-Liste aus den Blättern generiert wird, was bedeutet, dass die Stammbibliothek zuletzt aufgeführt wird. Der Standardwert ist "false", was bedeutet, dass er aus den Wurzeln nach unten generiert wird und die Stammbibliothek zuerst aufgelistet wird.
Gibt zurück
Library[]
loadSession(IAddress, (err: Error, session: Session) => void)
Lädt ein Sitzungsobjekt für eine beliebige Adresse.
function loadSession(address: IAddress, callback: (err: Error, session: Session) => void)
Parameter
- address
- IAddress
Adresse des zu ladenden Benutzers/der Sitzung. Dies sollte während einer vorherigen Unterhaltung mit dem Benutzer gespeichert werden.
- callback
-
(err: Error, session: Session) => void
Funktion, die mit der geladenen Sitzung aufgerufen werden soll.
localePath(string)
Ruft den Pfad zum Ordner "/locale/" der Bibliotheken ab, der die lokalisierten Eingabeaufforderungen enthält, oder legt diesen fest. Die Eingabeaufforderungen für die Bibliothek sollten in einer Datei "/locale/<IETF_TAG>/.json" unter diesem Pfad gespeichert werden, wobei "<IETF_TAG>" die 2-3-stellige Sprachtage für das Gebietsschema darstellt und "" ein Dateiname ist, der dem Bibliotheksnamespace entspricht.
function localePath(path?: string)
Parameter
- path
-
string
(Optional) Pfad zum Ordner "/locale/" der Bibliotheken. Wenn angegeben, wird der Bibliothekspfad aktualisiert.
Gibt zurück
string
on(string, (data: any) => void)
Registriert einen Ereignislistener. Der Bot gibt seine eigenen Ereignisse aus, während eingehende und ausgehende Nachrichten verarbeitet werden. Außerdem werden aktivitätsbezogene Ereignisse, die vom Connector ausgegeben werden, weitergeleitet, sodass Sie einen Ort zum Überwachen aller Aktivitäten von Ihrem Bot erhalten. Der Ablauf von Ereignissen vom Bot lautet wie folgt:
Empfangene Nachricht
Wenn der Bot eine neue Nachricht empfängt, gibt er die folgenden Ereignisse in der folgenden Reihenfolge aus:
lookupUser -> receive -> incoming -> getStorageData -> routing
Alle Middleware empfangen, installiert wurde, wird zwischen den Ereignissen "empfangen" und "eingehenden" ausgeführt. Nachdem das Ereignis "routing" ausgegeben wurde, werden alle Botbuilder Middleware ausgeführt, bevor die Nachricht an das aktive Dialogfeld der Bots gesendet wird.
Empfangene Connectoraktivität
Connectors können Aktivitätsereignisse ausgeben, um Dinge zu signalisieren, z. B. dass ein Benutzer einen Bot eingibt oder dass er einen Bot angefreundet hat. Diese Aktivitäten werden durch Middleware wie Nachrichten weitergeleitet, aber sie werden nicht über das Bots-Dialogfeldsystem weitergeleitet. Sie werden nur als Ereignisse ausgegeben.
Der Ablauf von Connectorereignissen lautet:
lookupUser -> empfangen -> (Aktivität)
Gesendete Nachricht
Bots können mehrere Nachrichten senden, sodass die Sitzung alle ausgehenden Nachrichten stapelt und dann den aktuellen Status der Bots speichert, bevor die gesendeten Nachrichten übermittelt werden. Es wird ein einzelnes "saveStorageData"-Ereignis ausgegeben, und dann wird für jede ausgehende Nachricht im Batch die folgende Abfolge von Ereignissen angezeigt:
send -> ausgehend
Alle Middleware-, die installiert wurde, werden zwischen den Ereignissen "send" und "outgoing" ausgeführt.
function on(event: string, listener: (data: any) => void)
Parameter
- event
-
string
Name des Ereignisses. Bot- und Connector-spezifische Ereignistypen:
Bot-Ereignisse
-
Fehler: Ein Fehler ist aufgetreten. Ein JavaScript-
Error-Objekt wurde übergeben. - LookupUser: Der Benutzer ist für eine Adresse vorgesehen, um nachzuschlagen. Es wurde ein IAddress-Objekt übergeben.
- empfangen: Eine eingehende Nachricht wurde empfangen. Ein IEvent--Objekt wurde übergeben.
- eingehenden: Eine eingehende Nachricht wurde von Middleware empfangen und verarbeitet. Ein IMessage--Objekt wurde übergeben.
- Routing: Eine eingehende Nachricht wurde an eine Sitzung gebunden und ist dabei, über jede Session Middleware weitergeleitet und dann an das aktive Dialogfeld zur Verarbeitung weitergeleitet zu werden. Ein Session-Objekt wurde übergeben.
- senden: Eine ausgehende Nachricht wird zur Verarbeitung an Middleware gesendet. Ein IMessage--Objekt wurde übergeben.
- ausgehend: Eine ausgehende Nachricht wurde gerade über Middleware gesendet und wird an den Chatclient des Benutzers übermittelt.
- getStorageData: Die Gespeicherten Zustandsdaten der Sitzungen werden aus dem Speicher geladen. Es wurde ein IBotStorageContext--Objekt übergeben.
- saveStorageData: Die Gespeicherten Zustandsdaten der Sitzungen werden in den Speicher geschrieben. Es wurde ein IBotStorageContext--Objekt übergeben.
ChatConnector-Ereignisse
- conversationUpdate: Ihr Bot wurde zu einer Unterhaltung oder anderen Unterhaltungsmetadaten hinzugefügt. Es wurde ein IConversationUpdate--Objekt übergeben.
- contactRelationUpdate: Der Bot wurde der Kontaktliste eines Benutzers hinzugefügt oder daraus entfernt. Es wurde ein IContactRelationUpdate-Objekt übergeben.
- Eingabe: Der Benutzer oder Bot am anderen Ende der Unterhaltung tippt. Ein IEvent--Objekt wurde übergeben.
- listener
-
(data: any) => void
Funktion, die aufgerufen werden soll.
onDisambiguateRoute(IDisambiguateRouteHandler)
Ersetzt die Standardrouten-Mehrdeutigkeitslogik der Bots durch eine benutzerdefinierte Implementierung.
function onDisambiguateRoute(handler: IDisambiguateRouteHandler)
Parameter
- handler
- IDisambiguateRouteHandler
Funktion, die mit den Kandidaten aufgerufen wird, um eine eingehende Nachricht zu senden.
onFindRoutes(IFindRoutesHandler)
Ersetzt findRoutes() Standardroutensuchlogik durch eine benutzerdefinierte Implementierung.
function onFindRoutes(handler: IFindRoutesHandler)
Parameter
- handler
- IFindRoutesHandler
Funktion, die jederzeit aufgerufen wird, findRoutes() für die Bibliothek aufgerufen wird.
onSelectRoute(ISelectRouteHandler)
Ersetzt die Standardlogik für selectRoute() durch eine benutzerdefinierte Implementierung.
function onSelectRoute(handler: ISelectRouteHandler)
Parameter
- handler
- ISelectRouteHandler
Funktion, die jederzeit aufgerufen wird, selectRoute() aufgerufen wird.
receive(IEvent | IEvent[], (err: Error) => void)
Wird aufgerufen, wenn ein neues Ereignis empfangen wird. Dies kann manuell aufgerufen werden, um den Bot nachzuahmen, der eine Nachricht vom Benutzer empfängt.
function receive(events: IEvent | IEvent[], done?: (err: Error) => void)
Parameter
- done
-
(err: Error) => void
(Optional) Funktion, die aufgerufen werden soll, sobald der Vorgang abgeschlossen ist.
recognize(IRecognizeContext, (err: Error, result: IIntentRecognizerResult) => void)
Versucht, mit der Bibliothekserkennung texterkennen Absichten mit einem Benutzertext übereinzugleichen. Weitere Informationen finden Sie unter IIntentRecognizer.recognize().
function recognize(context: IRecognizeContext, callback: (err: Error, result: IIntentRecognizerResult) => void)
Parameter
- context
- IRecognizeContext
Schreibgeschützter Erkennungskontext für die aktuelle Unterhaltung.
- callback
-
(err: Error, result: IIntentRecognizerResult) => void
Funktion, die nach Abschluss der Erkennung aufgerufen werden soll.
recognizer(IIntentRecognizer)
Fügt der Bibliothek ein neues Erkennungs-Plug-In hinzu.
function recognizer(plugin: IIntentRecognizer)
Parameter
- plugin
- IIntentRecognizer
Die hinzuzufügende Erkennung.
Gibt zurück
selectActiveDialogRoute(Session, IRouteResult, IDialogState[])
Leitet die aktuelle Nachricht an das aktive Dialogfeld weiter.
function selectActiveDialogRoute(session: Session, route: IRouteResult, newStack?: IDialogState[])
Parameter
- session
- Session
Session-Objekt für die aktuelle Unterhaltung.
- route
- IRouteResult
Route result returned from a previous call to findRoutes() or findActiveDialogRoutes().
- newStack
selectGlobalActionRoute(Session, IRouteResult, IDialogState[])
Leitet die aktuelle Nachricht an eine ausgelöste globale Aktion weiter.
function selectGlobalActionRoute(session: Session, route: IRouteResult, newStack?: IDialogState[])
Parameter
- session
- Session
Session-Objekt für die aktuelle Unterhaltung.
- route
- IRouteResult
Route result returned from a previous call to findRoutes() or findGlobalActionRoutes().
- newStack
selectRoute(Session, IRouteResult)
Löst die Behandlung der aktuellen Nachricht mithilfe der ausgewählten Route aus. Die Standardlogik kann mit onSelectRoute()überschrieben werden.
function selectRoute(session: Session, route: IRouteResult)
Parameter
- session
- Session
Session-Objekt für die aktuelle Unterhaltung.
- route
- IRouteResult
Route result returned from a previous call to findRoutes().
selectStackActionRoute(Session, IRouteResult, IDialogState[])
Leitet die aktuelle Nachricht an eine ausgelöste Stapelaktion weiter.
function selectStackActionRoute(session: Session, route: IRouteResult, newStack?: IDialogState[])
Parameter
- session
- Session
Session-Objekt für die aktuelle Unterhaltung.
- route
- IRouteResult
Route result returned from a previous call to findRoutes() or findStackActionRoutes().
- newStack
send(IIsMessage | IMessage | IMessage[], (err: Error, addresses?: IAddress[]) => void)
Sendet eine Nachricht an den Benutzer, ohne den Dialogstapel der aktuellen Unterhaltungen zu unterbrechen.
function send(messages: IIsMessage | IMessage | IMessage[], done?: (err: Error, addresses?: IAddress[]) => void)
Parameter
- messages
-
IIsMessage | IMessage | IMessage[]
Die Nachricht (oder das Array von Nachrichten), die der Benutzer senden soll.
- done
-
(err: Error, addresses?: IAddress[]) => void
(Optional) Funktion, die aufgerufen werden soll, sobald der Vorgang abgeschlossen ist.
set(string, any)
Legt eine Einstellung für den Bot fest.
function set(name: string, value: any)
Parameter
- name
-
string
Name der festzulegenden Eigenschaft. Gültige Namen sind Eigenschaften für IUniversalBotSettings.
- value
-
any
Der Wert, der der Einstellung zugewiesen werden soll.
Gibt zurück
use(IMiddlewareMap[])
Installiert Middleware für den Bot. Mit Middleware können Sie eingehende und ausgehende Ereignisse/Nachrichten abfangen.
function use(args: IMiddlewareMap[])
Parameter
- args
Mindestens eine Reihe von Middleware-Hooks, die installiert werden sollen.