Compartir a través de


PromptConfirm class

Mensaje de confirmación personalizable.

Extends

Constructores

PromptConfirm(IPromptFeatures)

Crea una nueva instancia personalizable del símbolo del sistema. El nuevo mensaje debe agregarse como un cuadro de diálogo a un bot o biblioteca.

Propiedades

features

El conjunto de características configurado actualmente solicita.

Métodos

addDialogTrigger(ActionSet, string)

Se llama una vez para cada diálogo dentro de una biblioteca para dar al diálogo la oportunidad de agregar su triggerAction() al conjunto de acciones globales de bibliotecas. Estos desencadenadores se asignan a un beginDialogAction() que inicia el diálogo cuando se cumple la condición del desencadenador.

begin<T>(Session, T)

Se llama cuando se inicia una nueva sesión de diálogo.

beginDialogAction(string, string, IBeginDialogActionOptions)

Enlaza una acción al cuadro de diálogo que iniciará otro diálogo cada vez que se desencadene. El nuevo cuadro de diálogo se insertará en la pila para que no finalice automáticamente la 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.

cancelAction(string, TextOrMessageType, ICancelActionOptions)

Enlaza una acción al cuadro de diálogo que cancelará el diálogo en cualquier momento que se desencadene. Cuando se cancela, los diálogos primarios se reanudarán con un código de reanudado que indica que se canceló .

clone(ActionSet)

Devuelve un clon de un actionSet existente.

customAction(IDialogActionOptions)

Enlaza una acción personalizada al cuadro de diálogo que llamará al objeto pasado en onSelectAction controlador cuando se desencadene.

dialogInterrupted(Session, string, any)

Se llama cuando otro diálogo interrumpe un diálogo raíz. Esto proporciona al cuadro de diálogo que se interrumpe la posibilidad de ejecutar lógica personalizada antes de quitarla de la pila. El propio diálogo es responsable de borrar la pila de diálogos e iniciar el nuevo diálogo.

dialogResumed<T>(Session, IDialogResult<T>)

Un cuadro de diálogo secundario ha finalizado y el actual se está reanudando.

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

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

findActionRoutes(IRecognizeDialogContext, (err: Error, results: IRouteResult[]) => void)

Se llama durante la Library.findRoutes() llamada a para cada cuadro de diálogo de la pila para determinar si alguna de las acciones de diálogo las desencadena la expresión de los usuarios.

findChoices(IRecognizeContext, boolean, (err: Error, choices: IChoice[]) => void)

Devuelve la lista de opciones dinámicas o estáticas para el símbolo del sistema. Este método se suele llamar dos veces, una vez para obtener la lista de opciones que se van a mostrar y una segunda vez para obtener la lista de opciones que se deben reconocer.

formatMessage(Session, ListStyle, TextType, TextType, IChoice[])

Devuelve un mensaje que contiene una lista de opciones.

formatMessage(Session, TextType, TextType, (err: Error, msg: IMessage) => void)

Crea el mensaje que se va a enviar para el mensaje. Esto lo llama automáticamente sendPrompt(), por lo que, en la mayoría de los casos, querrá registrar un controlador de onFormatMessage() para personalizar el mensaje enviado para un mensaje. Solo debe llamar a este método si va a implementar su propia lógica de sendPrompt().

gettext(Session, TextType, string)

Devuelve el texto de un símbolo del sistema que se ha localizado mediante el espacio de nombres del llamador de mensajes.

matches(RegExp | string, string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

Invoca un controlador cuando se detecta una intención determinada en la expresión de los usuarios. Para las intenciones basadas en string, la intención puede ser una intención devuelta por un recognizer() registrado para el símbolo del sistema o puede ser una intención que fluya desde un reconocedor global ().

NOTA: Los detalles completos de la coincidencia, incluida la lista de intenciones & entidades detectadas, se pasarán al argumentos del primer paso de cascada o diálogo iniciado.

matchesAny(RegExp[] | string[], string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

Invoca un controlador cuando se detecta cualquiera de las intenciones especificadas en la expresión de los usuarios. Para las intenciones basadas en string, la intención puede ser una intención devuelta por un recognizer() registrado para el símbolo del sistema o puede ser una intención que fluya desde un reconocedor global ().

NOTA: Los detalles completos de la coincidencia, incluida la lista de intenciones & entidades detectadas, se pasarán al argumentos del primer paso de cascada o diálogo iniciado.

onChoices((context: IRecognizeContext, callback: (err: Error, choices?: IChoice[]) => void, recognizePhase?: boolean) => void)

Registra un controlador para proporcionar una lista dinámica de opciones. Se llamará al controlador al menos dos veces durante la duración del mensaje. Una vez que se genera una lista de opciones para mostrar al usuario y una segunda vez para recuperar la lista de opciones que se van a comparar con la expresión de los usuarios. No se realiza ningún almacenamiento en caché de las opciones devueltas y se llamará al controlador para cada turno de conversación de capacidad, por lo que debe implementar su propio almacenamiento en caché según corresponda. Se pueden registrar varios controladores y se usará la primera lista de opciones válida (no null).

onFormatMessage((session: Session, text: TextType, speak: TextType, callback: (err: Error, message?: IMessage) => void) => void)

Registra un controlador al que se llamará para crear el IMessage saliente que se enviará para el mensaje. Este controlador solo se llama cuando el símbolo del sistema o retryPrompt actual es de tipo string|string[]. Cada vez que el mensaje o retryPrompt es un IMessage|IIsMessage se usa el mensaje configurado para que no se llame al controlador. Se pueden registrar varios controladores y se usará el primer controlador para llamar a callback() con un mensaje. Llamar a callback(null, null) hará que el procesamiento se mueva al siguiente controlador de la cadena.

onPrompt((session: Session, next: Function) => void)

Registra un controlador al que se llamará cada vez que el mensaje está a punto de enviar un mensaje al usuario. Puede usar este enlace para implementar su propia lógica de envío de mensajes personalizada. Se pueden registrar varios controladores y llamar a next() invocará al siguiente controlador de la cadena. El controlador final realiza la lógica predeterminada de mensajes que consiste en crear un nuevo mensaje mediante formatMessage() y, a continuación, enviarlo.

onRecognize((context: IRecognizeDialogContext, callback: (err: Error, score: number, response?: any) => void) => void)

Registra un controlador al que se llamará cada vez que el mensaje recibe una respuesta del usuario. Los controladores callback() se pueden usar para devolver una puntuación de confianza que entendió la entrada de los usuarios, así como el valor que se debe devolver al autor de la llamada del símbolo del sistema. Llamar a callback(null, 1.0, true); indicaría una confianza alta de que el usuario respondió al mensaje y devolvería un boolean true como respuesta del mensaje. Cualquier tipo de respuesta es posible, incluidos los objetos . Llamar a callback(null, 0.0); indica que la entrada de los usuarios no se entendió en absoluto y que se deben volver a solicitar.

Se pueden registrar varios controladores y, a diferencia de los otros tipos de controlador, se llamará a todos los controladores registrados y se elegirá como ganador la puntuación de confianza más alta. Al personalizar uno de los tipos de aviso integrados, a menudo querrá deshabilitar la lógica predeterminada del reconocedor de avisos. Esto se puede lograr estableciendo las características de del símbolo del sistema al crearlo. Tenga en cuenta que si deshabilita completamente la lógica predeterminada del reconocedor de mensajes, deberá hacer todo el reconocimiento usted mismo.

recognize(IRecognizeDialogContext, (err: Error, result: IRecognizeResult) => void)

Analiza la expresión de los usuarios y asigna una puntuación de 0,0 a 1,0 que indica la confianza del cuadro de diálogo es que entendió la expresión de los usuarios. Siempre se llama a este método para el cuadro de diálogo activo en la pila. Una puntuación de 1,0 indicará una coincidencia perfecta y finalizará cualquier reconocimiento adicional. Cuando la puntuación es inferior a 1,0, cada cuadro de diálogo de la pila tendrá su método recognizeAction() llamado también para ver si hay acciones con nombre enlazadas al cuadro de diálogo que mejor coincida con la expresión de los usuarios. También se evaluarán las acciones globales registradas en el nivel de bot. Si el cuadro de diálogo tiene una puntuación superior, se llamará a cualquier acción enlazada, los diálogos replyReceived() método con el objeto de resultado devuelto desde la llamada recognize(). Esto permite que el cuadro de diálogo pase datos adicionales recopilados durante la fase de reconocimiento al método replyReceived() para controlar.

Si hay una acción con una puntuación superior, el cuadro de diálogo se invocará la acción en lugar del método replyReceived() de los diálogos. El cuadro de diálogo permanecerá en la pila y puede reanudarse en algún momento si la acción invoca un cuadro de diálogo nuevo, por lo que los diálogos deben prepararse para llamadas inesperadas a dialogResumed().

recognizer(IIntentRecognizer)

Agrega un nuevo complemento recognizer al símbolo del sistema, que se ejecutará cada vez que el usuario responda al mensaje.

reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)

Enlaza una acción al cuadro de diálogo que hará que el diálogo se vuelva a cargar en cualquier momento que se desencadene. Esto resulta útil para implementar lógica que controle expresiones de usuario como "empezar de nuevo".

replyReceived(Session, IRecognizeResult)

Procesa los mensajes recibidos del usuario. Lo llama el sistema de diálogos.

selectActionRoute(Session, IRouteResult)

Selecciona la ruta que tenía la puntuación de confianza más alta para la expresión.

sendPrompt(Session)

Envía un mensaje al usuario para el turno actual. Se puede llamar desde un controlador [matches()][#matches] para enviar manualmente un mensaje o reprompt al usuario. Para forzar el envío del mensaje inicial, debe establecer session.dialogData.turns = 0; antes de llamar a sendPrompt().

triggerAction(ITriggerActionOptions)

Enlaza una acción al cuadro de diálogo que lo convertirá en el diálogo activo cada vez que se desencadene. El comportamiento predeterminado consiste en interupar cualquier diálogo existente borrando la pila e iniciando el diálogo en la raíz de la pila. El cuadro de diálogo que se interrumpe puede interceptar esta interrupción agregando un personalizado en el controlador de interrupted a sus opciones de acción de desencadenador. Además, puede personalizar la forma en que se inicia el diálogo desencadenado proporcionando un personalizado onSelectAction controlador a las opciones de acción del desencadenador.

Detalles del constructor

PromptConfirm(IPromptFeatures)

Crea una nueva instancia personalizable del símbolo del sistema. El nuevo mensaje debe agregarse como un cuadro de diálogo a un bot o biblioteca.

new PromptConfirm(features?: IPromptFeatures)

Parámetros

features
IPromptFeatures

(Opcional) características usadas para personalizar el comportamiento de las solicitudes.

Detalles de las propiedades

features

El conjunto de características configurado actualmente solicita.

public features: IPromptChoiceFeatures

Valor de propiedad

Detalles del método

addDialogTrigger(ActionSet, string)

Se llama una vez para cada diálogo dentro de una biblioteca para dar al diálogo la oportunidad de agregar su triggerAction() al conjunto de acciones globales de bibliotecas. Estos desencadenadores se asignan a un beginDialogAction() que inicia el diálogo cuando se cumple la condición del desencadenador.

function addDialogTrigger(actions: ActionSet, dialogId: string)

Parámetros

actions
ActionSet

Conjunto de acciones globales de bibliotecas.

dialogId

string

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

begin<T>(Session, T)

Se llama cuando se inicia una nueva sesión de diálogo.

function begin<T>(session: Session, args?: T)

Parámetros

session
Session

Objeto session para la conversación actual.

args

T

(Opcional) argumentos pasados al cuadro de diálogo por su elemento primario.

beginDialogAction(string, string, IBeginDialogActionOptions)

Enlaza una acción al cuadro de diálogo que iniciará otro diálogo cada vez que se desencadene. El nuevo cuadro de diálogo se insertará en la pila para que no finalice automáticamente la 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?: IBeginDialogActionOptions)

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
IBeginDialogActionOptions

(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

cancelAction(string, TextOrMessageType, ICancelActionOptions)

Enlaza una acción al cuadro de diálogo que cancelará el diálogo en cualquier momento que se desencadene. Cuando se cancela, los diálogos primarios se reanudarán con un código de reanudado que indica que se canceló .

function cancelAction(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 cancelar el cuadro de diálogo.

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

clone(ActionSet)

Devuelve un clon de un actionSet existente.

function clone(copyTo?: ActionSet)

Parámetros

copyTo
ActionSet

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

Devoluciones

customAction(IDialogActionOptions)

Enlaza una acción personalizada al cuadro de diálogo que llamará al objeto pasado en onSelectAction controlador 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

dialogInterrupted(Session, string, any)

Se llama cuando otro diálogo interrumpe un diálogo raíz. Esto proporciona al cuadro de diálogo que se interrumpe la posibilidad de ejecutar lógica personalizada antes de quitarla de la pila. El propio diálogo es responsable de borrar la pila de diálogos e iniciar el nuevo diálogo.

function dialogInterrupted(session: Session, dialogId: string, dialogArgs: any)

Parámetros

session
Session

Objeto session para la conversación actual.

dialogId

string

Identificador del cuadro de diálogo que se debe iniciar.

dialogArgs

any

Argumentos que se deben pasar al cuadro de diálogo nuevo.

dialogResumed<T>(Session, IDialogResult<T>)

Un cuadro de diálogo secundario ha finalizado y el actual se está reanudando.

function dialogResumed<T>(session: Session, result: IDialogResult<T>)

Parámetros

session
Session

Objeto session para la conversación actual.

result

IDialogResult<T>

Resultado devuelto por el cuadro de diálogo secundario.

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

Enlaza una acción 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

findActionRoutes(IRecognizeDialogContext, (err: Error, results: IRouteResult[]) => void)

Se llama durante la Library.findRoutes() llamada a para cada cuadro de diálogo de la pila para determinar si alguna de las acciones de diálogo las desencadena la expresión de los usuarios.

function findActionRoutes(context: IRecognizeDialogContext, callback: (err: Error, results: IRouteResult[]) => void)

Parámetros

context
IRecognizeDialogContext

Contexto del mensaje entrante, así como el dialogData para el cuadro de diálogo evaluado.

callback

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

Función que se va a invocar con las rutas candidatas principales.

findChoices(IRecognizeContext, boolean, (err: Error, choices: IChoice[]) => void)

Devuelve la lista de opciones dinámicas o estáticas para el símbolo del sistema. Este método se suele llamar dos veces, una vez para obtener la lista de opciones que se van a mostrar y una segunda vez para obtener la lista de opciones que se deben reconocer.

function findChoices(context: IRecognizeContext, recognizePhase: boolean, callback: (err: Error, choices: IChoice[]) => void)

Parámetros

context
IRecognizeContext

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

recognizePhase

boolean

Si es true, se usará la lista de opciones para reconocer la expresión de los usuarios. De lo contrario, se usarán para representar una lista de opciones disponibles para el usuario.

callback

(err: Error, choices: IChoice[]) => void

Función a la que se llamará con la lista de mensajes de opciones.

formatMessage(Session, ListStyle, TextType, TextType, IChoice[])

Devuelve un mensaje que contiene una lista de opciones.

static function formatMessage(session: Session, listStyle: ListStyle, text: TextType, speak?: TextType, choices?: IChoice[])

Parámetros

session
Session

Sesión actual de la conversación.

listStyle
ListStyle

Estilo de lista que se va a incluir en el mensaje.

text
TextType

Texto del mensaje.

speak
TextType

(Opcional) SSML que se va a devolver con el mensaje. Puede ser NULL.

choices

IChoice[]

(Opcional) lista de opciones que se van a incluir en el mensaje. Si se omite, el mensaje se enviará sin incluir opciones.

Devoluciones

formatMessage(Session, TextType, TextType, (err: Error, msg: IMessage) => void)

Crea el mensaje que se va a enviar para el mensaje. Esto lo llama automáticamente sendPrompt(), por lo que, en la mayoría de los casos, querrá registrar un controlador de onFormatMessage() para personalizar el mensaje enviado para un mensaje. Solo debe llamar a este método si va a implementar su propia lógica de sendPrompt().

function formatMessage(session: Session, text: TextType, speak: TextType, callback: (err: Error, msg: IMessage) => void)

Parámetros

session
Session

Objeto session para la conversación actual.

text
TextType

Texto actual de prompt/retryPrompt.

speak
TextType

SSML de habla/retrySpeak actual. Este valor puede ser null.

callback

(err: Error, msg: IMessage) => void

Función para recibir el mensaje creado.

gettext(Session, TextType, string)

Devuelve el texto de un símbolo del sistema que se ha localizado mediante el espacio de nombres del llamador de mensajes.

static function gettext(session: Session, text: TextType, namespace?: string)

Parámetros

session
Session

Sesión actual de la conversación.

text
TextType

Preguntar para localizar.

namespace

string

(Opcional) espacio de nombres de biblioteca que se usará para localizar el mensaje. De forma predeterminada, se usará el espacio de nombres del llamador de mensajes.

Devoluciones

string

matches(RegExp | string, string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

Invoca un controlador cuando se detecta una intención determinada en la expresión de los usuarios. Para las intenciones basadas en string, la intención puede ser una intención devuelta por un recognizer() registrado para el símbolo del sistema o puede ser una intención que fluya desde un reconocedor global ().

NOTA: Los detalles completos de la coincidencia, incluida la lista de intenciones & entidades detectadas, se pasarán al argumentos del primer paso de cascada o diálogo iniciado.

function matches(intent: RegExp | string, dialogId: string | IDialogWaterfallStep[] | IDialogWaterfallStep, dialogArgs?: any)

Parámetros

intent

RegExp | string

  • intención:{RegExp}: expresión regular que se evaluará para detectar la intención de los usuarios.
  • intención: {string}: una intención con nombre devuelta por un complemento IIntentRecognizer que se usará para coincidir con la intención de los usuarios.
dialogId

string | IDialogWaterfallStep[] | IDialogWaterfallStep

  • dialogId: _{string}: el identificador de un cuadro de diálogo que se va a comenzar cuando coincide la intención.
  • dialogId:{IDialogWaterfallStep[]}: cascada de pasos que se ejecutarán cuando coincida la intención.
  • dialogId:{IDialogWaterfallStep}: cascada de paso único que se ejecutará cuando coincida la intención. 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.
dialogArgs

any

(Opcional) argumentos para pasar el cuadro de diálogo que se inició cuando dialogId es un {string}.

Devoluciones

matchesAny(RegExp[] | string[], string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

Invoca un controlador cuando se detecta cualquiera de las intenciones especificadas en la expresión de los usuarios. Para las intenciones basadas en string, la intención puede ser una intención devuelta por un recognizer() registrado para el símbolo del sistema o puede ser una intención que fluya desde un reconocedor global ().

NOTA: Los detalles completos de la coincidencia, incluida la lista de intenciones & entidades detectadas, se pasarán al argumentos del primer paso de cascada o diálogo iniciado.

function matchesAny(intent: RegExp[] | string[], dialogId: string | IDialogWaterfallStep[] | IDialogWaterfallStep, dialogArgs?: any)

Parámetros

intent

RegExp[] | string[]

  • intención:{RegExp[]}: matriz de expresiones regulares que se evaluarán para detectar la intención de los usuarios.
  • intención:{string[]}: matriz de intenciones con nombre devueltas por un complemento IIntentRecognizer que se usará para coincidir con la intención de los usuarios.
dialogId

string | IDialogWaterfallStep[] | IDialogWaterfallStep

  • dialogId: _{string}: el identificador de un cuadro de diálogo que se va a comenzar cuando coincide la intención.
  • dialogId:{IDialogWaterfallStep[]}: cascada de pasos que se ejecutarán cuando coincida la intención.
  • dialogId:{IDialogWaterfallStep}: cascada de paso único que se ejecutará cuando coincida la intención. 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.
dialogArgs

any

(Opcional) argumentos para pasar el cuadro de diálogo que se inició cuando dialogId es un {string}.

Devoluciones

onChoices((context: IRecognizeContext, callback: (err: Error, choices?: IChoice[]) => void, recognizePhase?: boolean) => void)

Registra un controlador para proporcionar una lista dinámica de opciones. Se llamará al controlador al menos dos veces durante la duración del mensaje. Una vez que se genera una lista de opciones para mostrar al usuario y una segunda vez para recuperar la lista de opciones que se van a comparar con la expresión de los usuarios. No se realiza ningún almacenamiento en caché de las opciones devueltas y se llamará al controlador para cada turno de conversación de capacidad, por lo que debe implementar su propio almacenamiento en caché según corresponda. Se pueden registrar varios controladores y se usará la primera lista de opciones válida (no null).

function onChoices(handler: (context: IRecognizeContext, callback: (err: Error, choices?: IChoice[]) => void, recognizePhase?: boolean) => void)

Parámetros

handler

(context: IRecognizeContext, callback: (err: Error, choices?: IChoice[]) => void, recognizePhase?: boolean) => void

Función a la que se llama cuando se necesita una lista de opciones. El parámetro recognizePhase será "true" si las opciones se usarán para reconocer la respuesta de los usuarios.

Devoluciones

onFormatMessage((session: Session, text: TextType, speak: TextType, callback: (err: Error, message?: IMessage) => void) => void)

Registra un controlador al que se llamará para crear el IMessage saliente que se enviará para el mensaje. Este controlador solo se llama cuando el símbolo del sistema o retryPrompt actual es de tipo string|string[]. Cada vez que el mensaje o retryPrompt es un IMessage|IIsMessage se usa el mensaje configurado para que no se llame al controlador. Se pueden registrar varios controladores y se usará el primer controlador para llamar a callback() con un mensaje. Llamar a callback(null, null) hará que el procesamiento se mueva al siguiente controlador de la cadena.

function onFormatMessage(handler: (session: Session, text: TextType, speak: TextType, callback: (err: Error, message?: IMessage) => void) => void)

Parámetros

handler

(session: Session, text: TextType, speak: TextType, callback: (err: Error, message?: IMessage) => void) => void

Función a la que se llamará para crear un IMessage para el símbolo del sistema actual. Llame a callback() con un mensaje o null para continuar con el procesamiento.

Devoluciones

Prompt<any>

onPrompt((session: Session, next: Function) => void)

Registra un controlador al que se llamará cada vez que el mensaje está a punto de enviar un mensaje al usuario. Puede usar este enlace para implementar su propia lógica de envío de mensajes personalizada. Se pueden registrar varios controladores y llamar a next() invocará al siguiente controlador de la cadena. El controlador final realiza la lógica predeterminada de mensajes que consiste en crear un nuevo mensaje mediante formatMessage() y, a continuación, enviarlo.

function onPrompt(handler: (session: Session, next: Function) => void)

Parámetros

handler

(session: Session, next: Function) => void

Función a la que se llamará en cualquier momento se llama a sendPrompt().

Devoluciones

Prompt<any>

onRecognize((context: IRecognizeDialogContext, callback: (err: Error, score: number, response?: any) => void) => void)

Registra un controlador al que se llamará cada vez que el mensaje recibe una respuesta del usuario. Los controladores callback() se pueden usar para devolver una puntuación de confianza que entendió la entrada de los usuarios, así como el valor que se debe devolver al autor de la llamada del símbolo del sistema. Llamar a callback(null, 1.0, true); indicaría una confianza alta de que el usuario respondió al mensaje y devolvería un boolean true como respuesta del mensaje. Cualquier tipo de respuesta es posible, incluidos los objetos . Llamar a callback(null, 0.0); indica que la entrada de los usuarios no se entendió en absoluto y que se deben volver a solicitar.

Se pueden registrar varios controladores y, a diferencia de los otros tipos de controlador, se llamará a todos los controladores registrados y se elegirá como ganador la puntuación de confianza más alta. Al personalizar uno de los tipos de aviso integrados, a menudo querrá deshabilitar la lógica predeterminada del reconocedor de avisos. Esto se puede lograr estableciendo las características de del símbolo del sistema al crearlo. Tenga en cuenta que si deshabilita completamente la lógica predeterminada del reconocedor de mensajes, deberá hacer todo el reconocimiento usted mismo.

function onRecognize(handler: (context: IRecognizeDialogContext, callback: (err: Error, score: number, response?: any) => void) => void)

Parámetros

handler

(context: IRecognizeDialogContext, callback: (err: Error, score: number, response?: any) => void) => void

Función a la que se llamará para reconocer que los usuarios responden a un mensaje.

Devoluciones

Prompt<any>

recognize(IRecognizeDialogContext, (err: Error, result: IRecognizeResult) => void)

Analiza la expresión de los usuarios y asigna una puntuación de 0,0 a 1,0 que indica la confianza del cuadro de diálogo es que entendió la expresión de los usuarios. Siempre se llama a este método para el cuadro de diálogo activo en la pila. Una puntuación de 1,0 indicará una coincidencia perfecta y finalizará cualquier reconocimiento adicional. Cuando la puntuación es inferior a 1,0, cada cuadro de diálogo de la pila tendrá su método recognizeAction() llamado también para ver si hay acciones con nombre enlazadas al cuadro de diálogo que mejor coincida con la expresión de los usuarios. También se evaluarán las acciones globales registradas en el nivel de bot. Si el cuadro de diálogo tiene una puntuación superior, se llamará a cualquier acción enlazada, los diálogos replyReceived() método con el objeto de resultado devuelto desde la llamada recognize(). Esto permite que el cuadro de diálogo pase datos adicionales recopilados durante la fase de reconocimiento al método replyReceived() para controlar.

Si hay una acción con una puntuación superior, el cuadro de diálogo se invocará la acción en lugar del método replyReceived() de los diálogos. El cuadro de diálogo permanecerá en la pila y puede reanudarse en algún momento si la acción invoca un cuadro de diálogo nuevo, por lo que los diálogos deben prepararse para llamadas inesperadas a dialogResumed().

function recognize(context: IRecognizeDialogContext, callback: (err: Error, result: IRecognizeResult) => void)

Parámetros

context
IRecognizeDialogContext

Contexto de la solicitud.

callback

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

Función que se va a invocar con los resultados del reconocimiento.

recognizer(IIntentRecognizer)

Agrega un nuevo complemento recognizer al símbolo del sistema, que se ejecutará cada vez que el usuario responda al mensaje.

function recognizer(plugin: IIntentRecognizer)

Parámetros

plugin
IIntentRecognizer

Reconocedor que se va a agregar.

Devoluciones

reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)

Enlaza una acción al cuadro de diálogo que hará que el diálogo se vuelva a cargar en cualquier momento que se desencadene. Esto resulta útil para implementar lógica que controle expresiones de usuario como "empezar de nuevo".

function reloadAction(name: string, msg?: TextOrMessageType, options?: IBeginDialogActionOptions)

Parámetros

name

string

Nombre único para asignar la acción.

msg
TextOrMessageType

(Opcional) mensaje para enviar al usuario antes de volver a cargar el cuadro de diálogo.

options
IBeginDialogActionOptions

(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 cuando se vuelva a cargar.

Devoluciones

replyReceived(Session, IRecognizeResult)

Procesa los mensajes recibidos del usuario. Lo llama el sistema de diálogos.

function replyReceived(session: Session, recognizeResult?: IRecognizeResult)

Parámetros

session
Session

Objeto session para la conversación actual.

recognizeResult
IRecognizeResult

selectActionRoute(Session, IRouteResult)

Selecciona la ruta que tenía la puntuación de confianza más alta para la expresión.

function selectActionRoute(session: Session, route: IRouteResult)

Parámetros

session
Session

Objeto session para la conversación actual.

route
IRouteResult

Resultados devueltos de la llamada a findActionRoutes().

sendPrompt(Session)

Envía un mensaje al usuario para el turno actual. Se puede llamar desde un controlador [matches()][#matches] para enviar manualmente un mensaje o reprompt al usuario. Para forzar el envío del mensaje inicial, debe establecer session.dialogData.turns = 0; antes de llamar a sendPrompt().

function sendPrompt(session: Session)

Parámetros

session
Session

Objeto session para la conversación actual.

triggerAction(ITriggerActionOptions)

Enlaza una acción al cuadro de diálogo que lo convertirá en el diálogo activo cada vez que se desencadene. El comportamiento predeterminado consiste en interupar cualquier diálogo existente borrando la pila e iniciando el diálogo en la raíz de la pila. El cuadro de diálogo que se interrumpe puede interceptar esta interrupción agregando un personalizado en el controlador de interrupted a sus opciones de acción de desencadenador. Además, puede personalizar la forma en que se inicia el diálogo desencadenado proporcionando un personalizado onSelectAction controlador a las opciones de acción del desencadenador.

function triggerAction(options: ITriggerActionOptions)

Parámetros

options
ITriggerActionOptions

Opciones usadas para configurar la acción.

Devoluciones