Partager via


UniversalBot class

Gère vos conversations de bots avec des utilisateurs sur plusieurs canaux.

Extends

Constructeurs

UniversalBot(IConnector, any, string)

Crée une instance de UniversalBot.

UniversalBot(IConnector, IDialogWaterfallStep | IDialogWaterfallStep[], string)

Crée une instance de UniversalBot.

UniversalBot(IConnector, IUniversalBotSettings)

Crée une instance de UniversalBot.

Propriétés

name

Espace de noms unique des bibliothèques. Il est utilisé pour issoler les dialogues de bibliothèques et les invites localisées.

RouteTypes

Valeurs routeType prises en charge par défaut à partir de findRoutes().

Méthodes

addRouteResult(IRouteResult, IRouteResult[])

Méthode d’assistance appelée à partir des différentes méthodes de recherche d’itinéraires pour gérer l’ajout d’un itinéraire candidat au jeu de résultats.

  • Si le score est supérieur, la meilleure correspondance actuelle dans le jeu de résultats est retournée contenant uniquement la nouvelle correspondance.
  • Si le score est égal à la meilleure correspondance actuelle, il sera ajouté au jeu existant.
  • Si le score est inférieur à la meilleure correspondance actuelle, il est ignoré.
beginDialog(IAddress, string, any, (err: Error) => void)

Démarre de manière proactive une nouvelle boîte de dialogue avec l’utilisateur. Toute conversation actuelle entre le bot et l’utilisateur sera remplacée par une nouvelle pile de dialogues.

beginDialogAction(string, string, IDialogActionOptions)

Inscrit une action globale qui démarre une autre boîte de dialogue chaque fois qu’elle est déclenchée. La nouvelle boîte de dialogue est envoyée (push) sur la pile afin qu’elle ne termine pas automatiquement une tâche actuelle. La tâche actuelle sera poursuivie une fois la nouvelle boîte de dialogue terminée. Les invites intégrées invitent automatiquement l’utilisateur une fois que cela se produit, mais ce comportement peut être désactivé en définissant l’indicateur promptAfterAction lors de l’appel d’une invite intégrée.

bestRouteResult(IRouteResult[], IDialogState[], string)

Recherche le meilleur itinéraire à utiliser dans un jeu de résultats contenant plusieurs itinéraires ambigus. La stratégie d’ambiguïté suivante sera utilisée :

  1. : les types d’itinéraires personnalisés sont la priorité la plus élevée et alwsays sont préférés. Cela permet au développeur de remplacer le routage au sein d’un bot de manière très puissante.
  2. activeDialog: la boîte de dialogue active est la priorité la plus élevée suivante.
  3. StackAction: les actions de pile sont la priorité la plus élevée suivante et l’action avec la position de pile la plus profonde est retournée.
  4. GlobalAction: les actions globales sont la priorité la plus faible. Si une dialogStack est passée dans les actions de la bibliothèque la plus profonde sur la pile sera favorisée. Sinon, le premier sera retourné.
clone(UniversalBot, string)

Retourne un clone d’un bot existant.

connector(string, IConnector)

Inscrit ou retourne un connecteur pour un canal spécifique.

customAction(IDialogActionOptions)

Inscrit une action globale personnalisée qui appelle le gestionnaire onSelectAction transmis lors du déclenchement.

dialog(string, Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep, boolean)

Inscrit ou retourne une boîte de dialogue à partir de la bibliothèque.

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

Inscrit une action globale qui met fin à la conversation avec l’utilisateur lorsqu’il est déclenché.

findActiveDialogRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void, IDialogState[])

Obtient la confiance des dialogues actifs qu’il comprend le message actuel. La boîte de dialogue doit être membre de la bibliothèque active, sinon un score de 0,0 est retourné.

findDialog(string, string)

Recherche la bibliothèque et toutes ses dépendances pour une boîte de dialogue spécifique. Retourne la boîte de dialogue si elle est trouvée, sinon null.

findGlobalActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void)

Recherche dans la bibliothèque si des actions globales ont été déclenchées.

findRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void)

Recherche les itinéraires candidats pour gérer le message actuel. Pour lancer réellement la gestion du message, vous devez appeler selectRoute() avec l’un des résultats retournés. La logique de recherche par défaut peut être remplacée à l’aide de onFindRoute() et seule la bibliothèque active est recherchée. Vous devez donc appeler findRoutes() séparément pour chaque bibliothèque au sein de la hiérarchie.

findStackActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void, IDialogState[])

Recherche dans la pile des sessions la pile des dialogues pour voir si des actions ont été déclenchées.

forEachDialog((dialog: Dialog, id: string) => void)

Énumère toutes les boîtes de dialogue des bibliothèques.

forEachLibrary((library: Library) => void)

Énumère toutes les bibliothèques enfants de bibliothèques. L’appelant doit prendre les mesures appropriées pour éviter les références circulaires lors de l’énumération de la hiérarchie. Dans la plupart des cas, l’appel de libraryList() est un meilleur choix, car il contient déjà une logique pour éviter les cycles.

get(string)

Retourne la valeur actuelle d’un paramètre.

isInConversation(IAddress, (err: Error, lastAccess: Date) => void)

Retourne des informations sur le moment où le dernier tour entre l’utilisateur et un bot s’est produit. Cela peut être appelé avant beginDialog pour déterminer si l’utilisateur est actuellement dans une conversation avec le bot.

library(Library | string)

Inscrit ou retourne une dépendance de bibliothèque.

libraryList(boolean)

Retourne une liste de bibliothèques uniques dans la hiérarchie. Doit être appelé à la racine de la hiérarchie de bibliothèque et évite les cycles créés lorsque deux bibliothèques enfants font référence à la même bibliothèque dépendante.

loadSession(IAddress, (err: Error, session: Session) => void)

Charge un objet de session pour une adresse arbitraire.

localePath(string)

Obtient ou définit le chemin d’accès aux bibliothèques « /locale/ » contenant ses invites localisées. Les invites de la bibliothèque doivent être stockées dans un fichier « /locale/<IETF_TAG>/.json» sous ce chemin d’accès où «<IETF_TAG>» représente le tage de langue à 2 à 3 chiffres pour les paramètres régionaux et « » est un nom de fichier correspondant à l’espace de noms des bibliothèques.

on(string, (data: any) => void)

Inscrit un écouteur d’événements. Le bot émet ses propres événements au fur et à mesure qu’il traite les messages entrants et sortants. Il transfère également les événements liés à l’activité émis à partir du connecteur, ce qui vous permet d’écouter toutes les activités de votre bot. Le flux d’événements du bot est le suivant :

Message reçu

Lorsque le bot reçoit un nouveau message, il émet les événements suivants dans l’ordre :

lookupUser - réception> -> entrant -> getStorageData - routage>

Tous les middleware de réception qui ont été installés sont exécutés entre les événements « receive » et « entrant ». Une fois l’événement « routage » émis n’importe quel intergiciel botbuilder botbuilder sera exécuté avant de distribuer le message au dialogue actif des bots.

Activité du connecteur reçue

Les connecteurs peuvent émettre des événements d’activité pour signaler des éléments tels qu’un utilisateur tape ou qu’il a ami un bot. Ces activités sont routées via un intergiciel comme des messages, mais elles ne sont pas routées via le système de dialogue bots. Ils ne sont émis qu’en tant qu’événements.

Le flux d’événements du connecteur est :

lookupUser - réception> -> (activité)

Message envoyé

Les bots peuvent envoyer plusieurs messages afin que la session effectue un traitement par lots de tous les messages sortants, puis enregistre l’état actuel des bots avant de remettre les messages envoyés. Vous verrez un seul événement « saveStorageData » émis, puis pour chaque message sortant dans le lot, vous verrez la séquence d’événements suivante :

send -> sortant

Tous les envoyer des intergiciels qui ont été installés sont exécutés entre les événements « send » et « sortant ».

onDisambiguateRoute(IDisambiguateRouteHandler)

Remplace la logique d’ambiguïté des itinéraires par défaut par les bots par une implémentation personnalisée.

onFindRoutes(IFindRoutesHandler)

Remplace findRoutes() logique de recherche de routage par défaut par une implémentation personnalisée.

onSelectRoute(ISelectRouteHandler)

Remplace la logique par défaut pour selectRoute() par une implémentation personnalisée.

receive(IEvent | IEvent[], (err: Error) => void)

Appelé lorsqu’un nouvel événement est reçu. Cela peut être appelé manuellement pour imiter le bot recevant un message de l’utilisateur.

recognize(IRecognizeContext, (err: Error, result: IIntentRecognizerResult) => void)

Tente de faire correspondre un énoncé de texte utilisateur à une intention à l’aide des modules de reconnaissance de bibliothèques. Pour plus d’informations, consultez IIntentRecognizer.recognize().

recognizer(IIntentRecognizer)

Ajoute un nouveau plug-in recognizer à la bibliothèque.

selectActiveDialogRoute(Session, IRouteResult, IDialogState[])

Route le message actuel vers la boîte de dialogue active.

selectGlobalActionRoute(Session, IRouteResult, IDialogState[])

Route le message actuel vers une action globale déclenchée.

selectRoute(Session, IRouteResult)

Déclenche la gestion du message actuel à l’aide de l’itinéraire sélectionné. La logique par défaut peut être remplacée à l’aide de onSelectRoute().

selectStackActionRoute(Session, IRouteResult, IDialogState[])

Route le message actuel vers une action de pile déclenchée.

send(IIsMessage | IMessage | IMessage[], (err: Error, addresses?: IAddress[]) => void)

Envoie un message à l’utilisateur sans interrompre la pile de dialogues de conversations actuelles.

set(string, any)

Définit un paramètre sur le bot.

use(IMiddlewareMap[])

Installe l’intergiciel pour le bot. Middleware vous permet d’intercepter les événements/messages entrants et sortants.

Détails du constructeur

UniversalBot(IConnector, any, string)

Crée une instance de UniversalBot.

new UniversalBot(connector?: IConnector, defaultDialog?: any, libraryName?: string)

Paramètres

connector
IConnector

(Facultatif) connecteur par défaut à utiliser pour les demandes. S’il n’existe pas de connecteur plus spécifique inscrit pour un canal, ce connecteur sera utilisé./**

defaultDialog

any

(Facultatif) gestionnaire par défaut des messages reçus. Il peut s’agir d’une fonction individuelle ou d’une séquence en cascade.

libraryName

string

(Facultatif) espace de noms de bibliothèque pour le bot. La valeur par défaut est '*'.

UniversalBot(IConnector, IDialogWaterfallStep | IDialogWaterfallStep[], string)

Crée une instance de UniversalBot.

new UniversalBot(connector: IConnector, defaultDialog?: IDialogWaterfallStep | IDialogWaterfallStep[], libraryName?: string)

Paramètres

connector
IConnector

(Facultatif) connecteur par défaut à utiliser pour les demandes. S’il n’existe pas de connecteur plus spécifique inscrit pour un canal, ce connecteur sera utilisé./**

defaultDialog

IDialogWaterfallStep | IDialogWaterfallStep[]

(Facultatif) gestionnaire par défaut des messages reçus. Il peut s’agir d’une fonction individuelle ou d’une séquence en cascade.

libraryName

string

(Facultatif) espace de noms de bibliothèque pour le bot. La valeur par défaut est '*'.

UniversalBot(IConnector, IUniversalBotSettings)

Crée une instance de UniversalBot.

new UniversalBot(connector: IConnector, settings?: IUniversalBotSettings)

Paramètres

connector
IConnector

(Facultatif) connecteur par défaut à utiliser pour les demandes. S’il n’existe pas de connecteur plus spécifique inscrit pour un canal, ce connecteur sera utilisé./**

Détails de la propriété

name

Espace de noms unique des bibliothèques. Il est utilisé pour issoler les dialogues de bibliothèques et les invites localisées.

name: string

Valeur de propriété

string

RouteTypes

Valeurs routeType prises en charge par défaut à partir de findRoutes().

static RouteTypes: Object

Valeur de propriété

Object

Détails de la méthode

addRouteResult(IRouteResult, IRouteResult[])

Méthode d’assistance appelée à partir des différentes méthodes de recherche d’itinéraires pour gérer l’ajout d’un itinéraire candidat au jeu de résultats.

  • Si le score est supérieur, la meilleure correspondance actuelle dans le jeu de résultats est retournée contenant uniquement la nouvelle correspondance.
  • Si le score est égal à la meilleure correspondance actuelle, il sera ajouté au jeu existant.
  • Si le score est inférieur à la meilleure correspondance actuelle, il est ignoré.
static function addRouteResult(route: IRouteResult, current?: IRouteResult[])

Paramètres

route
IRouteResult

Itinéraire candidat à ajouter à l’ensemble.

current

IRouteResult[]

(Facultatif) jeu de résultats pour ajouter l’itinéraire également. S’il est manquant, un nouvel ensemble avec uniquement l’itinéraire est retourné.

Retours

beginDialog(IAddress, string, any, (err: Error) => void)

Démarre de manière proactive une nouvelle boîte de dialogue avec l’utilisateur. Toute conversation actuelle entre le bot et l’utilisateur sera remplacée par une nouvelle pile de dialogues.

function beginDialog(address: IAddress, dialogId: string, dialogArgs?: any, done?: (err: Error) => void)

Paramètres

address
IAddress

Adresse de l’utilisateur pour démarrer une nouvelle conversation avec. Cela doit être enregistré lors d’une conversation précédente avec l’utilisateur. Toute conversation ou boîte de dialogue existante est immédiatement arrêtée.

dialogId

string

ID de la boîte de dialogue à commencer.

dialogArgs

any

(Facultatif) arguments à passer à la boîte de dialogue.

done

(err: Error) => void

(Facultatif) fonction à appeler une fois l’opération terminée.

beginDialogAction(string, string, IDialogActionOptions)

Inscrit une action globale qui démarre une autre boîte de dialogue chaque fois qu’elle est déclenchée. La nouvelle boîte de dialogue est envoyée (push) sur la pile afin qu’elle ne termine pas automatiquement une tâche actuelle. La tâche actuelle sera poursuivie une fois la nouvelle boîte de dialogue terminée. Les invites intégrées invitent automatiquement l’utilisateur une fois que cela se produit, mais ce comportement peut être désactivé en définissant l’indicateur promptAfterAction lors de l’appel d’une invite intégrée.

function beginDialogAction(name: string, id: string, options?: IDialogActionOptions)

Paramètres

name

string

Nom unique à affecter l’action.

id

string

ID de la boîte de dialogue à démarrer.

options
IDialogActionOptions

(Facultatif) options utilisées pour configurer l’action. Si correspond à est spécifié, l’action écoute l’utilisateur pour dire un mot ou une expression qui déclenche l’action, sinon l’action doit être liée à un bouton à l’aide de CardAction.dialogAction() pour déclencher l’action. Vous pouvez également utiliser dialogArgs pour transmettre des paramètres supplémentaires au dialogue démarré.

Retours

bestRouteResult(IRouteResult[], IDialogState[], string)

Recherche le meilleur itinéraire à utiliser dans un jeu de résultats contenant plusieurs itinéraires ambigus. La stratégie d’ambiguïté suivante sera utilisée :

  1. : les types d’itinéraires personnalisés sont la priorité la plus élevée et alwsays sont préférés. Cela permet au développeur de remplacer le routage au sein d’un bot de manière très puissante.
  2. activeDialog: la boîte de dialogue active est la priorité la plus élevée suivante.
  3. StackAction: les actions de pile sont la priorité la plus élevée suivante et l’action avec la position de pile la plus profonde est retournée.
  4. GlobalAction: les actions globales sont la priorité la plus faible. Si une dialogStack est passée dans les actions de la bibliothèque la plus profonde sur la pile sera favorisée. Sinon, le premier sera retourné.
static function bestRouteResult(routes: IRouteResult[], dialogStack?: IDialogState[], rootLibraryName?: string)

Paramètres

routes

IRouteResult[]

Tableau d’itinéraires candidats à filtrer.

dialogStack

IDialogState[]

(Facultatif) pile de dialogues utilisée pour déterminer quelles bibliothèques les actions globales à privilégier.

rootLibraryName

string

(Facultatif) espace de noms de bibliothèque à préférer lors de l’ambiguïté des actions globales et qu’il n’y a pas de dialogues sur la pile.

Retours

clone(UniversalBot, string)

Retourne un clone d’un bot existant.

function clone(copyTo?: UniversalBot, newName?: string)

Paramètres

copyTo
UniversalBot

(Facultatif) instance vers laquelle copier l’objet actuel. Si une nouvelle instance est manquante, elle est créée.

newName

string

(Facultatif) si la copie retournée est renommée en nouveau nom.

Retours

connector(string, IConnector)

Inscrit ou retourne un connecteur pour un canal spécifique.

function connector(channelId: string, connector?: IConnector)

Paramètres

channelId

string

ID unique du canal. Utilisez un channelId de '*' pour référencer le connecteur par défaut.

connector
IConnector

(Facultatif) connecteur à inscrire. Si le connecteur est ommité pour channelId est retourné.

Retours

customAction(IDialogActionOptions)

Inscrit une action globale personnalisée qui appelle le gestionnaire onSelectAction transmis lors du déclenchement.

function customAction(options: IDialogActionOptions)

Paramètres

options
IDialogActionOptions

Options utilisées pour configurer l’action. Si correspond à est spécifié, l’action écoute l’utilisateur pour dire un mot ou une expression qui déclenche l’action. Une logique de correspondance personnalisée peut être fournie à l’aide de onFindAction.

Retours

dialog(string, Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep, boolean)

Inscrit ou retourne une boîte de dialogue à partir de la bibliothèque.

function dialog(id: string, dialog?: Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep, replace?: boolean)

Paramètres

id

string

ID unique de la boîte de dialogue régérée ou récupérée.

dialog

Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep

(Facultatif) boîte de dialogue ou cascade à inscrire.

  • boîte de dialogue :{Dialog} - Boîte de dialogue à ajouter.
  • boîte de dialogue :{IDialogWaterfallStep[]} - Cascade d’étapes à exécuter. Pour plus d’informations, consultez IDialogWaterfallStep.
  • boîte de dialogue :{IDialogWaterfallStep} - Cascade à étape unique. L’appel d’une invite intégrée ou le démarrage d’une nouvelle boîte de dialogue entraîne la fin du dialogue actuel à l’achèvement de l’invite/boîte de dialogue enfant.
replace

boolean

(Facultatif) si la valeur est true, la boîte de dialogue doit remplacer la boîte de dialogue existante si elle est déjà inscrite.

Retours

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

Inscrit une action globale qui met fin à la conversation avec l’utilisateur lorsqu’il est déclenché.

function endConversationAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)

Paramètres

name

string

Nom unique à affecter l’action.

msg
TextOrMessageType

(Facultatif) message à envoyer à l’utilisateur avant de terminer la conversation.

options
ICancelActionOptions

(Facultatif) options utilisées pour configurer l’action. Si correspond à est spécifié, l’action écoute l’utilisateur pour dire un mot ou une expression qui déclenche l’action, sinon l’action doit être liée à un bouton à l’aide de CardAction.dialogAction() pour déclencher l’action.

Retours

findActiveDialogRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void, IDialogState[])

Obtient la confiance des dialogues actifs qu’il comprend le message actuel. La boîte de dialogue doit être membre de la bibliothèque active, sinon un score de 0,0 est retourné.

function findActiveDialogRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void, dialogStack?: IDialogState[])

Paramètres

context
IRecognizeContext

Contexte de module de reconnaissance en lecture seule pour la conversation actuelle.

callback

(err: Error, routes: IRouteResult[]) => void

Fonction qui doit être appelée avec les itinéraires trouvés.

dialogStack

IDialogState[]

(Facultatif) pile de boîtes de dialogue à rechercher. Le comportement par défaut consiste à effectuer une recherche sur la pile de dialogues active des sessions.

findDialog(string, string)

Recherche la bibliothèque et toutes ses dépendances pour une boîte de dialogue spécifique. Retourne la boîte de dialogue si elle est trouvée, sinon null.

function findDialog(libName: string, dialogId: string)

Paramètres

libName

string

Nom de la bibliothèque contenant la boîte de dialogue.

dialogId

string

ID unique de la boîte de dialogue dans la bibliothèque.

Retours

findGlobalActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void)

Recherche dans la bibliothèque si des actions globales ont été déclenchées.

function findGlobalActionRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void)

Paramètres

context
IRecognizeContext

Contexte de module de reconnaissance en lecture seule pour la conversation actuelle.

callback

(err: Error, routes: IRouteResult[]) => void

Fonction qui doit être appelée avec les itinéraires trouvés.

findRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void)

Recherche les itinéraires candidats pour gérer le message actuel. Pour lancer réellement la gestion du message, vous devez appeler selectRoute() avec l’un des résultats retournés. La logique de recherche par défaut peut être remplacée à l’aide de onFindRoute() et seule la bibliothèque active est recherchée. Vous devez donc appeler findRoutes() séparément pour chaque bibliothèque au sein de la hiérarchie.

function findRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void)

Paramètres

context
IRecognizeContext

Contexte de module de reconnaissance en lecture seule pour la conversation actuelle.

callback

(err: Error, routes: IRouteResult[]) => void

Fonction qui doit être appelée avec les itinéraires trouvés.

findStackActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void, IDialogState[])

Recherche dans la pile des sessions la pile des dialogues pour voir si des actions ont été déclenchées.

function findStackActionRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void, dialogStack?: IDialogState[])

Paramètres

context
IRecognizeContext

Contexte de module de reconnaissance en lecture seule pour la conversation actuelle.

callback

(err: Error, routes: IRouteResult[]) => void

Fonction qui doit être appelée avec les itinéraires trouvés.

dialogStack

IDialogState[]

(Facultatif) pile de boîtes de dialogue à rechercher. Le comportement par défaut consiste à effectuer une recherche sur la pile de dialogues active des sessions.

forEachDialog((dialog: Dialog, id: string) => void)

Énumère toutes les boîtes de dialogue des bibliothèques.

function forEachDialog(callback: (dialog: Dialog, id: string) => void)

Paramètres

callback

(dialog: Dialog, id: string) => void

Fonction itérateur à appeler avec chaque boîte de dialogue.

forEachLibrary((library: Library) => void)

Énumère toutes les bibliothèques enfants de bibliothèques. L’appelant doit prendre les mesures appropriées pour éviter les références circulaires lors de l’énumération de la hiérarchie. Dans la plupart des cas, l’appel de libraryList() est un meilleur choix, car il contient déjà une logique pour éviter les cycles.

function forEachLibrary(callback: (library: Library) => void)

Paramètres

callback

(library: Library) => void

Fonction itérateur à appeler avec chaque balance enfant.

get(string)

Retourne la valeur actuelle d’un paramètre.

function get(name: string)

Paramètres

name

string

Nom de la propriété à renvoyer. Les noms valides sont des propriétés sur IUniversalBotSettings.

Retours

any

isInConversation(IAddress, (err: Error, lastAccess: Date) => void)

Retourne des informations sur le moment où le dernier tour entre l’utilisateur et un bot s’est produit. Cela peut être appelé avant beginDialog pour déterminer si l’utilisateur est actuellement dans une conversation avec le bot.

function isInConversation(address: IAddress, callback: (err: Error, lastAccess: Date) => void)

Paramètres

address
IAddress

Adresse de l’utilisateur à rechercher. Cela doit être enregistré lors d’une conversation précédente avec l’utilisateur.

callback

(err: Error, lastAccess: Date) => void

Fonction à appeler avec les résultats de la requête.

library(Library | string)

Inscrit ou retourne une dépendance de bibliothèque.

function library(lib: Library | string)

Paramètres

lib

Library | string

  • lib :{Library} - Bibliothèque pour s’inscrire en tant que dépendance.
  • lib :{string} - Nom unique de la bibliothèque à rechercher. Toutes les dépendances seront également recherchées.

Retours

libraryList(boolean)

Retourne une liste de bibliothèques uniques dans la hiérarchie. Doit être appelé à la racine de la hiérarchie de bibliothèque et évite les cycles créés lorsque deux bibliothèques enfants font référence à la même bibliothèque dépendante.

function libraryList(reverse?: boolean)

Paramètres

reverse

boolean

(Facultatif) Si la liste true est générée à partir des feuilles vers le haut, la bibliothèque racine est répertoriée en dernier. La valeur par défaut est false, ce qui signifie qu’elle sera générée à partir des racines vers le bas et que la bibliothèque racine sera répertoriée en premier.

Retours

loadSession(IAddress, (err: Error, session: Session) => void)

Charge un objet de session pour une adresse arbitraire.

function loadSession(address: IAddress, callback: (err: Error, session: Session) => void)

Paramètres

address
IAddress

Adresse de l’utilisateur/session à charger. Cela doit être enregistré lors d’une conversation précédente avec l’utilisateur.

callback

(err: Error, session: Session) => void

Fonction à appeler avec la session chargée.

localePath(string)

Obtient ou définit le chemin d’accès aux bibliothèques « /locale/ » contenant ses invites localisées. Les invites de la bibliothèque doivent être stockées dans un fichier « /locale/<IETF_TAG>/.json» sous ce chemin d’accès où «<IETF_TAG>» représente le tage de langue à 2 à 3 chiffres pour les paramètres régionaux et « » est un nom de fichier correspondant à l’espace de noms des bibliothèques.

function localePath(path?: string)

Paramètres

path

string

(Facultatif) chemin d’accès aux bibliothèques « /locale/ » dossier. S’il est spécifié, cela met à jour le chemin d’accès des bibliothèques.

Retours

string

on(string, (data: any) => void)

Inscrit un écouteur d’événements. Le bot émet ses propres événements au fur et à mesure qu’il traite les messages entrants et sortants. Il transfère également les événements liés à l’activité émis à partir du connecteur, ce qui vous permet d’écouter toutes les activités de votre bot. Le flux d’événements du bot est le suivant :

Message reçu

Lorsque le bot reçoit un nouveau message, il émet les événements suivants dans l’ordre :

lookupUser - réception> -> entrant -> getStorageData - routage>

Tous les middleware de réception qui ont été installés sont exécutés entre les événements « receive » et « entrant ». Une fois l’événement « routage » émis n’importe quel intergiciel botbuilder botbuilder sera exécuté avant de distribuer le message au dialogue actif des bots.

Activité du connecteur reçue

Les connecteurs peuvent émettre des événements d’activité pour signaler des éléments tels qu’un utilisateur tape ou qu’il a ami un bot. Ces activités sont routées via un intergiciel comme des messages, mais elles ne sont pas routées via le système de dialogue bots. Ils ne sont émis qu’en tant qu’événements.

Le flux d’événements du connecteur est :

lookupUser - réception> -> (activité)

Message envoyé

Les bots peuvent envoyer plusieurs messages afin que la session effectue un traitement par lots de tous les messages sortants, puis enregistre l’état actuel des bots avant de remettre les messages envoyés. Vous verrez un seul événement « saveStorageData » émis, puis pour chaque message sortant dans le lot, vous verrez la séquence d’événements suivante :

send -> sortant

Tous les envoyer des intergiciels qui ont été installés sont exécutés entre les événements « send » et « sortant ».

function on(event: string, listener: (data: any) => void)

Paramètres

event

string

Nom de l’événement. Types d’événements spécifiques au bot et au connecteur :

Événements de bot

  • erreur : Une erreur s’est produite. A passé un objet Error JavaScript.
  • lookupUser : l’utilisateur est sur le point d’être recherché. Passé un objet IAddress.
  • recevoir : un message entrant a été reçu. A passé un objet IEvent.
  • entrant : Un message entrant a été reçu et traité par middleware. A passé un objet IMessage.
  • routage : Un message entrant a été lié à une session et est sur le point d’être routé via n’importe quel intergiciel de session, puis distribué au dialogue actif pour traitement. A passé un objet Session.
  • envoyer : Un message sortant est sur le point d’être envoyé au middleware pour traitement. A passé un objet IMessage.
  • sortant : Un message sortant vient d’être envoyé par middleware et est sur le point d’être remis au client de conversation des utilisateurs.
  • getStorageData : les données d’état persistantes des sessions sont chargées à partir du stockage. A passé un objet IBotStorageContext.
  • saveStorageData : les données d’état persistantes des sessions sont écrites dans le stockage. A passé un objet IBotStorageContext.

Événements ChatConnector

  • conversationUpdate : votre bot a été ajouté à une conversation ou à d’autres métadonnées de conversation modifiées. A passé un objet IConversationUpdate.
  • contactRelationUpdate : Le bot a été ajouté ou supprimé de la liste de contacts d’un utilisateur. A passé un objet IContactRelationUpdate.
  • saisie : l’utilisateur ou le bot à l’autre extrémité de la conversation tape. A passé un objet IEvent.
listener

(data: any) => void

Fonction à appeler.

onDisambiguateRoute(IDisambiguateRouteHandler)

Remplace la logique d’ambiguïté des itinéraires par défaut par les bots par une implémentation personnalisée.

function onDisambiguateRoute(handler: IDisambiguateRouteHandler)

Paramètres

handler
IDisambiguateRouteHandler

Fonction qui sera appelée avec les itinéraires candidats pour distribuer un message entrant.

onFindRoutes(IFindRoutesHandler)

Remplace findRoutes() logique de recherche de routage par défaut par une implémentation personnalisée.

function onFindRoutes(handler: IFindRoutesHandler)

Paramètres

handler
IFindRoutesHandler

Fonction qui sera appelée à tout moment findRoutes() est appelée pour la bibliothèque.

onSelectRoute(ISelectRouteHandler)

Remplace la logique par défaut pour selectRoute() par une implémentation personnalisée.

function onSelectRoute(handler: ISelectRouteHandler)

Paramètres

handler
ISelectRouteHandler

Fonction qui sera appelée à tout moment selectRoute() est appelée.

receive(IEvent | IEvent[], (err: Error) => void)

Appelé lorsqu’un nouvel événement est reçu. Cela peut être appelé manuellement pour imiter le bot recevant un message de l’utilisateur.

function receive(events: IEvent | IEvent[], done?: (err: Error) => void)

Paramètres

events

IEvent | IEvent[]

Événement ou (tableau d’événements) reçu.

done

(err: Error) => void

(Facultatif) fonction à appeler une fois l’opération terminée.

recognize(IRecognizeContext, (err: Error, result: IIntentRecognizerResult) => void)

Tente de faire correspondre un énoncé de texte utilisateur à une intention à l’aide des modules de reconnaissance de bibliothèques. Pour plus d’informations, consultez IIntentRecognizer.recognize().

function recognize(context: IRecognizeContext, callback: (err: Error, result: IIntentRecognizerResult) => void)

Paramètres

context
IRecognizeContext

Contexte de module de reconnaissance en lecture seule pour la conversation actuelle.

callback

(err: Error, result: IIntentRecognizerResult) => void

Fonction qui doit être appelée à la fin de la reconnaissance.

recognizer(IIntentRecognizer)

Ajoute un nouveau plug-in recognizer à la bibliothèque.

function recognizer(plugin: IIntentRecognizer)

Paramètres

plugin
IIntentRecognizer

Module de reconnaissance à ajouter.

Retours

selectActiveDialogRoute(Session, IRouteResult, IDialogState[])

Route le message actuel vers la boîte de dialogue active.

function selectActiveDialogRoute(session: Session, route: IRouteResult, newStack?: IDialogState[])

Paramètres

session
Session

Objet session pour la conversation actuelle.

route
IRouteResult

Résultat de l’itinéraire retourné par un appel précédent vers findRoutes() ou findActiveDialogRoutes().

newStack

IDialogState[]

selectGlobalActionRoute(Session, IRouteResult, IDialogState[])

Route le message actuel vers une action globale déclenchée.

function selectGlobalActionRoute(session: Session, route: IRouteResult, newStack?: IDialogState[])

Paramètres

session
Session

Objet session pour la conversation actuelle.

route
IRouteResult

Résultat de l’itinéraire retourné par un appel précédent vers findRoutes() ou findGlobalActionRoutes().

newStack

IDialogState[]

selectRoute(Session, IRouteResult)

Déclenche la gestion du message actuel à l’aide de l’itinéraire sélectionné. La logique par défaut peut être remplacée à l’aide de onSelectRoute().

function selectRoute(session: Session, route: IRouteResult)

Paramètres

session
Session

Objet session pour la conversation actuelle.

route
IRouteResult

Résultat de l’itinéraire retourné par un appel précédent vers findRoutes().

selectStackActionRoute(Session, IRouteResult, IDialogState[])

Route le message actuel vers une action de pile déclenchée.

function selectStackActionRoute(session: Session, route: IRouteResult, newStack?: IDialogState[])

Paramètres

session
Session

Objet session pour la conversation actuelle.

route
IRouteResult

Résultat de routage retourné par un appel précédent à findRoutes() ou findStackActionRoutes().

newStack

IDialogState[]

send(IIsMessage | IMessage | IMessage[], (err: Error, addresses?: IAddress[]) => void)

Envoie un message à l’utilisateur sans interrompre la pile de dialogues de conversations actuelles.

function send(messages: IIsMessage | IMessage | IMessage[], done?: (err: Error, addresses?: IAddress[]) => void)

Paramètres

messages

IIsMessage | IMessage | IMessage[]

Message (ou tableau de messages) à envoyer à l’utilisateur.

done

(err: Error, addresses?: IAddress[]) => void

(Facultatif) fonction à appeler une fois l’opération terminée.

set(string, any)

Définit un paramètre sur le bot.

function set(name: string, value: any)

Paramètres

name

string

Nom de la propriété à définir. Les noms valides sont des propriétés sur IUniversalBotSettings.

value

any

Valeur à affecter au paramètre.

Retours

use(IMiddlewareMap[])

Installe l’intergiciel pour le bot. Middleware vous permet d’intercepter les événements/messages entrants et sortants.

function use(args: IMiddlewareMap[])

Paramètres

args

IMiddlewareMap[]

Un ou plusieurs ensembles de crochets d’intergiciel à installer.

Retours