Library class
Bibliothèque de dialogues connexes utilisées à des fins de routage. Les bibliothèques peuvent être chaînées pour permettre le développement de bots complexes. La classe UniversalBot est elle-même une bibliothèque qui forme la racine de cette chaîne. Les bibliothèques de parties réutilisables peuvent être développées en créant une nouvelle instance de bibliothèque et en ajoutant des dialogues comme vous le feriez à un bot. Votre bibliothèque doit avoir un nom unique qui correspond à votre site web de bibliothèques ou au nom du module NPM. Les bots peuvent ensuite réutiliser votre bibliothèque en ajoutant simplement votre instance de bibliothèque de composants à leur bot à l’aide de UniversalBot.library(). Si votre bibliothèque dépend d’autres bibliothèques, vous devez les ajouter à votre bibliothèque en tant que dépendance à l’aide de Library.library(). Vous pouvez facilement gérer plusieurs versions de votre bibliothèque en ajoutant un numéro de version à votre nom de bibliothèque.
Pour appeler des dialogues au sein de vos bots de bibliothèque, vous devez appeler session.beginDialog() avec un ID de dialogue complet sous la forme « : ». Vous le masquerez généralement auprès du développeur en exposant une fonction de son module qui démarre la boîte de dialogue pour eux.
Ainsi, appeler quelque chose comme myLib.someDialog(session, { arg: '' }); finirait par appeler session.beginDialog('myLib:someDialog', args); sous les couvertures.
Il est important de noter que les dialogues sont toujours appelés dans la boîte de dialogue active. Par conséquent, une fois que vous êtes dans une boîte de dialogue de votre bibliothèque, vous n’avez pas besoin de préfixer chaque beginDialog() appelez votre nom de bibliothèque. Ce n’est que lorsque vous passez d’un contexte de bibliothèque à un autre que vous devez inclure le préfixe du nom de la bibliothèque.
Constructeurs
| Library(string) | Crée une instance de la bibliothèque. |
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. |
| Route |
Valeurs routeType prises en charge par défaut à partir de findRoutes(). |
Méthodes
| add |
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.
|
| begin |
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. |
| best |
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 :
|
| clone(Library, string) | Retourne un clone d’une bibliothèque existante. |
| custom |
Inscrit une action globale personnalisée qui appelle le gestionnaire onSelectAction transmis lors du déclenchement. |
| dialog(string, Dialog | IDialog |
Inscrit ou retourne une boîte de dialogue à partir de la bibliothèque. |
| end |
Inscrit une action globale qui met fin à la conversation avec l’utilisateur lorsqu’il est déclenché. |
| find |
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é. |
| find |
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. |
| find |
Recherche dans la bibliothèque si des actions globales ont été déclenchées. |
| find |
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 |
| find |
Recherche dans la pile des sessions la pile des dialogues pour voir si des actions ont été déclenchées. |
| for |
Énumère toutes les boîtes de dialogue des bibliothèques. |
| for |
É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. |
| library(Library | string) | Inscrit ou retourne une dépendance de bibliothèque. |
| library |
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. |
| locale |
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 |
Remplace findRoutes() logique de recherche de routage par défaut par une implémentation personnalisée. |
| on |
Remplace la logique par défaut pour selectRoute() par une implémentation personnalisée. |
| recognize(IRecognize |
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(IIntent |
Ajoute un nouveau plug-in recognizer à la bibliothèque. |
| select |
Route le message actuel vers la boîte de dialogue active. |
| select |
Route le message actuel vers une action globale déclenchée. |
| select |
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(). |
| select |
Route le message actuel vers une action de pile déclenchée. |
Détails du constructeur
Library(string)
Crée une instance de la bibliothèque.
new Library(name: string)
Paramètres
- name
-
string
Espace de noms unique pour la bibliothèque.
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
(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
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 :
- : 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.
- activeDialog: la boîte de dialogue active est la priorité la plus élevée suivante.
- 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.
-
GlobalAction: les actions globales sont la priorité la plus faible. Si une
dialogStackest 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
Tableau d’itinéraires candidats à filtrer.
- dialogStack
(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(Library, string)
Retourne un clone d’une bibliothèque existante.
function clone(copyTo?: Library, newName?: string)
Paramètres
- copyTo
- Library
(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
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
(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.
(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
(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
(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.
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
Library[]
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
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.
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
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
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