Partager via


Session class

Gère la conversation entre les bots et un utilisateur.

Constructeurs

Session(ISessionOptions)

Crée une instance de la session.

Propriétés

connector

Connecteur utilisé pour cette session.

conversationData

Données de conversation partagées visibles par tous les membres de la conversation.

dialogData

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

privateConversationData

Données de conversation privées visibles uniquement par l’utilisateur.

sessionState

Sessions les informations d’état actuelles.

userData

Données pour l’utilisateur qui sont conservées dans toutes les conversations avec le bot.

Méthodes

activeDialogStackEntry(IDialogState[])

Retourne une boîte de dialogue active de pile ou null.

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.

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.

clearDialogStack()

Efface la pile de dialogues actuelle.

delay(number)

Insère un délai entre les messages sortants.

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().

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.

endConversation(TextOrMessageType, any[])

Termine la conversation actuelle et envoie éventuellement un message à l’utilisateur.

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.

endDialogWithResult(IDialogResult<any>)

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

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.

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.

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

isReset()

Retourne true si la session a été réinitialisée.

messageSent()

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.

popDialogStackEntry(IDialogState[])

Affiche la boîte de dialogue active hors d’une pile et retourne la nouvelle si la pile n’est pas vide.

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.

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.

pushDialogStackEntry(IDialogState[], IDialogState)

Envoie un nouveau dialogue sur une pile et le retourne en tant que dialogue actif.

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.

reset(string, any)

Efface la pile des appels des sessions et redémarre la conversation avec le dialogId configuré.

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.

save()

Déclenche l’enregistrement des modifications apportées à dialogData, userData, conversationdataou [privateConversationData'(#privateconversationdata).

say(TextType, IMessageOptions)
say(TextType, TextType, IMessageOptions)

Envoie un texte et un message SSML facultatif à l’utilisateur.

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.

send(TextOrMessageType, any[])

Envoie un message à l’utilisateur.

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

Termine immédiatement le lot actuel et remet tous les messages mis en file d’attente.

sendLocalized(string, TextOrMessageType, any[])

Envoie un message à un utilisateur à l’aide d’un espace de noms de localisation spécifique.

sendTyping()

Envoie à l’utilisateur une indication indiquant que le bot tape. Pour les opérations longues, cela doit être appelé toutes les quelques secondes.

toRecognizeContext()

Renvoie l’objet de session en tant qu’objet de contexte en lecture seule.

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.

watch(string, boolean)

Active/désactive une montre pour la session active.

watchable(string, IWatchableHandler)

Ajoute ou récupère une variable qui peut être surveillée.

watchableList()

Retourne une liste de variables espionnables.

watchList()

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

Connecteur utilisé pour cette session.

connector: IConnector

Valeur de propriété

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

Bibliothèque racine des bots de dialogues.

library: Library

Valeur de propriété

localizer

Localiseur de la session active.

localizer: ILocalizer

Valeur de propriété

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

IDialogState[]

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()

Efface la pile de dialogues actuelle.

function clearDialogStack()

Retours

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

IDialogState[]

(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 une nouvelle conversation démarre à partir dudialogId configuré .

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

IDialogState[]

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

IDialogState[]

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 Error JavaScript.
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

IDialogState[]

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

IDialogState[]

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

IDialogState[]

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

IDialogState[]

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[]