Compartir a través de


ActivityHandler class

Controlador de actividad emisor 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 correspondiente en el método del 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
Giro Se emite primero para cada actividad.
Específico del tipo Se emite 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 Se genera 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

  • El esquema de actividad de Bot Framework

Métodos

onCommand(BotHandler)

Registra un controlador de eventos de actividad para la actividad de del 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 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 cuadro de diálogo, emitido como el último evento de una actividad entrante.

onEndOfConversation(BotHandler)

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

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 de agregados evento, emitido 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 los miembros de quitados evento, 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 la reacción de mensaje evento, emitido para cada actividad de reacción entrante del mensaje.

onReactionsAdded(BotHandler)

Registra un controlador de eventos de actividad para las reacciones de agregadas evento, 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 las reacciones de quitadas evento, 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 de tokens-response, emitido para cualquier actividad de evento de tokens/response entrante. 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 el escritura actividad.

onUnrecognizedActivityType(BotHandler)

Registra un controlador de eventos de actividad para el tipo de actividad no reconocido evento, emitido para una actividad entrante con un tipo para el que el 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 del comando.

function onCommand(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto activityHandler de.

Comentarios

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

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 de.

Comentarios

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

onConversationUpdate(BotHandler)

Registra un controlador de eventos de actividad para el evento 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 de.

Comentarios

Las actividades de actualización de conversaciones 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 el onMembersAdded y onMembersRemoved controladores de eventos de subtipo.

onDialog(BotHandler)

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

function onDialog(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto activityHandler de.

onEndOfConversation(BotHandler)

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

function onEndOfConversation(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto activityHandler de.

Comentarios

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

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

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 de.

Comentarios

Las actividades de eventos comunican información mediante programación de un cliente o canal a un bot. El significado de una actividad de evento se define mediante el nombre de la actividad propiedad, que es significativo dentro del ámbito de un canal. Las actividades de eventos están diseñadas para llevar información interactiva (como clics de botón) e información no interactiva (como una notificación de un cliente que actualiza automáticamente un modelo de voz incrustado).

Para controlar un evento de evento tokens/response, use el onTokenResponseEvent controlador de eventos de subtipo. 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 de.

Comentarios

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

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 de. Para controlar un evento InstallationUpdateAdd, use el onInstallationUpdateAdd controlador de eventos específico del tipo.

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 de.

Comentarios

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

onMembersAdded(BotHandler)

Registra un controlador de eventos de actividad para los miembros de agregados evento, emitido 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 de.

Comentarios

La propiedad miembros de la actividadAdded contiene los miembros agregados a la conversación, lo que puede incluir el bot.

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

onMembersRemoved(BotHandler)

Registra un controlador de eventos de actividad para los miembros de quitados evento, 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 de.

Comentarios

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

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

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 de.

Comentarios

Las actividades de mensaje representan contenido destinado a 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 texto de la actividad puede ser null o undefined.

onMessageReaction(BotHandler)

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

function onMessageReaction(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto activityHandler de.

Comentarios

Las actividades de reacción de mensajes representan una interacción social en una actividad de mensaje existente dentro de una conversación. El propiedad replyToId de la actividad de reacción del mensaje hace referencia a la actividad original. El de propiedad representa el origen de la reacción, como el usuario que ha reaccionado al mensaje.

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

onReactionsAdded(BotHandler)

Registra un controlador de eventos de actividad para las reacciones de agregadas evento, 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 de.

Comentarios

La propiedad reacciones de la actividadAdded incluye una o varias reacciones agregadas.

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

onReactionsRemoved(BotHandler)

Registra un controlador de eventos de actividad para las reacciones de quitadas evento, 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 de.

Comentarios

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

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

onTokenResponseEvent(BotHandler)

Registra un controlador de eventos de actividad para el evento de tokens-response, emitido para cualquier actividad de evento de tokens/response entrante. 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 de.

Comentarios

El valor de la actividad propiedad contiene el token de usuario.

Si el bot controla la autenticación mediante un OAuthPrompt dentro de un cuadro de diálogo, el cuadro de 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 onEvent controlador de eventos específico del tipo.

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 de.

onTyping(BotHandler)

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

function onTyping(handler: BotHandler): this

Parámetros

handler
BotHandler

Controlador de eventos.

Devoluciones

this

Referencia al objeto activityHandler de.

Comentarios

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

onUnrecognizedActivityType(BotHandler)

Registra un controlador de eventos de actividad para el tipo de actividad no reconocido evento, emitido para una actividad entrante con un tipo para el que el 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 de.

Comentarios

El 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 Activities 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.

El tipo de de la actividad propiedad 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 llama el adaptador 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

  • BotFrameworkAdapter.processActivity