Share via


ActivityHandler class

Manipulador de atividades emissoras de eventos para bots. Estende ActivityHandlerBase.

Extends

Comentários

Isso fornece uma classe extensível para lidar com atividades de entrada de maneira controlada por eventos. Você pode registrar um conjunto arbitrário de manipuladores para cada tipo de evento.

Para registrar um manipulador para um evento, use o método correspondente no evento . Se vários manipuladores forem registrados para um evento, eles serão executados na ordem em que foram registrados.

Esse objeto emite uma série de eventos à medida que processa uma atividade de entrada. Um manipulador pode interromper a propagação do evento não chamando a função de continuação.

Tipo de evento Descrição
Virar Emitido primeiro para cada atividade.
Específico do tipo Emitido para o tipo de atividade específico, antes de emitir um evento para qualquer subtipo.
Subtipo Emitido para determinados eventos especializados, com base no conteúdo da atividade.
caixa de diálogo Emitido como o evento de processamento de atividade final.

Por exemplo:

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 também

Métodos

onCommand(BotHandler)

Registra um manipulador de eventos de atividade para a atividade de comando .

onCommandResult(BotHandler)

Registra um manipulador de eventos de atividade para a atividade CommandResult .

onConversationUpdate(BotHandler)

Registra um manipulador de eventos de atividade para o evento de atualização de conversa , emitido para cada atividade de atualização de conversa de entrada.

onDialog(BotHandler)

Registra um manipulador de eventos de atividade para o evento de caixa de diálogo , emitido como o último evento para uma atividade de entrada.

onEndOfConversation(BotHandler)

Registra um manipulador de eventos de atividade para o fim da atividade de conversa .

onEvent(BotHandler)

Registra um manipulador de eventos de atividade para o evento de evento , emitido para cada atividade de evento de entrada.

onInstallationUpdate(BotHandler)

Registra um manipulador de eventos de atividade para a atividade installationupdate .

onInstallationUpdateAdd(BotHandler)

Registra um manipulador de eventos de atividade para a atividade installationupdate add .

onInstallationUpdateRemove(BotHandler)

Registra um manipulador de eventos de atividade para a atividade installationupdate remove .

onMembersAdded(BotHandler)

Registra um manipulador de eventos de atividade para o evento adicionado aos membros , emitido para qualquer atividade de atualização de conversa de entrada que inclua membros adicionados à conversa.

onMembersRemoved(BotHandler)

Registra um manipulador de eventos de atividade para o evento de membros removidos , emitido para qualquer atividade de atualização de conversa de entrada que inclua membros removidos da conversa.

onMessage(BotHandler)

Registra um manipulador de eventos de atividade para o evento de mensagem , emitido para cada atividade de mensagem de entrada.

onMessageReaction(BotHandler)

Registra um manipulador de eventos de atividade para o evento de reação de mensagem , emitido para cada atividade de reação de mensagem de entrada.

onReactionsAdded(BotHandler)

Registra um manipulador de eventos de atividade para o evento de reações adicionadas , emitido para qualquer atividade de reação de mensagem de entrada que descreva as reações adicionadas a uma mensagem.

onReactionsRemoved(BotHandler)

Registra um manipulador de eventos de atividade para o evento reações removidas , emitido para qualquer atividade de reação de mensagem de entrada que descreva as reações removidas de uma mensagem.

onTokenResponseEvent(BotHandler)

Registra um manipulador de eventos de atividade para o evento tokens-response , emitido para qualquer atividade de evento de entrada tokens/response . Eles são gerados como parte do fluxo de autenticação OAuth.

onTurn(BotHandler)

Registra um manipulador de eventos de atividade para o evento turn , emitido para cada atividade de entrada, independentemente do tipo.

onTyping(BotHandler)

Registra um manipulador de eventos de atividade para a atividade de digitação .

onUnrecognizedActivityType(BotHandler)

Registra um manipulador de eventos de atividade para o evento de tipo de atividade não reconhecido , emitido para uma atividade de entrada com um tipo para o qual ActivityHandler não fornece um manipulador de eventos.

run(TurnContext)

Chamado para iniciar o processo de emissão de eventos.

Detalhes do método

onCommand(BotHandler)

Registra um manipulador de eventos de atividade para a atividade de comando .

function onCommand(handler: BotHandler): this

Parâmetros

handler
BotHandler

O manipulador de eventos.

Retornos

this

Uma referência ao objeto ActivityHandler .

Comentários

Para manipular um evento Command, use o manipulador de eventos específico do tipo onCommand .

onCommandResult(BotHandler)

Registra um manipulador de eventos de atividade para a atividade CommandResult .

function onCommandResult(handler: BotHandler): this

Parâmetros

handler
BotHandler

O manipulador de eventos.

Retornos

this

Uma referência ao objeto ActivityHandler .

Comentários

Para manipular um evento CommandResult, use o manipulador de eventos específico do tipo onCommandResult .

onConversationUpdate(BotHandler)

Registra um manipulador de eventos de atividade para o evento de atualização de conversa , emitido para cada atividade de atualização de conversa de entrada.

function onConversationUpdate(handler: BotHandler): this

Parâmetros

handler
BotHandler

O manipulador de eventos.

Retornos

this

Uma referência ao objeto ActivityHandler .

Comentários

As atividades de atualização de conversa descrevem as alterações nos metadados de uma conversa, como título, participantes ou outras informações específicas do canal.

Para manipular quando os membros forem adicionados ou removidos da conversa, use os manipuladores de eventos de subtipo onMembersAdded e onMembersRemoved .

onDialog(BotHandler)

Registra um manipulador de eventos de atividade para o evento de caixa de diálogo , emitido como o último evento para uma atividade de entrada.

function onDialog(handler: BotHandler): this

Parâmetros

handler
BotHandler

O manipulador de eventos.

Retornos

this

Uma referência ao objeto ActivityHandler .

onEndOfConversation(BotHandler)

Registra um manipulador de eventos de atividade para o fim da atividade de conversa .

function onEndOfConversation(handler: BotHandler): this

Parâmetros

handler
BotHandler

O manipulador de eventos.

Retornos

this

Uma referência ao objeto ActivityHandler .

Comentários

Normalmente, essa atividade é enviada de uma habilidade para um chamador de habilidade indicando o fim dessa conversa filho específica.

Para lidar com um Fim da Conversa, use o manipulador de eventos específico do tipo onEndOfConversation .

onEvent(BotHandler)

Registra um manipulador de eventos de atividade para o evento de evento , emitido para cada atividade de evento de entrada.

function onEvent(handler: BotHandler): this

Parâmetros

handler
BotHandler

O manipulador de eventos.

Retornos

this

Uma referência ao objeto ActivityHandler .

Comentários

As atividades de evento comunicam informações programáticas de um cliente ou canal para um bot. O significado de uma atividade de evento é definido pela propriedade name da atividade, que é significativa dentro do escopo de um canal. As atividades de evento são projetadas para transportar informações interativas (como cliques de botão) e informações não interativas (como uma notificação de um cliente que está atualizando automaticamente um modelo de fala inserido).

Para manipular um tokens/response evento de evento, use o manipulador de eventos de subtipose OnTokenResponseEvent . Para lidar com outros eventos nomeados, adicione lógica a esse manipulador.

onInstallationUpdate(BotHandler)

Registra um manipulador de eventos de atividade para a atividade installationupdate .

function onInstallationUpdate(handler: BotHandler): this

Parâmetros

handler
BotHandler

O manipulador de eventos.

Retornos

this

Uma referência ao objeto ActivityHandler .

Comentários

Para manipular um evento InstallationUpdate, use o manipulador de eventos específico do tipo onInstallationUpdate .

onInstallationUpdateAdd(BotHandler)

Registra um manipulador de eventos de atividade para a atividade installationupdate add .

function onInstallationUpdateAdd(handler: BotHandler): this

Parâmetros

handler
BotHandler

O manipulador de eventos.

Retornos

this

Uma referência ao objeto ActivityHandler . Para manipular um evento InstallationUpdateAdd, use o manipulador de eventos específico do tipo onInstallationUpdateAdd .

onInstallationUpdateRemove(BotHandler)

Registra um manipulador de eventos de atividade para a atividade installationupdate remove .

function onInstallationUpdateRemove(handler: BotHandler): this

Parâmetros

handler
BotHandler

O manipulador de eventos.

Retornos

this

Uma referência ao objeto ActivityHandler .

Comentários

Para manipular um evento InstallationUpdateRemove, use o manipulador de eventos específico do tipo onInstallationUpdateRemove .

onMembersAdded(BotHandler)

Registra um manipulador de eventos de atividade para o evento adicionado aos membros , emitido para qualquer atividade de atualização de conversa de entrada que inclua membros adicionados à conversa.

function onMembersAdded(handler: BotHandler): this

Parâmetros

handler
BotHandler

O manipulador de eventos.

Retornos

this

Uma referência ao objeto ActivityHandler .

Comentários

A propriedade membersAdded da atividade contém os membros adicionados à conversa, que pode incluir o bot.

Para lidar com eventos de atualização de conversa em geral, use o manipulador de eventos específico do tipo onConversationUpdate .

onMembersRemoved(BotHandler)

Registra um manipulador de eventos de atividade para o evento de membros removidos , emitido para qualquer atividade de atualização de conversa de entrada que inclua membros removidos da conversa.

function onMembersRemoved(handler: BotHandler): this

Parâmetros

handler
BotHandler

O manipulador de eventos.

Retornos

this

Uma referência ao objeto ActivityHandler .

Comentários

A propriedade membersRemoved da atividade contém os membros removidos da conversa, o que pode incluir o bot.

Para lidar com eventos de atualização de conversa em geral, use o manipulador de eventos específico do tipo onConversationUpdate .

onMessage(BotHandler)

Registra um manipulador de eventos de atividade para o evento de mensagem , emitido para cada atividade de mensagem de entrada.

function onMessage(handler: BotHandler): this

Parâmetros

handler
BotHandler

O manipulador de eventos.

Retornos

this

Uma referência ao objeto ActivityHandler .

Comentários

As atividades de mensagem representam o conteúdo destinado a ser mostrado em uma interface de conversa e podem conter texto, fala, cartões interativos e anexos binários ou desconhecidos. Nem todas as atividades de mensagem contêm texto, a propriedade de texto da atividade pode ser null ou undefined.

onMessageReaction(BotHandler)

Registra um manipulador de eventos de atividade para o evento de reação de mensagem , emitido para cada atividade de reação de mensagem de entrada.

function onMessageReaction(handler: BotHandler): this

Parâmetros

handler
BotHandler

O manipulador de eventos.

Retornos

this

Uma referência ao objeto ActivityHandler .

Comentários

As atividades de reação da mensagem representam uma interação social em uma atividade de mensagem existente em uma conversa. A atividade original é referenciada pela propriedade replyToId da atividade de reação da mensagem. A propriedade from representa a origem da reação, como o usuário que reagiu à mensagem.

Para manipular quando as reações são adicionadas ou removidas das mensagens na conversa, use os manipuladores de eventos de subtipo onReactionsAdded e onReactionsRemoved .

onReactionsAdded(BotHandler)

Registra um manipulador de eventos de atividade para o evento de reações adicionadas , emitido para qualquer atividade de reação de mensagem de entrada que descreva as reações adicionadas a uma mensagem.

function onReactionsAdded(handler: BotHandler): this

Parâmetros

handler
BotHandler

O manipulador de eventos.

Retornos

this

Uma referência ao objeto ActivityHandler .

Comentários

Reações da atividade Adicionada propriedade inclui uma ou mais reações que foram adicionadas.

Para lidar com eventos de reação de mensagem em geral, use o manipulador de eventos específico do tipo onMessageReaction .

onReactionsRemoved(BotHandler)

Registra um manipulador de eventos de atividade para o evento reações removidas , emitido para qualquer atividade de reação de mensagem de entrada que descreva as reações removidas de uma mensagem.

function onReactionsRemoved(handler: BotHandler): this

Parâmetros

handler
BotHandler

O manipulador de eventos.

Retornos

this

Uma referência ao objeto ActivityHandler .

Comentários

A propriedade reactionsRemoved da atividade inclui uma ou mais reações que foram removidas.

Para lidar com eventos de reação de mensagem em geral, use o manipulador de eventos específico do tipo onMessageReaction .

onTokenResponseEvent(BotHandler)

Registra um manipulador de eventos de atividade para o evento tokens-response , emitido para qualquer atividade de evento de entrada tokens/response . Eles são gerados como parte do fluxo de autenticação OAuth.

function onTokenResponseEvent(handler: BotHandler): this

Parâmetros

handler
BotHandler

O manipulador de eventos.

Retornos

this

Uma referência ao objeto ActivityHandler .

Comentários

A propriedade de valor da atividade contém o token de usuário.

Se o bot manipular a autenticação usando um OAuthPrompt em uma caixa de diálogo, a caixa de diálogo precisará receber essa atividade para concluir o fluxo de autenticação.

Para lidar com outros eventos nomeados e eventos de evento em geral, use o manipulador de eventos específico do tipo onEvent .

onTurn(BotHandler)

Registra um manipulador de eventos de atividade para o evento turn , emitido para cada atividade de entrada, independentemente do tipo.

function onTurn(handler: BotHandler): this

Parâmetros

handler
BotHandler

O manipulador de eventos.

Retornos

this

Uma referência ao objeto ActivityHandler .

onTyping(BotHandler)

Registra um manipulador de eventos de atividade para a atividade de digitação .

function onTyping(handler: BotHandler): this

Parâmetros

handler
BotHandler

O manipulador de eventos.

Retornos

this

Uma referência ao objeto ActivityHandler .

Comentários

Para manipular um evento de digitação, use o manipulador de eventos específico do tipo onTyping .

onUnrecognizedActivityType(BotHandler)

Registra um manipulador de eventos de atividade para o evento de tipo de atividade não reconhecido , emitido para uma atividade de entrada com um tipo para o qual ActivityHandler não fornece um manipulador de eventos.

function onUnrecognizedActivityType(handler: BotHandler): this

Parâmetros

handler
BotHandler

O manipulador de eventos.

Retornos

this

Uma referência ao objeto ActivityHandler .

Comentários

O ActivityHandler não define eventos para todos os tipos de atividade definidos no esquema de Atividade do Bot Framework. Além disso, canais e adaptadores personalizados podem criar Atividades com tipos que não estão no esquema. Quando o manipulador de atividade recebe esse evento, ele emite um evento de tipo de atividade não reconhecido.

A propriedade type da atividade contém o tipo de atividade.

run(TurnContext)

Chamado para iniciar o processo de emissão de eventos.

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

Parâmetros

context
TurnContext

O objeto de contexto para a curva atual.

Retornos

Promise<void>

Comentários

Normalmente, você forneceria esse método como o manipulador de funções que o adaptador chama para executar a lógica do bot depois que a atividade recebida tiver sido pré-processada pelo adaptador e roteada por meio de qualquer middleware.

Por exemplo:

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

Consulte também