Library class
Biblioteca de diálogos relacionados que se usan con fines de enrutamiento. Las bibliotecas se pueden encadenar juntas para permitir el desarrollo de bots complejos. La clase universalBot es una biblioteca que forma la raíz de esta cadena. Las bibliotecas de elementos reutilizables se pueden desarrollar mediante la creación de una nueva instancia de biblioteca y la adición de diálogos como lo haría con un bot. La biblioteca debe tener un nombre único que se corresponda con el sitio web de las bibliotecas o el nombre del módulo NPM. Después, los bots pueden reutilizar la biblioteca simplemente agregando la instancia de biblioteca de elementos a su bot mediante UniversalBot.library(). Si la propia biblioteca depende de otras bibliotecas, debe agregarlas a la biblioteca como dependencia mediante Library.library(). Puede administrar fácilmente varias versiones de la biblioteca agregando un número de versión al nombre de la biblioteca.
Para invocar diálogos dentro de los bots de biblioteca, deberá llamar a session.beginDialog() con un identificador de diálogo completo en forma de ":". Normalmente, lo ocultará del desarrollador exponiendo una función de su módulo que inicia el cuadro de diálogo para ellos.
Por lo tanto, llamar a algo como myLib.someDialog(session, { arg: '' }); terminaría llamando a session.beginDialog('myLib:someDialog', args); en segundo plano.
Cabe destacar que los diálogos siempre se invocan dentro del diálogo actual, por lo que una vez que se encuentra dentro de un diálogo de la biblioteca, no es necesario prefijar todas las llamadas beginDialog() con el nombre de las bibliotecas. Solo es cuando se cruza de un contexto de biblioteca a otro que debe incluir el prefijo de nombre de biblioteca.
Constructores
| Library(string) | Crea una nueva instancia de la biblioteca. |
Propiedades
| name | Las bibliotecas son un espacio de nombres único. Esto se usa parasolar los cuadros de diálogo de bibliotecas y avisos localizados. |
| Route |
Valores routeType admitidos devueltos de forma predeterminada desde findRoutes(). |
Métodos
| add |
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.
|
| begin |
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. |
| best |
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:
|
| clone(Library, string) | Devuelve un clon de una biblioteca existente. |
| custom |
Registra una acción global personalizada que llamará al controlador de |
| dialog(string, Dialog | IDialog |
Registra o devuelve un cuadro de diálogo de la biblioteca. |
| end |
Registra una acción global que finalizará la conversación con el usuario cuando se desencadene. |
| find |
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. |
| find |
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. |
| find |
Busca en la biblioteca para ver si se ha desencadenado alguna acción global. |
| find |
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 |
| find |
Busca en la pila de diálogos de sesiones para ver si se ha desencadenado alguna acción. |
| for |
Enumera todos los cuadros de diálogo de bibliotecas. |
| for |
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. |
| library(Library | string) | Registra o devuelve una dependencia de biblioteca. |
| library |
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. |
| locale |
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 |
Reemplaza findRoutes() lógica de búsqueda de rutas predeterminada por una implementación personalizada. |
| on |
Reemplaza la lógica predeterminada para selectRoute() por una implementación personalizada. |
| recognize(IRecognize |
Intenta hacer coincidir una expresión de texto de los usuarios con una intención mediante los reconocedores de bibliotecas. Consulte |
| recognizer(IIntent |
Agrega un nuevo complemento recognizer a la biblioteca. |
| select |
Enruta el mensaje actual al cuadro de diálogo activo. |
| select |
Enruta el mensaje actual a una acción global desencadenada. |
| select |
Desencadena el control del mensaje actual mediante la ruta seleccionada. La lógica predeterminada se puede invalidar mediante onSelectRoute(). |
| select |
Enruta el mensaje actual a una acción de pila desencadenada. |
Detalles del constructor
Library(string)
Crea una nueva instancia de la biblioteca.
new Library(name: string)
Parámetros
- name
-
string
Espacio de nombres único para la biblioteca.
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
(Opcional) conjunto de resultados para agregar también la ruta. Si falta un nuevo conjunto con solo la ruta, se devolverá.
Devoluciones
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:
- : 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.
- ActiveDialog: el cuadro de diálogo activo es la siguiente prioridad más alta.
- 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.
-
GlobalAction: las acciones globales son la prioridad más baja. Si un
dialogStackestá 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
Matriz de rutas candidatas para filtrar.
- dialogStack
(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(Library, string)
Devuelve un clon de una biblioteca existente.
function clone(copyTo?: Library, newName?: string)
Parámetros
- copyTo
- Library
(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
customAction(IDialogActionOptions)
Registra una acción global personalizada que llamará al controlador de
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
(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.
(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
(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
(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.
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
Library[]
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
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().
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
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
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
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