Session class
Administra la conversación de bots con un usuario.
Constructores
| Session(ISession |
Crea una instancia de la sesión. |
Propiedades
| connector | Conector que se usa para esta sesión. |
| conversation |
Datos de conversación compartidos que son visibles para todos los miembros de la conversación. |
| dialog |
Datos que solo son visibles para el cuadro de diálogo actual. |
| library | La biblioteca raíz de bots de diálogos. |
| localizer | Localizador de la sesión actual. |
| message | Mensaje recibido del usuario. En el caso de los mensajes originados por el bot, esto solo puede contener los campos "to" & "from". |
| private |
Datos de conversación privada que solo son visibles para el usuario. |
| session |
Sesiones de información de estado actual. |
| user |
Datos del usuario que se conservan en todas las conversaciones con el bot. |
Métodos
| active |
Devuelve un cuadro de diálogo activo de pila o null. |
| begin |
Pasa el control de la conversación a un cuadro de diálogo nuevo. El diálogo actual se suspenderá hasta que se complete el diálogo secundario. Una vez que el elemento secundario finaliza el cuadro de diálogo actual, recibirá una llamada a dialogResumed() donde puede inspeccionar los resultados devueltos por el elemento secundario. |
| cancel |
Cancela un cuadro de diálogo existente y, opcionalmente, inicia uno nuevo en su lugar. A diferencia de endDialog() y replaceDialog() que afectan al cuadro de diálogo actual, este método le permite finalizar un diálogo primario en cualquier parte de la pila. El elemento primario del cuadro de diálogo cancelado continuará como si el diálogo hubiera llamado a endDialog(). Se devolverá un especial resumeReason.canceled para indicar que se canceló el cuadro de diálogo. |
| clear |
Borra la pila de diálogos actual. |
| delay(number) | Inserta un retraso entre los mensajes salientes. |
| dialog |
Obtiene o establece la pila de diálogos actual. Se devuelve una copia del cuadro de diálogo actual, por lo que si se realizan cambios en la pila devuelta, deberá volver a copiarse en la sesión a través de una segunda llamada a |
| dispatch(ISession |
Finaliza la inicialización del objeto de sesión y, a continuación, enruta la sesión a través de todo el middleware instalado. Se llamará a la función pasada |
| end |
Finaliza la conversación actual y, opcionalmente, envía un mensaje al usuario. |
| end |
Finaliza el cuadro de diálogo actual y, opcionalmente, envía un mensaje al usuario. El elemento primario se reanudará con un IDialogResult.reanudado motivo de completado. |
| end |
Finaliza el cuadro de diálogo actual y, opcionalmente, devuelve un resultado al elemento primario de los diálogos. |
| error(Error) | Indica que se produjo un error. El bot indicará el error a través de un evento on('error', err). |
| find |
Busca en una pila de diálogos un diálogo específico, en una dirección hacia delante o inversa, devolviendo su índice. |
| for |
Enumera todas las entradas de diálogo de pilas en una dirección hacia delante o inversa. |
| gettext(string, any[]) | Carga una cadena localizada para el idioma de los mensajes. Si se pasan argumentos, la cadena localizada se tratará como una plantilla y tendrá formato mediante sprintf-js (consulte sus documentos para obtener más información). |
| is |
Devuelve true si se ha restablecido la sesión. |
| message |
Devuelve true si se ha enviado un mensaje para esta sesión. |
| ngettext(string, string, number) | Carga la forma plural de una cadena localizada para el idioma de los mensajes. La cadena de salida tendrá formato para incluir el recuento reemplazando %d en la cadena por el recuento. |
| on(string, (data: any) => void) | Registra un agente de escucha de eventos. |
| pop |
Quita el cuadro de diálogo activo de una pila y devuelve el nuevo si la pila no está vacía. |
| preferred |
Devuelve la configuración regional preferida cuando no se proporciona ningún parámetro; de lo contrario, establece la configuración regional preferida. |
| prune |
Elimina todas las entradas de la pila de diálogos a partir del índice especificado y devuelve el nuevo cuadro de diálogo activo. |
| push |
Inserta un cuadro de diálogo nuevo en una pila y lo devuelve como el diálogo activo. |
| replace |
Finaliza el cuadro de diálogo actual e inicia uno nuevo en su lugar. El cuadro de diálogo primario no se reanudará hasta que se complete el cuadro de diálogo nuevo. |
| reset(string, any) | Borra la pila de llamadas de sesiones y reinicia la conversación con el dialogId configurado. |
| route |
Envía la sesión al cuadro de diálogo activo o al diálogo predeterminado para su procesamiento. |
| save() | Desencadena el guardado de cambios realizados en dialogData, userData, conversationdatao [privateConversationData'(#privateconversationdata). |
| say(Text |
|
| say(Text |
Envía un mensaje de texto y SSML opcional al usuario. |
| say |
Envía un texto y SSML opcional al usuario mediante un espacio de nombres de localización específico. |
| send(Text |
Envía un mensaje al usuario. |
| send |
Finaliza inmediatamente el lote actual y entrega los mensajes en cola. |
| send |
Envía un mensaje a un usuario mediante un espacio de nombres de localización específico. |
| send |
Envía al usuario una indicación de que el bot está escribiendo. Para las operaciones de larga duración, se debe llamar cada pocos segundos. |
| to |
Devuelve el objeto de sesión como un objeto de contexto de solo lectura. |
| validate |
Garantiza que todas las entradas de una pila de diálogos hagan referencia a diálogos válidos dentro de una jerarquía de biblioteca. |
| watch(string, boolean) | Habilita o deshabilita una inspección para la sesión actual. |
| watchable(string, IWatchable |
Agrega o recupera una variable que se puede ver. |
| watchable |
Devuelve una lista de variables inspeccionables. |
| watch |
Devuelve la lista actual de variables inspeccionadas para la sesión. |
Detalles del constructor
Session(ISessionOptions)
Crea una instancia de la sesión.
new Session(options: ISessionOptions)
Parámetros
- options
- ISessionOptions
Opciones de configuración de sesiones.
Detalles de las propiedades
connector
conversationData
Datos de conversación compartidos que son visibles para todos los miembros de la conversación.
conversationData: any
Valor de propiedad
any
dialogData
Datos que solo son visibles para el cuadro de diálogo actual.
dialogData: any
Valor de propiedad
any
library
localizer
message
Mensaje recibido del usuario. En el caso de los mensajes originados por el bot, esto solo puede contener los campos "to" & "from".
message: IMessage
Valor de propiedad
privateConversationData
Datos de conversación privada que solo son visibles para el usuario.
privateConversationData: any
Valor de propiedad
any
sessionState
Sesiones de información de estado actual.
sessionState: ISessionState
Valor de propiedad
userData
Datos del usuario que se conservan en todas las conversaciones con el bot.
userData: any
Valor de propiedad
any
Detalles del método
activeDialogStackEntry(IDialogState[])
Devuelve un cuadro de diálogo activo de pila o null.
static function activeDialogStackEntry(stack: IDialogState[])
Parámetros
- stack
Pila de diálogos para la que se va a devolver la entrada.
Devoluciones
beginDialog<T>(string, T)
Pasa el control de la conversación a un cuadro de diálogo nuevo. El diálogo actual se suspenderá hasta que se complete el diálogo secundario. Una vez que el elemento secundario finaliza el cuadro de diálogo actual, recibirá una llamada a dialogResumed() donde puede inspeccionar los resultados devueltos por el elemento secundario.
function beginDialog<T>(id: string, args?: T)
Parámetros
- id
-
string
Identificador único del cuadro de diálogo que se va a iniciar.
- args
-
T
(Opcional) argumentos para pasar a los diálogos método begin().
Devoluciones
cancelDialog(string | number, string, any)
Cancela un cuadro de diálogo existente y, opcionalmente, inicia uno nuevo en su lugar. A diferencia de endDialog() y replaceDialog() que afectan al cuadro de diálogo actual, este método le permite finalizar un diálogo primario en cualquier parte de la pila. El elemento primario del cuadro de diálogo cancelado continuará como si el diálogo hubiera llamado a endDialog(). Se devolverá un especial resumeReason.canceled para indicar que se canceló el cuadro de diálogo.
function cancelDialog(dialogId: string | number, replaceWithId?: string, replaceWithArgs?: any)
Parámetros
- dialogId
-
string | number
- dialogId:{string}: identificador del cuadro de diálogo que se va a finalizar. Si existen varias repeticiones del cuadro de diálogo en la pila de diálogos, se cancelará la última aparición.
- dialogId:{number}: índice del cuadro de diálogo en la pila que se va a cancelar. Esta es la manera preferida de cancelar un cuadro de diálogo desde un controlador de acciones, ya que garantiza que se cancele la instancia correcta.
- replaceWithId
-
string
(Opcional) especifica un identificador que se iniciará en el lugar de los diálogos cancelados. Esto impide que los diálogos primarios se reanudan.
- replaceWithArgs
-
any
(Opcional) argumentos para pasar al cuadro de diálogo nuevo.
Devoluciones
clearDialogStack()
delay(number)
Inserta un retraso entre los mensajes salientes.
function delay(delay: number)
Parámetros
- delay
-
number
Número de milisegundos para los que se pausa.
Devoluciones
dialogStack(IDialogState[])
Obtiene o establece la pila de diálogos actual. Se devuelve una copia del cuadro de diálogo actual, por lo que si se realizan cambios en la pila devuelta, deberá volver a copiarse en la sesión a través de una segunda llamada a session.dialogStack().
function dialogStack(newStack?: IDialogState[])
Parámetros
- newStack
(Opcional) pila de cuadros de diálogo para asignar a la sesión. Las sesiones dialogData se actualizarán para reflejar el estado del nuevo cuadro de diálogo activo.
Devoluciones
dispatch(ISessionState, IMessage, Function)
Finaliza la inicialización del objeto de sesión y, a continuación, enruta la sesión a través de todo el middleware instalado. Se llamará a la función pasada next() como último paso de la cadena de middleware.
function dispatch(sessionState: ISessionState, message: IMessage, next: Function)
Parámetros
- sessionState
- ISessionState
Estado de sesión actual. Si null se iniciará una nueva conversación a partir del dialogId configurado.
- message
- IMessage
Mensaje que se va a enrutar a través del middleware.
- next
-
Function
Función que se va a invocar como último paso de la cadena de middleware.
Devoluciones
endConversation(TextOrMessageType, any[])
Finaliza la conversación actual y, opcionalmente, envía un mensaje al usuario.
function endConversation(message?: TextOrMessageType, args: any[])
Parámetros
- message
- TextOrMessageType
(Opcional) texto o mensaje para enviar al usuario antes de finalizar la conversación.
- args
-
any[]
(Opcional) argumentos usados para dar formato al texto de salida final cuando mensaje es un {string|string[]}.
Devoluciones
endDialog(TextOrMessageType, any[])
Finaliza el cuadro de diálogo actual y, opcionalmente, envía un mensaje al usuario. El elemento primario se reanudará con un IDialogResult.reanudado motivo de completado.
function endDialog(message?: TextOrMessageType, args: any[])
Parámetros
- message
- TextOrMessageType
(Opcional) texto o mensaje para enviar al usuario antes de finalizar el cuadro de diálogo.
- args
-
any[]
(Opcional) argumentos usados para dar formato al texto de salida final cuando mensaje es un {string|string[]}.
Devoluciones
endDialogWithResult(IDialogResult<any>)
Finaliza el cuadro de diálogo actual y, opcionalmente, devuelve un resultado al elemento primario de los diálogos.
function endDialogWithResult(result?: IDialogResult<any>)
Parámetros
- result
-
IDialogResult<any>
(Opcional) resultado para enviar al usuario. El valor que desea devolver debe estar en el campo respuesta.
Devoluciones
error(Error)
Indica que se produjo un error. El bot indicará el error a través de un evento on('error', err).
function error(err: Error)
Parámetros
- err
-
Error
Error que se produjo.
Devoluciones
findDialogStackEntry(IDialogState[], string, boolean)
Busca en una pila de diálogos un diálogo específico, en una dirección hacia delante o inversa, devolviendo su índice.
static function findDialogStackEntry(stack: IDialogState[], dialogId: string, reverse?: boolean)
Parámetros
- stack
Pila de diálogos que se va a buscar.
- dialogId
-
string
Identificador único del cuadro de diálogo, en <namespace>:<dialog> formato, para buscar.
- reverse
-
boolean
(Opcional) si es true, se buscará en la pila a partir del cuadro de diálogo activo y trabajando hacia arriba hasta la raíz.
Devoluciones
number
forEachDialogStackEntry(IDialogState[], boolean, (entry: IDialogState, index: number) => void)
Enumera todas las entradas de diálogo de pilas en una dirección hacia delante o inversa.
static function forEachDialogStackEntry(stack: IDialogState[], reverse: boolean, fn: (entry: IDialogState, index: number) => void)
Parámetros
- stack
Pila de diálogos que se va a enumerar.
- reverse
-
boolean
Si es true, las entradas se enumerarán a partir del cuadro de diálogo activo y funcionarán hasta el diálogo raíz.
- fn
-
(entry: IDialogState, index: number) => void
Función que se va a invocar con cada entrada de la pila.
gettext(string, any[])
Carga una cadena localizada para el idioma de los mensajes. Si se pasan argumentos, la cadena localizada se tratará como una plantilla y tendrá formato mediante sprintf-js (consulte sus documentos para obtener más información).
function gettext(msgid: string, args: any[])
Parámetros
- msgid
-
string
Cadena que se va a usar como clave en la tabla de cadenas localizadas. Normalmente, esto solo será la versión en inglés de la cadena.
- args
-
any[]
(Opcional) argumentos usados para dar formato a la cadena de salida final.
Devoluciones
string
isReset()
Devuelve true si se ha restablecido la sesión.
function isReset()
Devoluciones
boolean
messageSent()
Devuelve true si se ha enviado un mensaje para esta sesión.
function messageSent()
Devoluciones
boolean
ngettext(string, string, number)
Carga la forma plural de una cadena localizada para el idioma de los mensajes. La cadena de salida tendrá formato para incluir el recuento reemplazando %d en la cadena por el recuento.
function ngettext(msgid: string, msgid_plural: string, count: number)
Parámetros
- msgid
-
string
Forma singular de la cadena que se va a usar como clave en la tabla de cadenas localizadas. Use %d para especificar dónde debe ir el recuento.
- msgid_plural
-
string
Forma plural de la cadena que se va a usar como clave en la tabla de cadenas localizadas. Use %d para especificar dónde debe ir el recuento.
- count
-
number
Recuento que se va a usar al determinar si se debe usar la forma singular o plural de la cadena.
Devoluciones
string
on(string, (data: any) => void)
Registra un agente de escucha de eventos.
function on(event: string, listener: (data: any) => void)
Parámetros
- event
-
string
Nombre del evento. Tipos de eventos:
-
error: Error. Pasa un objeto
Errorde JavaScript.
- listener
-
(data: any) => void
Función que se va a invocar.
popDialogStackEntry(IDialogState[])
Quita el cuadro de diálogo activo de una pila y devuelve el nuevo si la pila no está vacía.
static function popDialogStackEntry(stack: IDialogState[])
Parámetros
- stack
Pila de diálogos que se va a actualizar.
Devoluciones
preferredLocale(string, (err: Error) => void)
Devuelve la configuración regional preferida cuando no se proporciona ningún parámetro; de lo contrario, establece la configuración regional preferida.
function preferredLocale(locale?: string, callback?: (err: Error) => void)
Parámetros
- locale
-
string
(Opcional) la configuración regional que se va a usar para localizar mensajes.
- callback
-
(err: Error) => void
(Opcional) función a la que se llama cuando se ha cargado la tabla de localización para la configuración regional proporcionada.
Devoluciones
string
pruneDialogStack(IDialogState[], number)
Elimina todas las entradas de la pila de diálogos a partir del índice especificado y devuelve el nuevo cuadro de diálogo activo.
static function pruneDialogStack(stack: IDialogState[], start: number)
Parámetros
- stack
Pila de diálogos que se va a actualizar.
- start
-
number
Índice del primer elemento que se va a quitar.
Devoluciones
pushDialogStackEntry(IDialogState[], IDialogState)
Inserta un cuadro de diálogo nuevo en una pila y lo devuelve como el diálogo activo.
static function pushDialogStackEntry(stack: IDialogState[], entry: IDialogState)
Parámetros
- stack
Pila de diálogos que se va a actualizar.
- entry
- IDialogState
Entrada de cuadro de diálogo que se va a insertar en la pila.
Devoluciones
replaceDialog<T>(string, T)
Finaliza el cuadro de diálogo actual e inicia uno nuevo en su lugar. El cuadro de diálogo primario no se reanudará hasta que se complete el cuadro de diálogo nuevo.
function replaceDialog<T>(id: string, args?: T)
Parámetros
- id
-
string
Identificador único del cuadro de diálogo que se va a iniciar.
- args
-
T
(Opcional) argumentos para pasar a los diálogos método begin().
Devoluciones
reset(string, any)
Borra la pila de llamadas de sesiones y reinicia la conversación con el dialogId configurado.
function reset(dialogId?: string, dialogArgs?: any)
Parámetros
- dialogId
-
string
(Opcional) Identificador del cuadro de diálogo que se va a iniciar.
- dialogArgs
-
any
(Opcional) argumentos para pasar a los diálogos método begin().
Devoluciones
routeToActiveDialog(IRecognizeResult)
Envía la sesión al cuadro de diálogo activo o al diálogo predeterminado para su procesamiento.
function routeToActiveDialog(recognizeResult?: IRecognizeResult)
Parámetros
- recognizeResult
- IRecognizeResult
(Opcional) resultados devueltos de llamar a Library.findRoutes(), Library.findActiveDialogRoutes(), * o Dialog.recognize().
save()
Desencadena el guardado de cambios realizados en dialogData, userData, conversationdatao [privateConversationData'(#privateconversationdata).
function save()
Devoluciones
say(TextType, IMessageOptions)
function say(text: TextType, options?: IMessageOptions)
Parámetros
- text
- TextType
- options
- IMessageOptions
Devoluciones
say(TextType, TextType, IMessageOptions)
Envía un mensaje de texto y SSML opcional al usuario.
function say(text: TextType, speak?: TextType, options?: IMessageOptions)
Parámetros
- text
- TextType
Texto que se va a enviar al usuario. Esto puede ser NULL para enviar solo SSML o datos adjuntos.
- speak
- TextType
(Opcional) mensaje que se debe hablar al usuario. El mensaje debe tener el formato lenguaje de marcado de síntesis de voz (SSML). Si se pasa una matriz, se elegirá una respuesta aleatoriamente.
- options
- IMessageOptions
(Opcional) propiedades que se deben incluir en el mensaje saliente.
Devoluciones
sayLocalized(string, TextType, TextType, IMessageOptions)
Envía un texto y SSML opcional al usuario mediante un espacio de nombres de localización específico.
function sayLocalized(libraryNamespace: string, text: TextType, speak?: TextType, options?: IMessageOptions)
Parámetros
- libraryNamespace
-
string
Namespace usar para localizar el mensaje.
- text
- TextType
Texto que se va a enviar al usuario. Esto puede ser NULL para enviar solo SSML o datos adjuntos.
- speak
- TextType
(Opcional) mensaje que se debe hablar al usuario. El mensaje debe tener el formato lenguaje de marcado de síntesis de voz (SSML). Si se pasa una matriz, se elegirá una respuesta aleatoriamente.
- options
- IMessageOptions
(Opcional) propiedades que se deben incluir en el mensaje saliente.
Devoluciones
send(TextOrMessageType, any[])
Envía un mensaje al usuario.
function send(message: TextOrMessageType, args: any[])
Parámetros
- message
- TextOrMessageType
Texto o mensaje que se va a enviar al usuario. Si se pasa una matriz, se elegirá una respuesta aleatoriamente.
- args
-
any[]
(Opcional) argumentos usados para dar formato al texto de salida final cuando mensaje es un {string|string[]}.
Devoluciones
sendBatch((err: Error, addresses?: IAddress[]) => void)
Finaliza inmediatamente el lote actual y entrega los mensajes en cola.
function sendBatch(done?: (err: Error, addresses?: IAddress[]) => void)
Parámetros
- done
-
(err: Error, addresses?: IAddress[]) => void
(Opcional) se llama a la función cuando el lote se deslimentó correctamente o se produjo un error por algún motivo.
sendLocalized(string, TextOrMessageType, any[])
Envía un mensaje a un usuario mediante un espacio de nombres de localización específico.
function sendLocalized(libraryNamespace: string, message: TextOrMessageType, args: any[])
Parámetros
- libraryNamespace
-
string
Namespace usar para localizar el mensaje.
- message
- TextOrMessageType
Texto o mensaje que se va a enviar al usuario.
- args
-
any[]
(Opcional) argumentos usados para dar formato al texto de salida final cuando mensaje es un {string|string[]}.
Devoluciones
sendTyping()
Envía al usuario una indicación de que el bot está escribiendo. Para las operaciones de larga duración, se debe llamar cada pocos segundos.
function sendTyping()
Devoluciones
toRecognizeContext()
Devuelve el objeto de sesión como un objeto de contexto de solo lectura.
function toRecognizeContext()
Devoluciones
validateDialogStack(IDialogState[], Library)
Garantiza que todas las entradas de una pila de diálogos hagan referencia a diálogos válidos dentro de una jerarquía de biblioteca.
static function validateDialogStack(stack: IDialogState[], root: Library)
Parámetros
- stack
Pila de diálogos que se va a validar.
- root
- Library
Raíz de la jerarquía de bibliotecas, normalmente el bot.
Devoluciones
boolean
watch(string, boolean)
Habilita o deshabilita una inspección para la sesión actual.
function watch(variable: string, enable?: boolean)
Parámetros
- variable
-
string
Nombre de la variable que se va a inspeccionar o anular la inspección.
- enable
-
boolean
(Opcional) Si es true, se observará la variable; de lo contrario, no se mostrará. El valor predeterminado es true.
Devoluciones
watchable(string, IWatchableHandler)
Agrega o recupera una variable que se puede ver.
static function watchable(variable: string, handler?: IWatchableHandler)
Parámetros
- variable
-
string
Nombre de la variable que se puede ver. El caso solo se usa para mostrar.
- handler
- IWatchableHandler
(Opcional) Función que se usa para recuperar el valor actual de las variables. Si se especifica que se registrará un nuevo controlador, de lo contrario, se recuperará el controlador existente.
Devoluciones
watchableList()
Devuelve una lista de variables inspeccionables.
static function watchableList()
Devoluciones
string[]
watchList()
Devuelve la lista actual de variables inspeccionadas para la sesión.
function watchList()
Devoluciones
string[]