Compartir a través de


UniversalBot class

Administra las conversaciones de los bots con los usuarios en varios canales.

Extends

Constructores

UniversalBot(IConnector, any, string)

Crea una nueva instancia de UniversalBot.

UniversalBot(IConnector, IDialogWaterfallStep | IDialogWaterfallStep[], string)

Crea una nueva instancia de UniversalBot.

UniversalBot(IConnector, IUniversalBotSettings)

Crea una nueva instancia de UniversalBot.

Propiedades

name

Las bibliotecas son un espacio de nombres único. Esto se usa parasolar los cuadros de diálogo de bibliotecas y avisos localizados.

RouteTypes

Valores routeType admitidos devueltos de forma predeterminada desde findRoutes().

Métodos

addRouteResult(IRouteResult, IRouteResult[])

Método auxiliar llamado desde los distintos métodos de búsqueda de rutas para administrar la adición de una ruta candidata al conjunto de resultados.

  • Si la puntuación es mayor, se devolverá la mejor coincidencia actual en el conjunto de resultados nuevo que contenga solo la nueva coincidencia.
  • Si la puntuación es igual a la mejor coincidencia actual, se agregará al conjunto existente.
  • Si la puntuación es menor que la mejor coincidencia actual, se omitirá.
beginDialog(IAddress, string, any, (err: Error) => void)

Inicia de forma proactiva un nuevo cuadro de diálogo con el usuario. Cualquier conversación actual entre el bot y el usuario se reemplazará por una nueva pila de diálogos.

beginDialogAction(string, string, IDialogActionOptions)

Registra una acción global que iniciará otro cuadro de diálogo en cualquier momento que se desencadene. El nuevo cuadro de diálogo se insertará en la pila para que no finalice automáticamente ninguna tarea actual. La tarea actual continuará una vez que finalice el cuadro de diálogo nuevo. Las solicitudes integradas volverán a solicitar automáticamente al usuario una vez que esto suceda, pero ese comportamiento se puede deshabilitar estableciendo la marca promptAfterAction al llamar a un mensaje integrado.

bestRouteResult(IRouteResult[], IDialogState[], string)

Busca la mejor ruta para usar dentro de un conjunto de resultados que contiene varias rutas ambiguas. Se usará la siguiente estrategia de desambiguación:

  1. : los tipos de ruta personalizados son la prioridad más alta y se prefieren los ensayos. Esto permite al desarrollador invalidar el enrutamiento dentro de un bot de forma muy eficaz.
  2. ActiveDialog: el cuadro de diálogo activo es la siguiente prioridad más alta.
  3. StackAction: las acciones de pila son la siguiente prioridad más alta y se devolverá la acción con la posición de pila más profunda.
  4. GlobalAction: las acciones globales son la prioridad más baja. Si un dialogStack está pasado en las acciones de la biblioteca más profunda de la pila se favorecerá. De lo contrario, se devolverá la primera.
clone(UniversalBot, string)

Devuelve un clon de un bot existente.

connector(string, IConnector)

Registra o devuelve un conector para un canal específico.

customAction(IDialogActionOptions)

Registra una acción global personalizada que llamará al controlador de pasado en onSelectAction cuando se desencadene.

dialog(string, Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep, boolean)

Registra o devuelve un cuadro de diálogo de la biblioteca.

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

Registra una acción global que finalizará la conversación con el usuario cuando se desencadene.

findActiveDialogRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void, IDialogState[])

Obtiene la confianza de los diálogos activos que comprende el mensaje actual. El cuadro de diálogo debe ser miembro de la biblioteca actual; de lo contrario, se devolverá una puntuación de 0,0.

findDialog(string, string)

Busca en la biblioteca y en todas sus dependencias un cuadro de diálogo específico. Devuelve el cuadro de diálogo si se encuentra; en caso contrario, null.

findGlobalActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void)

Busca en la biblioteca para ver si se ha desencadenado alguna acción global.

findRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void)

Busca rutas candidatas para controlar el mensaje actual. Para iniciar realmente el control del mensaje, debe llamar a selectRoute() con uno de los resultados devueltos. La lógica de búsqueda predeterminada se puede invalidar mediante onFindRoute() y solo se busca la biblioteca actual, por lo que debe llamar a findRoutes() separador para cada biblioteca dentro de la jerarquía.

findStackActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void, IDialogState[])

Busca en la pila de diálogos de sesiones para ver si se ha desencadenado alguna acción.

forEachDialog((dialog: Dialog, id: string) => void)

Enumera todos los cuadros de diálogo de bibliotecas.

forEachLibrary((library: Library) => void)

Enumera todas las bibliotecas secundarias. El autor de la llamada debe realizar los pasos adecuados para evitar referencias circulares al enumerar la jerarquía. En la mayoría de los casos, llamar a libraryList() es una mejor opción, ya que ya contiene lógica para evitar ciclos.

get(string)

Devuelve el valor actual de una configuración.

isInConversation(IAddress, (err: Error, lastAccess: Date) => void)

Devuelve información sobre cuándo se produjo el último turno entre el usuario y un bot. Se puede llamar a esto antes de beginDialog para determinar si el usuario está actualmente en una conversación con el bot.

library(Library | string)

Registra o devuelve una dependencia de biblioteca.

libraryList(boolean)

Devuelve una lista de bibliotecas únicas dentro de la jerarquía. Se debe llamar a en la raíz de la jerarquía de bibliotecas y evitar ciclos creados cuando dos bibliotecas secundarias hacen referencia a la misma biblioteca dependiente.

loadSession(IAddress, (err: Error, session: Session) => void)

Carga un objeto de sesión para una dirección arbitraria.

localePath(string)

Obtiene o establece la ruta de acceso a la carpeta "/locale/" de bibliotecas que contiene sus mensajes localizados. Las indicaciones para la biblioteca deben almacenarse en un archivo "/locale/<IETF_TAG>/.json" en esta ruta de acceso donde "<IETF_TAG>" representa el escenario de idioma de 2 a 3 dígitos para la configuración regional y "" es un nombre de archivo que coincide con el espacio de nombres de las bibliotecas.

on(string, (data: any) => void)

Registra un agente de escucha de eventos. El bot emitirá sus propios eventos a medida que procesa los mensajes entrantes y salientes. También reenviará los eventos relacionados con la actividad emitidos desde el conector, lo que le proporcionará un lugar para escuchar toda la actividad del bot. El flujo de eventos del bot es el siguiente:

Mensaje recibido

Cuando el bot recibe un nuevo mensaje, emitirá los siguientes eventos en orden:

lookupUser: recepción de>> entrante> getStorageData: enrutamiento de>

Cualquier recibir middleware que se haya instalado se ejecutará entre los eventos "receive" y "incoming". Después de emitir el evento "routing" cualquier middleware botbuilder se ejecutará antes de enviar el mensaje al cuadro de diálogo activo de bots.

Actividad del conector recibida

Los conectores pueden emitir eventos de actividad para indicar que algo como un usuario está escribiendo o que ha sido amigo de un bot. Estas actividades se enrutan a través de middleware como mensajes, pero no se enrutan a través del sistema de diálogo bots. Solo se emiten como eventos.

El flujo de eventos del conector es:

lookupUser: recepción de>:> (actividad)

Mensaje enviado

Los bots pueden enviar varios mensajes, por lo que la sesión procesará por lotes todos los mensajes salientes y, a continuación, guardará el estado actual de los bots antes de entregar los mensajes enviados. Verá un único evento "saveStorageData" emitido y, a continuación, para cada mensaje saliente del lote, verá la siguiente secuencia de eventos:

send:> saliente

Cualquier enviar middleware que se haya instalado se ejecutará entre los eventos "send" y "salientes".

onDisambiguateRoute(IDisambiguateRouteHandler)

Reemplaza la lógica de desambiguación de ruta predeterminada de los bots por una implementación personalizada.

onFindRoutes(IFindRoutesHandler)

Reemplaza findRoutes() lógica de búsqueda de rutas predeterminada por una implementación personalizada.

onSelectRoute(ISelectRouteHandler)

Reemplaza la lógica predeterminada para selectRoute() por una implementación personalizada.

receive(IEvent | IEvent[], (err: Error) => void)

Se llama cuando se recibe un nuevo evento. Se puede llamar manualmente para imitar al bot que recibe un mensaje del usuario.

recognize(IRecognizeContext, (err: Error, result: IIntentRecognizerResult) => void)

Intenta hacer coincidir una expresión de texto de los usuarios con una intención mediante los reconocedores de bibliotecas. Consulte IIntentRecognizer.recognize().

recognizer(IIntentRecognizer)

Agrega un nuevo complemento recognizer a la biblioteca.

selectActiveDialogRoute(Session, IRouteResult, IDialogState[])

Enruta el mensaje actual al cuadro de diálogo activo.

selectGlobalActionRoute(Session, IRouteResult, IDialogState[])

Enruta el mensaje actual a una acción global desencadenada.

selectRoute(Session, IRouteResult)

Desencadena el control del mensaje actual mediante la ruta seleccionada. La lógica predeterminada se puede invalidar mediante onSelectRoute().

selectStackActionRoute(Session, IRouteResult, IDialogState[])

Enruta el mensaje actual a una acción de pila desencadenada.

send(IIsMessage | IMessage | IMessage[], (err: Error, addresses?: IAddress[]) => void)

Envía un mensaje al usuario sin interrumpir la pila de diálogos de conversaciones actuales.

set(string, any)

Establece una configuración en el bot.

use(IMiddlewareMap[])

Instala middleware para el bot. El middleware le permite interceptar eventos o mensajes entrantes y salientes.

Detalles del constructor

UniversalBot(IConnector, any, string)

Crea una nueva instancia de UniversalBot.

new UniversalBot(connector?: IConnector, defaultDialog?: any, libraryName?: string)

Parámetros

connector
IConnector

(Opcional) el conector predeterminado que se va a usar para las solicitudes. Si no hay un conector más específico registrado para un canal, se usará este conector./**

defaultDialog

any

(Opcional) controlador predeterminado de mensajes recibidos. Puede ser una función individual o una secuencia en cascada.

libraryName

string

(Opcional) espacio de nombres de biblioteca para el bot. El valor predeterminado es '*'.

UniversalBot(IConnector, IDialogWaterfallStep | IDialogWaterfallStep[], string)

Crea una nueva instancia de UniversalBot.

new UniversalBot(connector: IConnector, defaultDialog?: IDialogWaterfallStep | IDialogWaterfallStep[], libraryName?: string)

Parámetros

connector
IConnector

(Opcional) el conector predeterminado que se va a usar para las solicitudes. Si no hay un conector más específico registrado para un canal, se usará este conector./**

defaultDialog

IDialogWaterfallStep | IDialogWaterfallStep[]

(Opcional) controlador predeterminado de mensajes recibidos. Puede ser una función individual o una secuencia en cascada.

libraryName

string

(Opcional) espacio de nombres de biblioteca para el bot. El valor predeterminado es '*'.

UniversalBot(IConnector, IUniversalBotSettings)

Crea una nueva instancia de UniversalBot.

new UniversalBot(connector: IConnector, settings?: IUniversalBotSettings)

Parámetros

connector
IConnector

(Opcional) el conector predeterminado que se va a usar para las solicitudes. Si no hay un conector más específico registrado para un canal, se usará este conector./**

Detalles de las propiedades

name

Las bibliotecas son un espacio de nombres único. Esto se usa parasolar los cuadros de diálogo de bibliotecas y avisos localizados.

name: string

Valor de propiedad

string

RouteTypes

Valores routeType admitidos devueltos de forma predeterminada desde findRoutes().

static RouteTypes: Object

Valor de propiedad

Object

Detalles del método

addRouteResult(IRouteResult, IRouteResult[])

Método auxiliar llamado desde los distintos métodos de búsqueda de rutas para administrar la adición de una ruta candidata al conjunto de resultados.

  • Si la puntuación es mayor, se devolverá la mejor coincidencia actual en el conjunto de resultados nuevo que contenga solo la nueva coincidencia.
  • Si la puntuación es igual a la mejor coincidencia actual, se agregará al conjunto existente.
  • Si la puntuación es menor que la mejor coincidencia actual, se omitirá.
static function addRouteResult(route: IRouteResult, current?: IRouteResult[])

Parámetros

route
IRouteResult

Ruta candidata que se va a agregar al conjunto.

current

IRouteResult[]

(Opcional) conjunto de resultados para agregar también la ruta. Si falta un nuevo conjunto con solo la ruta, se devolverá.

Devoluciones

beginDialog(IAddress, string, any, (err: Error) => void)

Inicia de forma proactiva un nuevo cuadro de diálogo con el usuario. Cualquier conversación actual entre el bot y el usuario se reemplazará por una nueva pila de diálogos.

function beginDialog(address: IAddress, dialogId: string, dialogArgs?: any, done?: (err: Error) => void)

Parámetros

address
IAddress

Dirección del usuario con la que iniciar una nueva conversación. Esto se debe guardar durante una conversación anterior con el usuario. Cualquier conversación o diálogo existente se finalizará inmediatamente.

dialogId

string

Id. del cuadro de diálogo que se va a iniciar.

dialogArgs

any

(Opcional) argumentos para pasar al cuadro de diálogo.

done

(err: Error) => void

(Opcional) función para invocar una vez completada la operación.

beginDialogAction(string, string, IDialogActionOptions)

Registra una acción global que iniciará otro cuadro de diálogo en cualquier momento que se desencadene. El nuevo cuadro de diálogo se insertará en la pila para que no finalice automáticamente ninguna tarea actual. La tarea actual continuará una vez que finalice el cuadro de diálogo nuevo. Las solicitudes integradas volverán a solicitar automáticamente al usuario una vez que esto suceda, pero ese comportamiento se puede deshabilitar estableciendo la marca promptAfterAction al llamar a un mensaje integrado.

function beginDialogAction(name: string, id: string, options?: IDialogActionOptions)

Parámetros

name

string

Nombre único para asignar la acción.

id

string

Identificador del cuadro de diálogo que se va a iniciar.

options
IDialogActionOptions

(Opcional) opciones usadas para configurar la acción. Si coincide con se especifica, la acción escuchará al usuario que diga una palabra o frase que desencadene la acción; de lo contrario, la acción debe enlazarse a un botón mediante CardAction.dialogAction() para desencadenar la acción. También puede usar dialogArgs para pasar parámetros adicionales al cuadro de diálogo que se está iniciando.

Devoluciones

bestRouteResult(IRouteResult[], IDialogState[], string)

Busca la mejor ruta para usar dentro de un conjunto de resultados que contiene varias rutas ambiguas. Se usará la siguiente estrategia de desambiguación:

  1. : los tipos de ruta personalizados son la prioridad más alta y se prefieren los ensayos. Esto permite al desarrollador invalidar el enrutamiento dentro de un bot de forma muy eficaz.
  2. ActiveDialog: el cuadro de diálogo activo es la siguiente prioridad más alta.
  3. StackAction: las acciones de pila son la siguiente prioridad más alta y se devolverá la acción con la posición de pila más profunda.
  4. GlobalAction: las acciones globales son la prioridad más baja. Si un dialogStack está pasado en las acciones de la biblioteca más profunda de la pila se favorecerá. De lo contrario, se devolverá la primera.
static function bestRouteResult(routes: IRouteResult[], dialogStack?: IDialogState[], rootLibraryName?: string)

Parámetros

routes

IRouteResult[]

Matriz de rutas candidatas para filtrar.

dialogStack

IDialogState[]

(Opcional) pila de diálogos que se usa para determinar qué acciones globales de bibliotecas se van a favorecer.

rootLibraryName

string

(Opcional) espacio de nombres de biblioteca que prefiera al desambiguar las acciones globales y no hay diálogos en la pila.

Devoluciones

clone(UniversalBot, string)

Devuelve un clon de un bot existente.

function clone(copyTo?: UniversalBot, newName?: string)

Parámetros

copyTo
UniversalBot

(Opcional) instancia en la que copiar el objeto actual. Si falta una nueva instancia, se creará.

newName

string

(Opcional) si se especifica que se cambiará el nombre de la copia devuelta a un nuevo nombre.

Devoluciones

connector(string, IConnector)

Registra o devuelve un conector para un canal específico.

function connector(channelId: string, connector?: IConnector)

Parámetros

channelId

string

Identificador único del canal. Use un channelId de '*' para hacer referencia al conector predeterminado.

connector
IConnector

(Opcional) conector que se va a registrar. Si se ha asignado el conector para channelId se devolverá.

Devoluciones

customAction(IDialogActionOptions)

Registra una acción global personalizada que llamará al controlador de pasado en onSelectAction cuando se desencadene.

function customAction(options: IDialogActionOptions)

Parámetros

options
IDialogActionOptions

Las opciones usadas para configurar la acción. Si coincide con se especifica, la acción escuchará al usuario que diga una palabra o frase que desencadene la acción. Se puede proporcionar lógica de coincidencia personalizada mediante onFindAction.

Devoluciones

dialog(string, Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep, boolean)

Registra o devuelve un cuadro de diálogo de la biblioteca.

function dialog(id: string, dialog?: Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep, replace?: boolean)

Parámetros

id

string

Identificador único del cuadro de diálogo que se está resitiando o recuperando.

dialog

Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep

(Opcional) cuadro de diálogo o cascada que se va a registrar.

  • cuadro de diálogo:{Dialog} : cuadro de diálogo que se va a agregar.
  • cuadro de diálogo :{IDialogWaterfallStep[]}: cascada de pasos que se van a ejecutar. Consulte IDialogWaterfallStep para obtener más información.
  • cuadro de diálogo :{IDialogWaterfallStep}: cascada de paso único. Al llamar a un símbolo del sistema integrado o iniciar un nuevo cuadro de diálogo, el diálogo actual finalizará al finalizar el mensaje o el diálogo secundario.
replace

boolean

(Opcional) si es true, el cuadro de diálogo debe reemplazar el diálogo existente si ya está registrado.

Devoluciones

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

Registra una acción global que finalizará la conversación con el usuario cuando se desencadene.

function endConversationAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)

Parámetros

name

string

Nombre único para asignar la acción.

msg
TextOrMessageType

(Opcional) mensaje para enviar al usuario antes de finalizar la conversación.

options
ICancelActionOptions

(Opcional) opciones usadas para configurar la acción. Si coincide con se especifica, la acción escuchará al usuario que diga una palabra o frase que desencadene la acción; de lo contrario, la acción debe enlazarse a un botón mediante CardAction.dialogAction() para desencadenar la acción.

Devoluciones

findActiveDialogRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void, IDialogState[])

Obtiene la confianza de los diálogos activos que comprende el mensaje actual. El cuadro de diálogo debe ser miembro de la biblioteca actual; de lo contrario, se devolverá una puntuación de 0,0.

function findActiveDialogRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void, dialogStack?: IDialogState[])

Parámetros

context
IRecognizeContext

Contexto del reconocedor de solo lectura para la conversación actual.

callback

(err: Error, routes: IRouteResult[]) => void

Función que se debe invocar con las rutas encontradas.

dialogStack

IDialogState[]

(Opcional) pila de cuadros de diálogo para buscar. El comportamiento predeterminado es buscar en la pila de diálogos actual de sesiones.

findDialog(string, string)

Busca en la biblioteca y en todas sus dependencias un cuadro de diálogo específico. Devuelve el cuadro de diálogo si se encuentra; en caso contrario, null.

function findDialog(libName: string, dialogId: string)

Parámetros

libName

string

Nombre de la biblioteca que contiene el cuadro de diálogo.

dialogId

string

Identificador único del cuadro de diálogo dentro de la biblioteca.

Devoluciones

findGlobalActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void)

Busca en la biblioteca para ver si se ha desencadenado alguna acción global.

function findGlobalActionRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void)

Parámetros

context
IRecognizeContext

Contexto del reconocedor de solo lectura para la conversación actual.

callback

(err: Error, routes: IRouteResult[]) => void

Función que se debe invocar con las rutas encontradas.

findRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void)

Busca rutas candidatas para controlar el mensaje actual. Para iniciar realmente el control del mensaje, debe llamar a selectRoute() con uno de los resultados devueltos. La lógica de búsqueda predeterminada se puede invalidar mediante onFindRoute() y solo se busca la biblioteca actual, por lo que debe llamar a findRoutes() separador para cada biblioteca dentro de la jerarquía.

function findRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void)

Parámetros

context
IRecognizeContext

Contexto del reconocedor de solo lectura para la conversación actual.

callback

(err: Error, routes: IRouteResult[]) => void

Función que se debe invocar con las rutas encontradas.

findStackActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void, IDialogState[])

Busca en la pila de diálogos de sesiones para ver si se ha desencadenado alguna acción.

function findStackActionRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void, dialogStack?: IDialogState[])

Parámetros

context
IRecognizeContext

Contexto del reconocedor de solo lectura para la conversación actual.

callback

(err: Error, routes: IRouteResult[]) => void

Función que se debe invocar con las rutas encontradas.

dialogStack

IDialogState[]

(Opcional) pila de cuadros de diálogo para buscar. El comportamiento predeterminado es buscar en la pila de diálogos actual de sesiones.

forEachDialog((dialog: Dialog, id: string) => void)

Enumera todos los cuadros de diálogo de bibliotecas.

function forEachDialog(callback: (dialog: Dialog, id: string) => void)

Parámetros

callback

(dialog: Dialog, id: string) => void

Función iterador a la que llamar con cada cuadro de diálogo.

forEachLibrary((library: Library) => void)

Enumera todas las bibliotecas secundarias. El autor de la llamada debe realizar los pasos adecuados para evitar referencias circulares al enumerar la jerarquía. En la mayoría de los casos, llamar a libraryList() es una mejor opción, ya que ya contiene lógica para evitar ciclos.

function forEachLibrary(callback: (library: Library) => void)

Parámetros

callback

(library: Library) => void

Función iterador a la que llamar con cada libray secundaria.

get(string)

Devuelve el valor actual de una configuración.

function get(name: string)

Parámetros

name

string

Nombre de la propiedad que se va a devolver. Los nombres válidos son propiedades en IUniversalBotSettings.

Devoluciones

any

isInConversation(IAddress, (err: Error, lastAccess: Date) => void)

Devuelve información sobre cuándo se produjo el último turno entre el usuario y un bot. Se puede llamar a esto antes de beginDialog para determinar si el usuario está actualmente en una conversación con el bot.

function isInConversation(address: IAddress, callback: (err: Error, lastAccess: Date) => void)

Parámetros

address
IAddress

Dirección del usuario que se va a buscar. Esto se debe guardar durante una conversación anterior con el usuario.

callback

(err: Error, lastAccess: Date) => void

Función que se va a invocar con los resultados de la consulta.

library(Library | string)

Registra o devuelve una dependencia de biblioteca.

function library(lib: Library | string)

Parámetros

lib

Library | string

  • lib:{Library} : biblioteca para registrarse como dependencia.
  • lib:{string}: nombre único de la biblioteca que se va a buscar. También se buscarán todas las dependencias.

Devoluciones

libraryList(boolean)

Devuelve una lista de bibliotecas únicas dentro de la jerarquía. Se debe llamar a en la raíz de la jerarquía de bibliotecas y evitar ciclos creados cuando dos bibliotecas secundarias hacen referencia a la misma biblioteca dependiente.

function libraryList(reverse?: boolean)

Parámetros

reverse

boolean

(Opcional) Si la lista true se generará a partir de las hojas, lo que significa que la biblioteca raíz se mostrará en último lugar. El valor predeterminado es false, lo que significa que se generará a partir de las raíces hacia abajo y la biblioteca raíz se mostrará primero.

Devoluciones

loadSession(IAddress, (err: Error, session: Session) => void)

Carga un objeto de sesión para una dirección arbitraria.

function loadSession(address: IAddress, callback: (err: Error, session: Session) => void)

Parámetros

address
IAddress

Dirección del usuario o sesión que se va a cargar. Esto se debe guardar durante una conversación anterior con el usuario.

callback

(err: Error, session: Session) => void

Función que se va a invocar con la sesión cargada.

localePath(string)

Obtiene o establece la ruta de acceso a la carpeta "/locale/" de bibliotecas que contiene sus mensajes localizados. Las indicaciones para la biblioteca deben almacenarse en un archivo "/locale/<IETF_TAG>/.json" en esta ruta de acceso donde "<IETF_TAG>" representa el escenario de idioma de 2 a 3 dígitos para la configuración regional y "" es un nombre de archivo que coincide con el espacio de nombres de las bibliotecas.

function localePath(path?: string)

Parámetros

path

string

(Opcional) ruta de acceso a la carpeta "/locale/" de las bibliotecas. Si se especifica, actualizará la ruta de acceso de las bibliotecas.

Devoluciones

string

on(string, (data: any) => void)

Registra un agente de escucha de eventos. El bot emitirá sus propios eventos a medida que procesa los mensajes entrantes y salientes. También reenviará los eventos relacionados con la actividad emitidos desde el conector, lo que le proporcionará un lugar para escuchar toda la actividad del bot. El flujo de eventos del bot es el siguiente:

Mensaje recibido

Cuando el bot recibe un nuevo mensaje, emitirá los siguientes eventos en orden:

lookupUser: recepción de>> entrante> getStorageData: enrutamiento de>

Cualquier recibir middleware que se haya instalado se ejecutará entre los eventos "receive" y "incoming". Después de emitir el evento "routing" cualquier middleware botbuilder se ejecutará antes de enviar el mensaje al cuadro de diálogo activo de bots.

Actividad del conector recibida

Los conectores pueden emitir eventos de actividad para indicar que algo como un usuario está escribiendo o que ha sido amigo de un bot. Estas actividades se enrutan a través de middleware como mensajes, pero no se enrutan a través del sistema de diálogo bots. Solo se emiten como eventos.

El flujo de eventos del conector es:

lookupUser: recepción de>:> (actividad)

Mensaje enviado

Los bots pueden enviar varios mensajes, por lo que la sesión procesará por lotes todos los mensajes salientes y, a continuación, guardará el estado actual de los bots antes de entregar los mensajes enviados. Verá un único evento "saveStorageData" emitido y, a continuación, para cada mensaje saliente del lote, verá la siguiente secuencia de eventos:

send:> saliente

Cualquier enviar middleware que se haya instalado se ejecutará entre los eventos "send" y "salientes".

function on(event: string, listener: (data: any) => void)

Parámetros

event

string

Nombre del evento. Tipos de eventos específicos del bot y del conector:

Eventos de bot

  • error: Error. Se ha pasado un objeto Error de JavaScript.
  • lookupUser: El usuario está a punto de buscar una dirección. Se ha pasado un objeto IAddress.
  • recepción: se ha recibido un mensaje entrante. Se ha pasado un objeto IEvent.
  • entrante: middleware ha recibido y procesado un mensaje entrante. Se ha pasado un objeto IMessage.
  • enrutamiento: Se ha enlazado un mensaje entrante a una sesión y está a punto de enrutarse a través de cualquier middleware de sesión y, a continuación, se envía al cuadro de diálogo activo para su procesamiento. Se ha pasado un objeto session de .
  • enviar: un mensaje saliente está a punto de enviarse al middleware para su procesamiento. Se ha pasado un objeto IMessage.
  • saliente: Se acaba de enviar un mensaje saliente a través del middleware y está a punto de entregarse al cliente de chat de los usuarios.
  • getStorageData: Se cargan los datos de estado persistentes de las sesiones desde el almacenamiento. Se ha pasado un objeto IBotStorageContext.
  • saveStorageData: Los datos de estado persistentes de las sesiones se escriben en el almacenamiento. Se ha pasado un objeto IBotStorageContext.

Eventos de ChatConnector

  • conversationUpdate: el bot se agregó a una conversación u otros metadatos de conversación cambiados. Se ha pasado un objeto IConversationUpdate.
  • contactRelationUpdate: El bot se agregó o quitó de la lista de contactos de un usuario. Se ha pasado un objeto IContactRelationUpdate.
  • escribir: El usuario o bot en el otro extremo de la conversación está escribiendo. Se ha pasado un objeto IEvent.
listener

(data: any) => void

Función que se va a invocar.

onDisambiguateRoute(IDisambiguateRouteHandler)

Reemplaza la lógica de desambiguación de ruta predeterminada de los bots por una implementación personalizada.

function onDisambiguateRoute(handler: IDisambiguateRouteHandler)

Parámetros

handler
IDisambiguateRouteHandler

Función a la que se invocará con las rutas candidatas para enviar un mensaje entrante.

onFindRoutes(IFindRoutesHandler)

Reemplaza findRoutes() lógica de búsqueda de rutas predeterminada por una implementación personalizada.

function onFindRoutes(handler: IFindRoutesHandler)

Parámetros

handler
IFindRoutesHandler

Función que se invocará cada vez que se llame a findRoutes() para la biblioteca.

onSelectRoute(ISelectRouteHandler)

Reemplaza la lógica predeterminada para selectRoute() por una implementación personalizada.

function onSelectRoute(handler: ISelectRouteHandler)

Parámetros

handler
ISelectRouteHandler

Función que se invocará siempre que se llame a selectRoute().

receive(IEvent | IEvent[], (err: Error) => void)

Se llama cuando se recibe un nuevo evento. Se puede llamar manualmente para imitar al bot que recibe un mensaje del usuario.

function receive(events: IEvent | IEvent[], done?: (err: Error) => void)

Parámetros

events

IEvent | IEvent[]

Evento o (matriz de eventos) recibidos.

done

(err: Error) => void

(Opcional) función para invocar una vez completada la operación.

recognize(IRecognizeContext, (err: Error, result: IIntentRecognizerResult) => void)

Intenta hacer coincidir una expresión de texto de los usuarios con una intención mediante los reconocedores de bibliotecas. Consulte IIntentRecognizer.recognize().

function recognize(context: IRecognizeContext, callback: (err: Error, result: IIntentRecognizerResult) => void)

Parámetros

context
IRecognizeContext

Contexto del reconocedor de solo lectura para la conversación actual.

callback

(err: Error, result: IIntentRecognizerResult) => void

Función que se debe invocar al finalizar el reconocimiento.

recognizer(IIntentRecognizer)

Agrega un nuevo complemento recognizer a la biblioteca.

function recognizer(plugin: IIntentRecognizer)

Parámetros

plugin
IIntentRecognizer

Reconocedor que se va a agregar.

Devoluciones

selectActiveDialogRoute(Session, IRouteResult, IDialogState[])

Enruta el mensaje actual al cuadro de diálogo activo.

function selectActiveDialogRoute(session: Session, route: IRouteResult, newStack?: IDialogState[])

Parámetros

session
Session

Objeto session para la conversación actual.

route
IRouteResult

Resultado de la ruta devuelto de una llamada anterior a findRoutes() o findActiveDialogRoutes().

newStack

IDialogState[]

selectGlobalActionRoute(Session, IRouteResult, IDialogState[])

Enruta el mensaje actual a una acción global desencadenada.

function selectGlobalActionRoute(session: Session, route: IRouteResult, newStack?: IDialogState[])

Parámetros

session
Session

Objeto session para la conversación actual.

route
IRouteResult

Resultado de ruta devuelto de una llamada anterior a findRoutes() o findGlobalActionRoutes().

newStack

IDialogState[]

selectRoute(Session, IRouteResult)

Desencadena el control del mensaje actual mediante la ruta seleccionada. La lógica predeterminada se puede invalidar mediante onSelectRoute().

function selectRoute(session: Session, route: IRouteResult)

Parámetros

session
Session

Objeto session para la conversación actual.

route
IRouteResult

Resultado de ruta devuelto de una llamada anterior a findRoutes().

selectStackActionRoute(Session, IRouteResult, IDialogState[])

Enruta el mensaje actual a una acción de pila desencadenada.

function selectStackActionRoute(session: Session, route: IRouteResult, newStack?: IDialogState[])

Parámetros

session
Session

Objeto session para la conversación actual.

route
IRouteResult

Resultado de ruta devuelto de una llamada anterior a findRoutes() o findStackActionRoutes().

newStack

IDialogState[]

send(IIsMessage | IMessage | IMessage[], (err: Error, addresses?: IAddress[]) => void)

Envía un mensaje al usuario sin interrumpir la pila de diálogos de conversaciones actuales.

function send(messages: IIsMessage | IMessage | IMessage[], done?: (err: Error, addresses?: IAddress[]) => void)

Parámetros

messages

IIsMessage | IMessage | IMessage[]

Mensaje (o matriz de mensajes) que se va a enviar al usuario.

done

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

(Opcional) función para invocar una vez completada la operación.

set(string, any)

Establece una configuración en el bot.

function set(name: string, value: any)

Parámetros

name

string

Nombre de la propiedad que se va a establecer. Los nombres válidos son propiedades en IUniversalBotSettings.

value

any

Valor que se va a asignar a la configuración.

Devoluciones

use(IMiddlewareMap[])

Instala middleware para el bot. El middleware le permite interceptar eventos o mensajes entrantes y salientes.

function use(args: IMiddlewareMap[])

Parámetros

args

IMiddlewareMap[]

Uno o varios conjuntos de enlaces de middleware que se van a instalar.

Devoluciones