Compartir a través de


Session class

Administra la conversación de bots con un usuario.

Constructores

Session(ISessionOptions)

Crea una instancia de la sesión.

Propiedades

connector

Conector que se usa para esta sesión.

conversationData

Datos de conversación compartidos que son visibles para todos los miembros de la conversación.

dialogData

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

privateConversationData

Datos de conversación privada que solo son visibles para el usuario.

sessionState

Sesiones de información de estado actual.

userData

Datos del usuario que se conservan en todas las conversaciones con el bot.

Métodos

activeDialogStackEntry(IDialogState[])

Devuelve un cuadro de diálogo activo de pila o null.

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.

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.

clearDialogStack()

Borra la pila de diálogos actual.

delay(number)

Inserta un retraso entre los mensajes salientes.

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

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.

endConversation(TextOrMessageType, any[])

Finaliza la conversación actual y, opcionalmente, envía un mensaje al usuario.

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.

endDialogWithResult(IDialogResult<any>)

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

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.

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.

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

isReset()

Devuelve true si se ha restablecido la sesión.

messageSent()

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.

popDialogStackEntry(IDialogState[])

Quita el cuadro de diálogo activo de una pila y devuelve el nuevo si la pila no está vacía.

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.

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.

pushDialogStackEntry(IDialogState[], IDialogState)

Inserta un cuadro de diálogo nuevo en una pila y lo devuelve como el diálogo activo.

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.

reset(string, any)

Borra la pila de llamadas de sesiones y reinicia la conversación con el dialogId configurado.

routeToActiveDialog(IRecognizeResult)

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(TextType, IMessageOptions)
say(TextType, TextType, IMessageOptions)

Envía un mensaje de texto y SSML opcional al usuario.

sayLocalized(string, TextType, TextType, IMessageOptions)

Envía un texto y SSML opcional al usuario mediante un espacio de nombres de localización específico.

send(TextOrMessageType, any[])

Envía un mensaje al usuario.

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

Finaliza inmediatamente el lote actual y entrega los mensajes en cola.

sendLocalized(string, TextOrMessageType, any[])

Envía un mensaje a un usuario mediante un espacio de nombres de localización específico.

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.

toRecognizeContext()

Devuelve el objeto de sesión como un objeto de contexto de solo lectura.

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.

watch(string, boolean)

Habilita o deshabilita una inspección para la sesión actual.

watchable(string, IWatchableHandler)

Agrega o recupera una variable que se puede ver.

watchableList()

Devuelve una lista de variables inspeccionables.

watchList()

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

Conector que se usa para esta sesión.

connector: IConnector

Valor de propiedad

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

La biblioteca raíz de bots de diálogos.

library: Library

Valor de propiedad

localizer

Localizador de la sesión actual.

localizer: ILocalizer

Valor de propiedad

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

IDialogState[]

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

Borra la pila de diálogos actual.

function clearDialogStack()

Devoluciones

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

IDialogState[]

(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

IDialogState[]

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

IDialogState[]

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 Error de 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

IDialogState[]

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

IDialogState[]

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

IDialogState[]

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

IDialogState[]

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