Share via


ActivityHandler class

Controlador de actividad de emisión de eventos para bots. Extiende ActivityHandlerBase.

Extends

Comentarios

Esto proporciona una clase extensible para controlar las actividades entrantes de forma controlada por eventos. Puede registrar un conjunto arbitrario de controladores para cada tipo de evento.

Para registrar un controlador para un evento, use el método correspondiente en el evento . Si se registran varios controladores para un evento, se ejecutan en el orden en que se registraron.

Este objeto emite una serie de eventos a medida que procesa una actividad entrante. Un controlador puede detener la propagación del evento sin llamar a la función de continuación.

Tipo de evento Descripción
Girar Se emite primero para cada actividad.
Específico del tipo Emitido para el tipo de actividad específico, antes de emitir un evento para cualquier subtipo.
Subtipo Emitido para determinados eventos especializados, en función del contenido de la actividad.
Diálogo Emitido como evento de procesamiento de actividad final.

Por ejemplo:

const bot = new ActivityHandler();

server.post('/api/messages', (req, res) => {
    adapter.processActivity(req, res, async (context) => {
        // Route to bot's activity logic.
        await bot.run(context);
    });
});

bot.onTurn(async (context, next) => {
        // Handle a "turn" event.
        await context.sendActivity(`${ context.activity.type } activity received.`);
        // Continue with further processing.
        await next();
    })
    .onMessage(async (context, next) => {
        // Handle a message activity.
        await context.sendActivity(`Echo: ${ context.activity.text }`);
        // Continue with further processing.
        await next();
    });

Consulte también

Métodos

onCommand(BotHandler)

Registra un controlador de eventos de actividad para la actividad de comando .

onCommandResult(BotHandler)

Registra un controlador de eventos de actividad para la actividad CommandResult .

onConversationUpdate(BotHandler)

Registra un controlador de eventos de actividad para el evento de actualización de conversación , emitido para cada actividad de actualización de conversación entrante.

onDialog(BotHandler)

Registra un controlador de eventos de actividad para el evento de diálogo , emitido como el último evento para una actividad entrante.

onEndOfConversation(BotHandler)

Registra un controlador de eventos de actividad para el final de la actividad de conversación .

onEvent(BotHandler)

Registra un controlador de eventos de actividad para el evento de evento , emitido para cada actividad de evento entrante.

onInstallationUpdate(BotHandler)

Registra un controlador de eventos de actividad para la actividad installationupdate .

onInstallationUpdateAdd(BotHandler)

Registra un controlador de eventos de actividad para la actividad installationupdate add .

onInstallationUpdateRemove(BotHandler)

Registra un controlador de eventos de actividad para la actividad installationupdate remove .

onMembersAdded(BotHandler)

Registra un controlador de eventos de actividad para los miembros agregados , emitidos para cualquier actividad de actualización de conversación entrante que incluya miembros agregados a la conversación.

onMembersRemoved(BotHandler)

Registra un controlador de eventos de actividad para el evento de miembros quitados , emitido para cualquier actividad de actualización de conversación entrante que incluya miembros quitados de la conversación.

onMessage(BotHandler)

Registra un controlador de eventos de actividad para el evento de mensaje , emitido para cada actividad de mensaje entrante.

onMessageReaction(BotHandler)

Registra un controlador de eventos de actividad para el evento de reacción del mensaje , emitido para cada actividad de reacción de mensaje entrante.

onReactionsAdded(BotHandler)

Registra un controlador de eventos de actividad para el evento agregado de reacciones , emitido para cualquier actividad de reacción de mensaje entrante que describa las reacciones agregadas a un mensaje.

onReactionsRemoved(BotHandler)

Registra un controlador de eventos de actividad para el evento de eliminación de reacciones , emitido para cualquier actividad de reacción de mensaje entrante que describa las reacciones eliminadas de un mensaje.

onTokenResponseEvent(BotHandler)

Registra un controlador de eventos de actividad para el evento tokens-response , emitido para cualquier actividad de evento entrante tokens/response . Estos se generan como parte del flujo de autenticación de OAuth.

onTurn(BotHandler)

Registra un controlador de eventos de actividad para el evento turn , emitido para cada actividad entrante, independientemente del tipo.

onTyping(BotHandler)

Registra un controlador de eventos de actividad para la actividad de escritura .

onUnrecognizedActivityType(BotHandler)

Registra un controlador de eventos de actividad para el evento de tipo de actividad no reconocido , emitido para una actividad entrante con un tipo para el que ActivityHandler no proporciona un controlador de eventos.

run(TurnContext)

Se llama para iniciar el proceso de emisión de eventos.

Detalles del método

onCommand(BotHandler)

Registra un controlador de eventos de actividad para la actividad de comando .

function onCommand(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto ActivityHandler .

Comentarios

Para controlar un evento Command, use el controlador de eventos específico del tipo onCommand .

onCommandResult(BotHandler)

Registra un controlador de eventos de actividad para la actividad CommandResult .

function onCommandResult(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto ActivityHandler .

Comentarios

Para controlar un evento CommandResult, use el controlador de eventos específico del tipo onCommandResult .

onConversationUpdate(BotHandler)

Registra un controlador de eventos de actividad para el evento de actualización de conversación , emitido para cada actividad de actualización de conversación entrante.

function onConversationUpdate(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto ActivityHandler .

Comentarios

Las actividades de actualización de conversación describen los cambios en los metadatos de una conversación, como título, participantes u otra información específica del canal.

Para controlar cuándo se agregan o quitan miembros de la conversación, use los controladores de eventos onMembersAdded y onMembersRemoved .

onDialog(BotHandler)

Registra un controlador de eventos de actividad para el evento de diálogo , emitido como el último evento para una actividad entrante.

function onDialog(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto ActivityHandler .

onEndOfConversation(BotHandler)

Registra un controlador de eventos de actividad para el final de la actividad de conversación .

function onEndOfConversation(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto ActivityHandler .

Comentarios

Normalmente, esta actividad se envía de una aptitud a un autor de llamada de aptitud que indica el final de esa conversación secundaria concreta.

Para controlar un extremo de conversación, use el controlador de eventos específico del tipo onEndOfConversation .

onEvent(BotHandler)

Registra un controlador de eventos de actividad para el evento de evento , emitido para cada actividad de evento entrante.

function onEvent(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto ActivityHandler .

Comentarios

Las actividades de evento transmiten información de programación de un cliente o un canal a un bot. El significado de una actividad de evento se define mediante la propiedad name de la actividad, que es significativa dentro del ámbito de un canal. Las actividades de evento están diseñadas para transportar información interactiva (por ejemplo, clics de botón) e información no interactiva (por ejemplo, una notificación de un cliente de la actualización automática de un modelo de voz insertado).

Para controlar un tokens/response evento de evento, use el controlador de eventos onTokenResponseEvent . Para controlar otros eventos con nombre, agregue lógica a este controlador.

onInstallationUpdate(BotHandler)

Registra un controlador de eventos de actividad para la actividad installationupdate .

function onInstallationUpdate(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto ActivityHandler .

Comentarios

Para controlar un evento InstallationUpdate, use el controlador de eventos específico del tipo onInstallationUpdate .

onInstallationUpdateAdd(BotHandler)

Registra un controlador de eventos de actividad para la actividad installationupdate add .

function onInstallationUpdateAdd(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto ActivityHandler . Para controlar un evento InstallationUpdateAdd, use el controlador de eventos específico del tipo onInstallationUpdateAdd .

onInstallationUpdateRemove(BotHandler)

Registra un controlador de eventos de actividad para la actividad installationupdate remove .

function onInstallationUpdateRemove(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto ActivityHandler .

Comentarios

Para controlar un evento InstallationUpdateRemove, use el controlador de eventos específico del tipo onInstallationUpdateRemove .

onMembersAdded(BotHandler)

Registra un controlador de eventos de actividad para los miembros agregados , emitidos para cualquier actividad de actualización de conversación entrante que incluya miembros agregados a la conversación.

function onMembersAdded(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto ActivityHandler .

Comentarios

La propiedad membersAdded de la actividad contiene los miembros agregados a la conversación, que pueden incluir el bot.

Para controlar eventos de actualización de conversación en general, use el controlador de eventos específico del tipo onConversationUpdate .

onMembersRemoved(BotHandler)

Registra un controlador de eventos de actividad para el evento de miembros quitados , emitido para cualquier actividad de actualización de conversación entrante que incluya miembros quitados de la conversación.

function onMembersRemoved(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto ActivityHandler .

Comentarios

La propiedad membersRemoved de la actividad contiene los miembros quitados de la conversación, que pueden incluir el bot.

Para controlar eventos de actualización de conversación en general, use el controlador de eventos específico del tipo onConversationUpdate .

onMessage(BotHandler)

Registra un controlador de eventos de actividad para el evento de mensaje , emitido para cada actividad de mensaje entrante.

function onMessage(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto ActivityHandler .

Comentarios

Las actividades de mensaje representan el contenido diseñado para mostrarse dentro de una interfaz conversacional y pueden contener texto, voz, tarjetas interactivas y datos adjuntos binarios o desconocidos. No todas las actividades de mensaje contienen texto, la propiedad text de la actividad puede ser null o undefined.

onMessageReaction(BotHandler)

Registra un controlador de eventos de actividad para el evento de reacción del mensaje , emitido para cada actividad de reacción de mensaje entrante.

function onMessageReaction(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto ActivityHandler .

Comentarios

Las actividades de reacción de mensajes representan la interacción social en una actividad de mensajes existente de una conversación. La actividad original se conoce mediante la propiedad replyToId de la actividad de reacción del mensaje. La propiedad from representa el origen de la reacción, como el usuario que ha reaccionado al mensaje.

Para controlar cuándo se agregan o quitan reacciones de los mensajes de la conversación, use los controladores de eventos onReactionsAdded y onReactionsRemoved .

onReactionsAdded(BotHandler)

Registra un controlador de eventos de actividad para el evento agregado de reacciones , emitido para cualquier actividad de reacción de mensaje entrante que describa las reacciones agregadas a un mensaje.

function onReactionsAdded(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto ActivityHandler .

Comentarios

La propiedad reacciones de la actividadAdded incluye una o varias reacciones que se agregaron.

Para controlar eventos de reacción de mensajes en general, use el controlador de eventos específico del tipo onMessageReaction .

onReactionsRemoved(BotHandler)

Registra un controlador de eventos de actividad para el evento de eliminación de reacciones , emitido para cualquier actividad de reacción de mensaje entrante que describa las reacciones eliminadas de un mensaje.

function onReactionsRemoved(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto ActivityHandler .

Comentarios

La propiedad reactionsRemoved de la actividad incluye una o varias reacciones que se quitaron.

Para controlar eventos de reacción de mensajes en general, use el controlador de eventos específico del tipo onMessageReaction .

onTokenResponseEvent(BotHandler)

Registra un controlador de eventos de actividad para el evento tokens-response , emitido para cualquier actividad de evento entrante tokens/response . Estos se generan como parte del flujo de autenticación de OAuth.

function onTokenResponseEvent(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto ActivityHandler .

Comentarios

La propiedad value de la actividad contiene el token de usuario.

Si el bot controla la autenticación mediante OAuthPrompt en un cuadro de diálogo, el diálogo deberá recibir esta actividad para completar el flujo de autenticación.

Para controlar otros eventos con nombre y eventos en general, use el controlador de eventos específico del tipo onEvent .

onTurn(BotHandler)

Registra un controlador de eventos de actividad para el evento turn , emitido para cada actividad entrante, independientemente del tipo.

function onTurn(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto ActivityHandler .

onTyping(BotHandler)

Registra un controlador de eventos de actividad para la actividad de escritura .

function onTyping(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto ActivityHandler .

Comentarios

Para controlar un evento Typing, use el controlador de eventos específico del tipo onTyping .

onUnrecognizedActivityType(BotHandler)

Registra un controlador de eventos de actividad para el evento de tipo de actividad no reconocido , emitido para una actividad entrante con un tipo para el que ActivityHandler no proporciona un controlador de eventos.

function onUnrecognizedActivityType(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto ActivityHandler .

Comentarios

ActivityHandler no define eventos para todos los tipos de actividad definidos en el esquema de actividad de Bot Framework. Además, los canales y adaptadores personalizados pueden crear actividades con tipos que no están en el esquema. Cuando el controlador de actividad recibe este evento, emite un evento de tipo de actividad no reconocido.

La propiedad type de la actividad contiene el tipo de actividad.

run(TurnContext)

Se llama para iniciar el proceso de emisión de eventos.

function run(context: TurnContext): Promise<void>

Parámetros

context
TurnContext

Objeto de contexto del turno actual.

Devoluciones

Promise<void>

Comentarios

Normalmente, proporcionaría este método como controlador de función al que el adaptador llama para realizar la lógica del bot después de que el adaptador haya procesado previamente la actividad recibida y enrutada a través de cualquier middleware.

Por ejemplo:

 server.post('/api/messages', (req, res) => {
     adapter.processActivity(req, res, async (context) => {
         // Route to bot's activity logic.
         await bot.run(context);
     });
});

Consulte también