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 | 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 "a" & "from". |
private |
Datos de conversación privados que solo son visibles para el usuario. |
session |
Información de estado actual de las sesiones. |
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 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 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 resumeReason.canceled especial 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án 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 motivo de IDialogResult.resume 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 ha producido 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 directa o inversa, devolviendo su índice. |
for |
Enumera todas las entradas de diálogo de pila en una dirección directa 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 se dará 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. Se dará formato a la cadena de salida 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 |
Extrae 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 nuevo cuadro de diálogo 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 nuevo diálogo. |
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 los cambios realizados en dialogData, userData, conversationdata o [privateConversationData'(#privateconversationdata). |
say(Text |
|
say(Text |
Envía un mensaje de texto y SSML opcional al usuario. |
say |
Envía un texto y un mensaje 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 a esta operación 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 un watch 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 "a" & "from".
message: IMessage
Valor de propiedad
privateConversationData
Datos de conversación privados que solo son visibles para el usuario.
privateConversationData: any
Valor de propiedad
any
sessionState
Información de estado actual de las sesiones.
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 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 al método begin() de diálogos.
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 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 resumeReason.canceled especial 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} : id. del cuadro de diálogo al final. Si existen varias repeticiones del 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 se reanudan los diálogos primarios.
- 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 va a pausar.
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án 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. El dialogData de sesiones se actualizará 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 el mensaje es una {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 motivo de IDialogResult.resume 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 el mensaje es una {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 de respuesta .
Devoluciones
error(Error)
Indica que se ha producido 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 directa 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, que se va a 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 pila en una dirección directa 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 se dará 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. Se dará formato a la cadena de salida 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 JavaScript
Error
.
- listener
-
(data: any) => void
Función que se va a invocar.
popDialogStackEntry(IDialogState[])
Extrae 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) se llama a la función 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 nuevo cuadro de diálogo 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 nuevo diálogo.
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 al método begin() de diálogos.
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 al método begin() de diálogos.
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) los resultados devueltos por la llamada a Library.findRoutes(), Library.findActiveDialogRoutes(), * o Dialog.recognize().
save()
Desencadena el guardado de los cambios realizados en dialogData, userData, conversationdata o [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 de lenguaje de marcado de síntesis de voz (SSML). Si se pasa una matriz, se elegirá una respuesta de forma aleatoria.
- options
- IMessageOptions
(Opcional) propiedades que se deben incluir en el mensaje saliente.
Devoluciones
sayLocalized(string, TextType, TextType, IMessageOptions)
Envía un texto y un mensaje 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
Espacio de nombres que se va a 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 de lenguaje de marcado de síntesis de voz (SSML). Si se pasa una matriz, se elegirá una respuesta de forma aleatoria.
- 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 de forma aleatoria.
- args
-
any[]
(Opcional) argumentos usados para dar formato al texto de salida final cuando el mensaje es una {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
Espacio de nombres que se va a 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 el mensaje es una {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 a esta operación 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
La raíz de la jerarquía de la biblioteca, normalmente el bot.
Devoluciones
boolean
watch(string, boolean)
Habilita o deshabilita un watch para la sesión actual.
function watch(variable: string, enable?: boolean)
Parámetros
- variable
-
string
Nombre de la variable que se va a watch/unwatch.
- 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. Las mayúsculas y minúsculas solo se usan para mostrarse.
- handler
- IWatchableHandler
(Opcional) Función usada para recuperar el valor actual de las variables. Si se especifica un nuevo controlador se registrará, 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[]