Eventos y desencadenadores en diálogos adaptables: guía de referenciaEvents and triggers in adaptive dialogs - reference guide

se aplica a: SDK V4APPLIES TO: SDK v4

Para obtener una introducción a este tema, consulte el artículo Concepto de desencadenadores en la documentación de Composer.For an introduction to this topic, see the Triggers concept article in the Composer documentation.

Desencadenadores de eventos de reconocedorRecognizer event triggers

Causa del eventoEvent cause Nombre del desencadenadorTrigger name Evento baseBase event DescripciónDescription
Elegir intenciónChoose Intent OnChooseIntent ChooseIntent Este desencadenador se ejecuta cuando se ha detectado ambigüedad entre las intenciones de varios reconocedores en CrossTrainedRecognizerSet.This trigger is run when ambiguity has been detected between intents from multiple recognizers in a CrossTrainedRecognizerSet.
Intención reconocidaIntent recognized OnIntent RecognizedIntent Acciones que deben realizarse cuando se reconoce la intención especificada.Actions to perform when specified intent is recognized.
Intención QnAMatchQnAMatch intent OnQnAMatch RecognizedIntent Este desencadenador se ejecuta cuando QnAMakerRecognizer ha devuelto una QnAMatch intención.This trigger is run when the QnAMakerRecognizer has returned a QnAMatch intent. La entidad @answer tendrá la QnAMaker respuesta.The entity @answer will have the QnAMaker answer.
Intención desconocida reconocidaUnknown intent recognized OnUnknownIntent UnknownIntent Acciones que se deben realizar cuando la entrada del usuario no se reconoce o no se encuentra ninguna coincidencia en ninguno de los desencadenadores OnIntent.Actions to perform when user input is unrecognized or no match is found in any of the OnIntent triggers. También puede usarlo como primer desencadenador en el diálogo raíz en lugar de para dar forma previa a las tareas necesarias cuando se inicia OnBeginDialog por primera vez el diálogo.You can also use this as your first trigger in your root dialog in place of the OnBeginDialog to preform any needed tasks when the dialog first starts.

El OnIntent desencadenador le permite controlar el recognizedIntent evento.The OnIntent trigger lets you handle the recognizedIntent event. Un recognizedIntent reconocedor genera el evento.The recognizedIntent event is raised by a recognizer. A excepción del reconocedor de QnA Maker,todos los reconocedores integrados del SDK de Bot Framework emiten este evento cuando identifican correctamente una entrada del usuario para que el bot pueda responder correctamente. With the exception of the QnA Maker recognizer, all of the Bot Framework SDK built-in recognizers emit this event when they successfully identify a user input so that your bot can respond appropriately.

Use el desencadenador para detectar y responder cuando ninguno de los otros desencadenadores detecta y controla OnUnknownIntent recognizedIntent un evento.Use the OnUnknownIntent trigger to catch and respond when a recognizedIntent event isn't caught and handled by any of the other triggers. Esto significa que cualquier intención no controlada (incluida "none") puede hacer que se desencadene, pero solo si no hay ninguna acción actualmente en ejecución para el cuadro de diálogo.This means that any unhandled intent (including "none") can cause it to trigger, but only if there aren't any currently executing actions for the dialog. Use el OnUnknownIntent desencadenador para detectar y responder cuando se produzca una intención "none".Use the OnUnknownIntent trigger to catch and respond when a "none" intent occurs. El uso OnIntent del desencadenador para controlar una intención "none" puede producir resultados inesperados.Using the OnIntent trigger to handle a "none" intent can produce unexpected results.

Desencadenadores de eventos de diálogoDialog event triggers

Los desencadenadores de diálogo controlan eventos específicos del diálogo relacionados con el ciclo de vida del diálogo.Dialog triggers handle dialog specific events that are related to the lifecycle of the dialog. Actualmente hay seis desencadenadores de diálogo en Bot Framework SDK y todos derivan de la clase OnDialogEvent.There are currently 6 dialog triggers in the Bot Framework SDK and they all derive from the OnDialogEvent class.

Sugerencia

No son como controladores de eventos de interrupción normales en los que las acciones del elemento secundario seguirán ejecutándose una vez completadas las acciones del controlador.These aren't like normal interruption event handlers where the child's actions will continue running after the handler's actions complete. Para todos los eventos siguientes, el bot ejecutará un nuevo conjunto de acciones y finalizará el turno una vez finalizadas esas acciones.For all of the events below, the bot will run a new set of actions and will end the turn once those actions have finished.

Nombre del desencadenadorTrigger name Evento baseBase event DescripciónDescription
OnBeginDialog BeginDialog Acciones que se deben realizar cuando se inicia este diálogo.Actions to perform when this dialog begins. Para usar solo con diálogos secundarios, no en el diálogo raíz. En los diálogos raíz, use OnUnknownIntent para realizar actividades de inicialización de diálogo.For use with child dialogs only, not to be used in your root dialog, In root dialogs, use OnUnknownIntent to perform dialog initialization activities.
OnCancelDialog CancelDialog Este evento le permite evitar que se cancele el diálogo actual debido a que un diálogo secundario ejecuta una CancelAllDialogs acción.This event allows you to prevent the current dialog from being cancelled due to a child dialog executing a CancelAllDialogs action.
OnEndOfActions EndOfActions Este evento se produce una vez que se han procesado todas las acciones y los eventos de ambigüedad.This event occurs once all actions and ambiguity events have been processed.
OnError Error Acciones que se deben realizar cuando Error se produce un evento de diálogo.Actions to perform when an Error dialog event occurs. Este evento es similar a en que impide que el diálogo adaptable que contiene este desencadenador termine, en este caso debido a un OnCancelDialog error en un diálogo secundario.This event is similar to OnCancelDialog in that you are preventing the adaptive dialog that contains this trigger from ending, in this case due to an error in a child dialog.
OnRepromptDialog RepromptDialog Acciones que se deben realizar RepromptDialog cuando se produce el evento.Actions to perform when RepromptDialog event occurs.
OnDialog DialogEvents.VersionChanged

Desencadenadores de eventos de actividadActivity event triggers

Los desencadenadores de actividad permiten asociar acciones a cualquier actividad entrante del cliente, como cuando un nuevo usuario se une y el bot comienza una nueva conversación.Activity triggers let you associate actions to any incoming activity from the client such as when a new user joins and the bot begins a new conversation. Puede encontrar información adicional sobre las actividades en Esquema de actividad de Bot Framework.Additional information on activities can be found in Bot Framework Activity schema.

Todos los eventos de actividad tienen un evento base de y se refinan aún ActivityReceived más por su tipo de actividad.All activity events have a base event of ActivityReceived and are further refined by their activity type. La clase base de la que se derivan todos los desencadenadores de actividad es OnActivity.The Base class that all activity triggers derive from is OnActivity.

Causa del eventoEvent cause ActivityTypeActivityType Nombre del desencadenadorTrigger name DescripciónDescription
GreetingGreeting ConversationUpdate OnConversationUpdateActivity Acciones que se deben realizar al recibir una actividad, cuando el bot o un usuario conversationUpdate se unen o abandonan una conversación.Actions to perform on receipt of a conversationUpdate activity, when the bot or a user joins or leaves a conversation.
Conversación terminadaConversation ended EndOfConversation OnEndOfConversationActivity Acciones que se deben realizar al recibir una endOfConversation actividad.Actions to perform on receipt of an endOfConversation activity.
Evento recibidoEvent received Event OnEventActivity Acciones que se deben realizar al recibir una event actividad.Actions to perform on receipt of an event activity.
Entrega a personasHandover to human Handoff OnHandoffActivity Acciones que se deben realizar al recibir una handOff actividad.Actions to perform on receipt of a handOff activity.
Conversación invocadaConversation invoked Invoke OnInvokeActivity Acciones que se deben realizar al recibir una invoke actividad.Actions to perform on receipt of an invoke activity.
El usuario está escribiendoUser is typing Typing OnTypingActivity Acciones que se deben realizar al recibir una typing actividad.Actions to perform on receipt of a typing activity.

Desencadenadores de eventos de mensajeMessage event triggers

Los desencadenadores de eventos de mensaje permiten reaccionar ante cualquier evento de mensaje, como cuando un mensaje se actualiza (MessageUpdate) o elimina (MessageDeletion) o cuando alguien reacciona (MessageReaction) a un mensaje (por ejemplo, algunas de las reacciones comunes del mensaje son Me gusta, Corazón, Risa, Sorprendido, Triste y Enfadado).Message event triggers allow you to react to any message event such as when a message is updated (MessageUpdate) or deleted (MessageDeletion) or when someone reacts (MessageReaction) to a message (for example, some of the common message reactions include a Like, Heart, Laugh, Surprised, Sad and Angry reactions).

Los eventos de mensaje son un tipo de evento de actividad y, como tales, todos los eventos de mensaje tienen un evento base de y se refina aún más ActivityReceived por tipo de actividad.Message events are a type of activity event and, as such, all message events have a base event of ActivityReceived and are further refined by activity type. La clase base de la que se derivan todos los desencadenadores de mensaje es OnActivity.The Base class that all message triggers derive from is OnActivity.

Causa del eventoEvent cause ActivityTypeActivityType Nombre del desencadenadorTrigger name DescripciónDescription
Mensaje recibidoMessage received Message OnMessageActivity Acciones que se deben realizar al recibir una actividad con el tipo MessageReceived .Actions to perform on receipt of an activity with type MessageReceived.
Mensaje eliminadoMessage deleted MessageDeletion OnMessageDeleteActivity Acciones que se deben realizar al recibir una actividad con el tipo MessageDelete .Actions to perform on receipt of an activity with type MessageDelete.
Reacción de los mensajesMessage reaction MessageReaction OnMessageReactionActivity Acciones que se deben realizar al recibir una actividad con el tipo MessageReaction .Actions to perform on receipt of an activity with type MessageReaction.
Mensaje actualizadoMessage updated MessageUpdate OnMessageUpdateActivity Acciones que se deben realizar al recibir una actividad con el tipo MessageUpdate .Actions to perform on receipt of an activity with type MessageUpdate.

Desencadenador de eventos personalizadoCustom event trigger

Puede emitir sus propios eventos agregando la acción EmitEvent a cualquier desencadenador y luego puede controlar ese evento personalizado en cualquier desencadenador de cualquier diálogo del bot mediante la definición de un desencadenador de evento personalizado.You can emit your own events by adding the EmitEvent action to any trigger, then you can handle that custom event in any trigger in any dialog in your bot by defining a custom event trigger. Un desencadenador de evento personalizado es el desencadenador OnDialogEvent que, en efecto, se convierte en un desencadenador personalizado cuando la propiedad Event se establece en el mismo valor que la propiedad EventName de EmitEvent.A custom event trigger is the OnDialogEvent trigger that in effect becomes a custom trigger when you set the Event property to the same value as the EmitEvent's EventName property.

Sugerencia

Puede permitir que otros diálogos del bot controlen el evento personalizado estableciendo la propiedad BubbleEvent de EmitEvent en true.You can allow other dialogs in your bot to handle your custom event by setting the EmitEvent's BubbleEvent property to true.

Causa del eventoEvent cause Nombre del desencadenadorTrigger name Clase baseBase class DescripciónDescription
Evento personalizadoCustom event OnDialogEvent OnCondition Acciones que se deben realizar cuando se detecta un evento personalizado.Actions to perform when a custom event is detected. Use Emitir una acción de evento personalizado para generar un evento personalizado.Use Emit a custom event action to raise a custom event.