Session class
Gère la conversation entre les bots et un utilisateur.
Constructeurs
| Session(ISession |
Crée une instance de la session. |
Propriétés
| connector | Connecteur utilisé pour cette session. |
| conversation |
Données de conversation partagées visibles par tous les membres de la conversation. |
| dialog |
Données visibles uniquement dans la boîte de dialogue active. |
| library | Bibliothèque racine des bots de dialogues. |
| localizer | Localiseur de la session active. |
| message | Message reçu de l’utilisateur. Pour les messages provenant du bot, cela peut contenir uniquement les champs « à » & « à partir ». |
| private |
Données de conversation privées visibles uniquement par l’utilisateur. |
| session |
Sessions les informations d’état actuelles. |
| user |
Données pour l’utilisateur qui sont conservées dans toutes les conversations avec le bot. |
Méthodes
| active |
Retourne une boîte de dialogue active de pile ou null. |
| begin |
Passe le contrôle de la conversation à une nouvelle boîte de dialogue. La boîte de dialogue active est suspendue jusqu’à ce que le dialogue enfant se termine. Une fois que l’enfant termine la boîte de dialogue active, un appel à dialog Reprise() où il peut inspecter les résultats retournés par l’enfant. |
| cancel |
Annule une boîte de dialogue existante et démarre éventuellement une nouvelle boîte de dialogue à sa place. Contrairement à endDialog() et replaceDialog() qui affectent la boîte de dialogue actuelle, cette méthode vous permet de mettre fin à un dialogue parent n’importe où sur la pile. Le parent de la boîte de dialogue annulée se poursuit comme si le dialogue avait appelé endDialog(). Un spécial ResumeReason.canceled sera retourné pour indiquer que la boîte de dialogue a été annulée. |
| clear |
Efface la pile de dialogues actuelle. |
| delay(number) | Insère un délai entre les messages sortants. |
| dialog |
Obtient/définit la pile de dialogues actuelle. Une copie de la boîte de dialogue active est retournée. Par conséquent, si des modifications sont apportées à la pile retournée, elles doivent être copiées dans la session via un deuxième appel à |
| dispatch(ISession |
Finalise l’initialisation de l’objet de session, puis route la session via tous les intergiciels installés. La fonction passée dans |
| end |
Termine la conversation actuelle et envoie éventuellement un message à l’utilisateur. |
| end |
Termine la boîte de dialogue active et envoie éventuellement un message à l’utilisateur. Le parent reprend avec une IDialogResult.reprise raison de terminée. |
| end |
Termine la boîte de dialogue active et retourne éventuellement un résultat au parent des dialogues. |
| error(Error) | Signale qu’une erreur s’est produite. Le bot signale l’erreur via un événement on('error', err). |
| find |
Recherche une pile de dialogues pour un dialogue spécifique, dans une direction vers l’avant ou inverse, en retournant son index. |
| for |
Énumère toutes les entrées de boîte de dialogue de pile dans une direction vers l’avant ou vers l’inverse. |
| gettext(string, any[]) | Charge une chaîne localisée pour la langue des messages. Si les arguments sont passés à la chaîne localisée sont traités comme un modèle et mis en forme à l’aide de sprintf-js (consultez leur documentation pour plus d’informations.) |
| is |
Retourne true si la session a été réinitialisée. |
| message |
Retourne true si un message a été envoyé pour cette session. |
| ngettext(string, string, number) | Charge la forme plurielle d’une chaîne localisée pour la langue des messages. La chaîne de sortie sera mise en forme pour inclure le nombre en remplaçant %d dans la chaîne par le nombre. |
| on(string, (data: any) => void) | Inscrit un écouteur d’événements. |
| pop |
Affiche la boîte de dialogue active hors d’une pile et retourne la nouvelle si la pile n’est pas vide. |
| preferred |
Retourne les paramètres régionaux préférés lorsqu’aucun paramètre n’est fourni, sinon définit les paramètres régionaux préférés. |
| prune |
Supprime toutes les entrées de la pile de dialogues commençant par l’index spécifié et retourne la nouvelle boîte de dialogue active. |
| push |
Envoie un nouveau dialogue sur une pile et le retourne en tant que dialogue actif. |
| replace |
Termine la boîte de dialogue actuelle et démarre un nouveau emplacement. La boîte de dialogue parente ne reprendra pas tant que la nouvelle boîte de dialogue n’est pas terminée. |
| reset(string, any) | Efface la pile des appels des sessions et redémarre la conversation avec le dialogId configuré. |
| route |
Répartit la session vers la boîte de dialogue active ou la boîte de dialogue par défaut pour le traitement. |
| save() | Déclenche l’enregistrement des modifications apportées à dialogData, userData, conversationdataou [privateConversationData'(#privateconversationdata). |
| say(Text |
|
| say(Text |
Envoie un texte et un message SSML facultatif à l’utilisateur. |
| say |
Envoie un texte et un message SSML facultatif à l’utilisateur à l’aide d’un espace de noms de localisation spécifique. |
| send(Text |
Envoie un message à l’utilisateur. |
| send |
Termine immédiatement le lot actuel et remet tous les messages mis en file d’attente. |
| send |
Envoie un message à un utilisateur à l’aide d’un espace de noms de localisation spécifique. |
| send |
Envoie à l’utilisateur une indication indiquant que le bot tape. Pour les opérations longues, cela doit être appelé toutes les quelques secondes. |
| to |
Renvoie l’objet de session en tant qu’objet de contexte en lecture seule. |
| validate |
Garantit que toutes les entrées d’une pile de dialogues référencent des dialogues valides au sein d’une hiérarchie de bibliothèque. |
| watch(string, boolean) | Active/désactive une montre pour la session active. |
| watchable(string, IWatchable |
Ajoute ou récupère une variable qui peut être surveillée. |
| watchable |
Retourne une liste de variables espionnables. |
| watch |
Retourne la liste actuelle des variables surveillées pour la session. |
Détails du constructeur
Session(ISessionOptions)
Crée une instance de la session.
new Session(options: ISessionOptions)
Paramètres
- options
- ISessionOptions
Options de configuration des sessions.
Détails de la propriété
connector
conversationData
Données de conversation partagées visibles par tous les membres de la conversation.
conversationData: any
Valeur de propriété
any
dialogData
Données visibles uniquement dans la boîte de dialogue active.
dialogData: any
Valeur de propriété
any
library
localizer
message
Message reçu de l’utilisateur. Pour les messages provenant du bot, cela peut contenir uniquement les champs « à » & « à partir ».
message: IMessage
Valeur de propriété
privateConversationData
Données de conversation privées visibles uniquement par l’utilisateur.
privateConversationData: any
Valeur de propriété
any
sessionState
Sessions les informations d’état actuelles.
sessionState: ISessionState
Valeur de propriété
userData
Données pour l’utilisateur qui sont conservées dans toutes les conversations avec le bot.
userData: any
Valeur de propriété
any
Détails de la méthode
activeDialogStackEntry(IDialogState[])
Retourne une boîte de dialogue active de pile ou null.
static function activeDialogStackEntry(stack: IDialogState[])
Paramètres
- stack
Pile de boîtes de dialogue pour laquelle retourner l’entrée.
Retours
beginDialog<T>(string, T)
Passe le contrôle de la conversation à une nouvelle boîte de dialogue. La boîte de dialogue active est suspendue jusqu’à ce que le dialogue enfant se termine. Une fois que l’enfant termine la boîte de dialogue active, un appel à dialog Reprise() où il peut inspecter les résultats retournés par l’enfant.
function beginDialog<T>(id: string, args?: T)
Paramètres
- id
-
string
ID unique de la boîte de dialogue à démarrer.
- args
-
T
(Facultatif) arguments à passer aux dialogues méthode begin().
Retours
cancelDialog(string | number, string, any)
Annule une boîte de dialogue existante et démarre éventuellement une nouvelle boîte de dialogue à sa place. Contrairement à endDialog() et replaceDialog() qui affectent la boîte de dialogue actuelle, cette méthode vous permet de mettre fin à un dialogue parent n’importe où sur la pile. Le parent de la boîte de dialogue annulée se poursuit comme si le dialogue avait appelé endDialog(). Un spécial ResumeReason.canceled sera retourné pour indiquer que la boîte de dialogue a été annulée.
function cancelDialog(dialogId: string | number, replaceWithId?: string, replaceWithArgs?: any)
Paramètres
- dialogId
-
string | number
- dialogId :{string} - ID du dialogue à terminer. Si plusieurs occurrences du dialogue existent sur la pile de dialogues, la dernière occurrence est annulée.
- dialogId :{number} - Index de la boîte de dialogue sur la pile à annuler. Il s’agit de la méthode recommandée pour annuler une boîte de dialogue à partir d’un gestionnaire d’actions, car elle garantit que l’instance correcte est annulée.
- replaceWithId
-
string
(Facultatif) spécifie un ID à démarrer dans la place des boîtes de dialogue annulées. Cela empêche le parent des dialogues d’être repris.
- replaceWithArgs
-
any
(Facultatif) arguments à passer à la nouvelle boîte de dialogue.
Retours
clearDialogStack()
delay(number)
Insère un délai entre les messages sortants.
function delay(delay: number)
Paramètres
- delay
-
number
Nombre de millisecondes à suspendre.
Retours
dialogStack(IDialogState[])
Obtient/définit la pile de dialogues actuelle. Une copie de la boîte de dialogue active est retournée. Par conséquent, si des modifications sont apportées à la pile retournée, elles doivent être copiées dans la session via un deuxième appel à session.dialogStack().
function dialogStack(newStack?: IDialogState[])
Paramètres
- newStack
(Facultatif) pile de boîtes de dialogue à affecter à la session. Les sessions dialogData seront mises à jour pour refléter l’état du nouveau dialogue actif.
Retours
dispatch(ISessionState, IMessage, Function)
Finalise l’initialisation de l’objet de session, puis route la session via tous les intergiciels installés. La fonction passée dans next() sera appelée en tant que dernière étape de la chaîne d’intergiciels.
function dispatch(sessionState: ISessionState, message: IMessage, next: Function)
Paramètres
- sessionState
- ISessionState
État de session actuel. Si
- message
- IMessage
Message à router via le middleware.
- next
-
Function
Fonction à appeler comme dernière étape de la chaîne d’intergiciels.
Retours
endConversation(TextOrMessageType, any[])
Termine la conversation actuelle et envoie éventuellement un message à l’utilisateur.
function endConversation(message?: TextOrMessageType, args: any[])
Paramètres
- message
- TextOrMessageType
(Facultatif) texte/message à envoyer à l’utilisateur avant de terminer la conversation.
- args
-
any[]
(Facultatif) arguments utilisés pour mettre en forme le texte de sortie final lorsque message est un {string|string[]}.
Retours
endDialog(TextOrMessageType, any[])
Termine la boîte de dialogue active et envoie éventuellement un message à l’utilisateur. Le parent reprend avec une IDialogResult.reprise raison de terminée.
function endDialog(message?: TextOrMessageType, args: any[])
Paramètres
- message
- TextOrMessageType
(Facultatif) texte/message à envoyer à l’utilisateur avant de terminer la boîte de dialogue.
- args
-
any[]
(Facultatif) arguments utilisés pour mettre en forme le texte de sortie final lorsque message est un {string|string[]}.
Retours
endDialogWithResult(IDialogResult<any>)
Termine la boîte de dialogue active et retourne éventuellement un résultat au parent des dialogues.
function endDialogWithResult(result?: IDialogResult<any>)
Paramètres
- result
-
IDialogResult<any>
(Facultatif) résultat pour envoyer l’utilisateur. La valeur que vous souhaitez retourner doit se trouver dans le champ réponse.
Retours
error(Error)
Signale qu’une erreur s’est produite. Le bot signale l’erreur via un événement on('error', err).
function error(err: Error)
Paramètres
- err
-
Error
Erreur qui s’est produite.
Retours
findDialogStackEntry(IDialogState[], string, boolean)
Recherche une pile de dialogues pour un dialogue spécifique, dans une direction vers l’avant ou inverse, en retournant son index.
static function findDialogStackEntry(stack: IDialogState[], dialogId: string, reverse?: boolean)
Paramètres
- stack
Pile de dialogues à rechercher.
- dialogId
-
string
ID unique de la boîte de dialogue, au format <namespace>:<dialog>, à rechercher.
- reverse
-
boolean
(Facultatif) si la pile a la valeur true, la recherche commence par la boîte de dialogue active et fonctionne jusqu’à la racine.
Retours
number
forEachDialogStackEntry(IDialogState[], boolean, (entry: IDialogState, index: number) => void)
Énumère toutes les entrées de boîte de dialogue de pile dans une direction vers l’avant ou vers l’inverse.
static function forEachDialogStackEntry(stack: IDialogState[], reverse: boolean, fn: (entry: IDialogState, index: number) => void)
Paramètres
- stack
Pile de dialogues à énumérer.
- reverse
-
boolean
Si la valeur est true, les entrées sont énumérées à partir de la boîte de dialogue active et fonctionnent jusqu’à la boîte de dialogue racine.
- fn
-
(entry: IDialogState, index: number) => void
Fonction à appeler avec chaque entrée sur la pile.
gettext(string, any[])
Charge une chaîne localisée pour la langue des messages. Si les arguments sont passés à la chaîne localisée sont traités comme un modèle et mis en forme à l’aide de sprintf-js (consultez leur documentation pour plus d’informations.)
function gettext(msgid: string, args: any[])
Paramètres
- msgid
-
string
Chaîne à utiliser comme clé dans la table de chaînes localisée. En règle générale, il s’agit simplement de la version anglais de la chaîne.
- args
-
any[]
(Facultatif) arguments utilisés pour mettre en forme la chaîne de sortie finale.
Retours
string
isReset()
Retourne true si la session a été réinitialisée.
function isReset()
Retours
boolean
messageSent()
Retourne true si un message a été envoyé pour cette session.
function messageSent()
Retours
boolean
ngettext(string, string, number)
Charge la forme plurielle d’une chaîne localisée pour la langue des messages. La chaîne de sortie sera mise en forme pour inclure le nombre en remplaçant %d dans la chaîne par le nombre.
function ngettext(msgid: string, msgid_plural: string, count: number)
Paramètres
- msgid
-
string
Forme singulière de la chaîne à utiliser comme clé dans la table de chaînes localisée. Utilisez %d pour spécifier où le nombre doit aller.
- msgid_plural
-
string
Forme plurielle de la chaîne à utiliser comme clé dans la table de chaînes localisée. Utilisez %d pour spécifier où le nombre doit aller.
- count
-
number
Nombre à utiliser pour déterminer si la forme singulière ou plurielle de la chaîne doit être utilisée.
Retours
string
on(string, (data: any) => void)
Inscrit un écouteur d’événements.
function on(event: string, listener: (data: any) => void)
Paramètres
- event
-
string
Nom de l’événement. Types d’événements :
- erreur : Une erreur s’est produite. Transmet un objet
ErrorJavaScript.
- listener
-
(data: any) => void
Fonction à appeler.
popDialogStackEntry(IDialogState[])
Affiche la boîte de dialogue active hors d’une pile et retourne la nouvelle si la pile n’est pas vide.
static function popDialogStackEntry(stack: IDialogState[])
Paramètres
- stack
Pile de dialogues à mettre à jour.
Retours
preferredLocale(string, (err: Error) => void)
Retourne les paramètres régionaux préférés lorsqu’aucun paramètre n’est fourni, sinon définit les paramètres régionaux préférés.
function preferredLocale(locale?: string, callback?: (err: Error) => void)
Paramètres
- locale
-
string
(Facultatif) paramètres régionaux à utiliser pour localiser les messages.
- callback
-
(err: Error) => void
(Facultatif) fonction appelée lorsque la table de localisation a été chargée pour les paramètres régionaux fournis.
Retours
string
pruneDialogStack(IDialogState[], number)
Supprime toutes les entrées de la pile de dialogues commençant par l’index spécifié et retourne la nouvelle boîte de dialogue active.
static function pruneDialogStack(stack: IDialogState[], start: number)
Paramètres
- stack
Pile de dialogues à mettre à jour.
- start
-
number
Index du premier élément à supprimer.
Retours
pushDialogStackEntry(IDialogState[], IDialogState)
Envoie un nouveau dialogue sur une pile et le retourne en tant que dialogue actif.
static function pushDialogStackEntry(stack: IDialogState[], entry: IDialogState)
Paramètres
- stack
Pile de dialogues à mettre à jour.
- entry
- IDialogState
Entrée de boîte de dialogue à envoyer (push) sur la pile.
Retours
replaceDialog<T>(string, T)
Termine la boîte de dialogue actuelle et démarre un nouveau emplacement. La boîte de dialogue parente ne reprendra pas tant que la nouvelle boîte de dialogue n’est pas terminée.
function replaceDialog<T>(id: string, args?: T)
Paramètres
- id
-
string
ID unique de la boîte de dialogue à démarrer.
- args
-
T
(Facultatif) arguments à passer aux dialogues méthode begin().
Retours
reset(string, any)
Efface la pile des appels des sessions et redémarre la conversation avec le dialogId configuré.
function reset(dialogId?: string, dialogArgs?: any)
Paramètres
- dialogId
-
string
(Facultatif) ID de la boîte de dialogue à démarrer.
- dialogArgs
-
any
(Facultatif) arguments à passer aux dialogues méthode begin().
Retours
routeToActiveDialog(IRecognizeResult)
Répartit la session vers la boîte de dialogue active ou la boîte de dialogue par défaut pour le traitement.
function routeToActiveDialog(recognizeResult?: IRecognizeResult)
Paramètres
- recognizeResult
- IRecognizeResult
(Facultatif) les résultats retournés par l’appel de Library.findRoutes(), Library.findActiveDialogRoutes(), * ou Dialog.recognize().
save()
Déclenche l’enregistrement des modifications apportées à dialogData, userData, conversationdataou [privateConversationData'(#privateconversationdata).
function save()
Retours
say(TextType, IMessageOptions)
function say(text: TextType, options?: IMessageOptions)
Paramètres
- text
- TextType
- options
- IMessageOptions
Retours
say(TextType, TextType, IMessageOptions)
Envoie un texte et un message SSML facultatif à l’utilisateur.
function say(text: TextType, speak?: TextType, options?: IMessageOptions)
Paramètres
- text
- TextType
Texte à envoyer à l’utilisateur. Il peut s’agir de null pour envoyer uniquement SSML ou pièces jointes.
- speak
- TextType
(Facultatif) message qui doit être parlé à l’utilisateur. Le message doit être mis en forme comme langage de balisage de synthèse vocale (SSML). Si un tableau est passé, une réponse est choisie au hasard.
- options
- IMessageOptions
(Facultatif) propriétés qui doivent être incluses dans le message sortant.
Retours
sayLocalized(string, TextType, TextType, IMessageOptions)
Envoie un texte et un message SSML facultatif à l’utilisateur à l’aide d’un espace de noms de localisation spécifique.
function sayLocalized(libraryNamespace: string, text: TextType, speak?: TextType, options?: IMessageOptions)
Paramètres
- libraryNamespace
-
string
Namespace à utiliser pour localiser le message.
- text
- TextType
Texte à envoyer à l’utilisateur. Il peut s’agir de null pour envoyer uniquement SSML ou pièces jointes.
- speak
- TextType
(Facultatif) message qui doit être parlé à l’utilisateur. Le message doit être mis en forme comme langage de balisage de synthèse vocale (SSML). Si un tableau est passé, une réponse est choisie au hasard.
- options
- IMessageOptions
(Facultatif) propriétés qui doivent être incluses dans le message sortant.
Retours
send(TextOrMessageType, any[])
Envoie un message à l’utilisateur.
function send(message: TextOrMessageType, args: any[])
Paramètres
- message
- TextOrMessageType
Texte/message à envoyer à l’utilisateur. Si un tableau est passé, une réponse est choisie au hasard.
- args
-
any[]
(Facultatif) arguments utilisés pour mettre en forme le texte de sortie final lorsque message est un {string|string[]}.
Retours
sendBatch((err: Error, addresses?: IAddress[]) => void)
Termine immédiatement le lot actuel et remet tous les messages mis en file d’attente.
function sendBatch(done?: (err: Error, addresses?: IAddress[]) => void)
Paramètres
- done
-
(err: Error, addresses?: IAddress[]) => void
(Facultatif) fonction appelée lorsque le lot a été correctement délievé ou a échoué pour une raison quelconque.
sendLocalized(string, TextOrMessageType, any[])
Envoie un message à un utilisateur à l’aide d’un espace de noms de localisation spécifique.
function sendLocalized(libraryNamespace: string, message: TextOrMessageType, args: any[])
Paramètres
- libraryNamespace
-
string
Namespace à utiliser pour localiser le message.
- message
- TextOrMessageType
Texte/message à envoyer à l’utilisateur.
- args
-
any[]
(Facultatif) arguments utilisés pour mettre en forme le texte de sortie final lorsque message est un {string|string[]}.
Retours
sendTyping()
Envoie à l’utilisateur une indication indiquant que le bot tape. Pour les opérations longues, cela doit être appelé toutes les quelques secondes.
function sendTyping()
Retours
toRecognizeContext()
Renvoie l’objet de session en tant qu’objet de contexte en lecture seule.
function toRecognizeContext()
Retours
validateDialogStack(IDialogState[], Library)
Garantit que toutes les entrées d’une pile de dialogues référencent des dialogues valides au sein d’une hiérarchie de bibliothèque.
static function validateDialogStack(stack: IDialogState[], root: Library)
Paramètres
- stack
Pile de dialogues à valider.
- root
- Library
Racine de la hiérarchie de bibliothèque, généralement le bot.
Retours
boolean
watch(string, boolean)
Active/désactive une montre pour la session active.
function watch(variable: string, enable?: boolean)
Paramètres
- variable
-
string
Nom de la variable à regarder/dissocier.
- enable
-
boolean
(Facultatif) Si la valeur est true, la variable est regardée, sinon elle n’est pas surveillée. La valeur par défaut est true.
Retours
watchable(string, IWatchableHandler)
Ajoute ou récupère une variable qui peut être surveillée.
static function watchable(variable: string, handler?: IWatchableHandler)
Paramètres
- variable
-
string
Nom de la variable qui peut être regardé. La casse est utilisée uniquement pour l’affichage.
- handler
- IWatchableHandler
(Facultatif) Fonction utilisée pour récupérer la valeur actuelle des variables. Si un nouveau gestionnaire est spécifié, sinon le gestionnaire existant est récupéré.
Retours
watchableList()
Retourne une liste de variables espionnables.
static function watchableList()
Retours
string[]
watchList()
Retourne la liste actuelle des variables surveillées pour la session.
function watchList()
Retours
string[]