Compartilhar via


BotAdapter class

Define o comportamento principal de um adaptador de bot que pode conectar um bot a um ponto de extremidade de serviço.

Comentários

O adaptador de bot encapsula processos de autenticação e envia atividades para e recebe atividades do Serviço do Bot Connector. Quando o bot recebe uma atividade, o adaptador cria um objeto de contexto de turno, passa-o para a lógica do aplicativo bot e envia respostas de volta para o canal do usuário.

O adaptador processa e direciona as atividades de entrada por meio do pipeline de middleware de bot para sua lógica de bot e, em seguida, volta para fora novamente. À medida que cada atividade entra e sai do bot, cada parte do middleware pode inspecionar ou agir sobre a atividade, antes e depois da execução da lógica do bot. Use o método usar para adicionar objetos middleware à coleção de middleware do adaptador.

Para obter mais informações, consulte os artigos sobre Como os bots funcionam e middleware.

Propriedades

BotIdentityKey
ConnectorClientKey
OAuthScopeKey
onTurnError

Obtém ou define um manipulador de erros que pode capturar exceções no middleware ou aplicativo. Define um manipulador de erros que pode capturar exceções no middleware ou aplicativo.

Métodos

continueConversation(Partial<ConversationReference>, (revocableContext: TurnContext) => Promise<void>)

Retoma de forma assíncrona uma conversa com um usuário, possivelmente depois de algum tempo.

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

Retoma de forma assíncrona uma conversa com um usuário, possivelmente depois de algum tempo.

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)

Retoma de forma assíncrona uma conversa com um usuário, possivelmente depois de algum tempo.

continueConversationAsync(string, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

Retoma de forma assíncrona uma conversa com um usuário, possivelmente depois de algum tempo.

createConversationAsync(string, string, string, string, ConversationParameters, (context: TurnContext) => Promise<void>)

Cria uma conversa no canal especificado.

deleteActivity(TurnContext, Partial<ConversationReference>)

Exclui de forma assíncrona uma atividade existente. Essa interface dá suporte à estrutura e não se destina a ser chamada diretamente para seu código. Use TurnContext.deleteActivity para excluir uma atividade do código do bot.

sendActivities(TurnContext, Partial<Activity>[])

Envia de forma assíncrona um conjunto de atividades de saída para um servidor de canal. Esse método dá suporte à estrutura e não se destina a ser chamado diretamente para seu código. Use o método sendActivity ou sendActivities do contexto de turno do código do bot.

updateActivity(TurnContext, Partial<Activity>)

Substitui de forma assíncrona uma atividade anterior por uma versão atualizada. Essa interface dá suporte à estrutura e não se destina a ser chamada diretamente para seu código. Use TurnContext.updateActivity para atualizar uma atividade do código do bot.

use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])

Adiciona middleware ao pipeline do adaptador.

Detalhes da propriedade

BotIdentityKey

BotIdentityKey: symbol

Valor da propriedade

symbol

ConnectorClientKey

ConnectorClientKey: symbol

Valor da propriedade

symbol

OAuthScopeKey

OAuthScopeKey: symbol

Valor da propriedade

symbol

onTurnError

Obtém ou define um manipulador de erros que pode capturar exceções no middleware ou aplicativo. Define um manipulador de erros que pode capturar exceções no middleware ou aplicativo.

(context: TurnContext, error: Error) => Promise<void> onTurnError

Valor da propriedade

(context: TurnContext, error: Error) => Promise<void>

Uma promessa que representa a operação assíncrona.

Comentários

O manipulador de erros é chamado com estes parâmetros:

Nome Tipo Descrição
context TurnContext O objeto de contexto para a curva.
error Error O erro de Node.js gerado.

Detalhes do método

continueConversation(Partial<ConversationReference>, (revocableContext: TurnContext) => Promise<void>)

Retoma de forma assíncrona uma conversa com um usuário, possivelmente depois de algum tempo.

function continueConversation(reference: Partial<ConversationReference>, logic: (revocableContext: TurnContext) => Promise<void>): Promise<void>

Parâmetros

reference

Partial<ConversationReference>

Uma referência à conversa a continuar.

logic

(revocableContext: TurnContext) => Promise<void>

O método assíncrono a ser chamado após a execução do middleware do adaptador.

Retornos

Promise<void>

Comentários

Isso geralmente é chamado de de notificação proativa, o bot pode enviar proativamente uma mensagem para uma conversa ou usuário sem esperar por uma mensagem de entrada. Por exemplo, um bot pode usar esse método para enviar notificações ou cupons para um usuário.

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

Retoma de forma assíncrona uma conversa com um usuário, possivelmente depois de algum tempo.

function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>

Parâmetros

claimsIdentity

ClaimsIdentity

Um ClaimsIdentity para a conversa.

reference

Partial<ConversationReference>

Um ConversationReference parcial para que a conversa continue.

logic

(context: TurnContext) => Promise<void>

O método assíncrono a ser chamado após a execução do middleware do adaptador.

Retornos

Promise<void>

uma promessa que representa a operação assíncrona

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)

Retoma de forma assíncrona uma conversa com um usuário, possivelmente depois de algum tempo.

function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, audience: string, logic: (context: TurnContext) => Promise<void>): Promise<void>

Parâmetros

claimsIdentity

ClaimsIdentity

Um ClaimsIdentity para a conversa.

reference

Partial<ConversationReference>

Um ConversationReference parcial para que a conversa continue.

audience

string

Um valor que significa o destinatário da mensagem proativa.

logic

(context: TurnContext) => Promise<void>

O método assíncrono a ser chamado após a execução do middleware do adaptador.

Retornos

Promise<void>

uma promessa que representa a operação assíncrona

continueConversationAsync(string, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

Retoma de forma assíncrona uma conversa com um usuário, possivelmente depois de algum tempo.

function continueConversationAsync(botAppId: string, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>

Parâmetros

botAppId

string

A ID do aplicativo do bot. Esse parâmetro é ignorado em um único locatário dos Adaptadores (Console, Teste etc),mas é fundamental para o BotFrameworkAdapter, que tem reconhecimento multilocatário.

reference

Partial<ConversationReference>

Um ConversationReference parcial para que a conversa continue.

logic

(context: TurnContext) => Promise<void>

O método assíncrono a ser chamado após a execução do middleware do adaptador.

Retornos

Promise<void>

uma promessa que representa a operação assíncrona

createConversationAsync(string, string, string, string, ConversationParameters, (context: TurnContext) => Promise<void>)

Cria uma conversa no canal especificado.

function createConversationAsync(_botAppId: string, _channelId: string, _serviceUrl: string, _audience: string, _conversationParameters: ConversationParameters, _logic: (context: TurnContext) => Promise<void>): Promise<void>

Parâmetros

_botAppId

string

A ID do aplicativo do bot.

_channelId

string

A ID do canal.

_serviceUrl

string

A ID do canal.

_audience

string

O público-alvo do conector.

_conversationParameters

ConversationParameters

As informações de conversa a serem usadas para criar a conversa

_logic

(context: TurnContext) => Promise<void>

O método a ser chamado para a curva de bot resultante.

Retornos

Promise<void>

Uma promessa que representa a operação assíncrona

Comentários

Para iniciar uma conversa, o bot deve saber suas informações de conta e as informações da conta do usuário nesse canal. A maioria dos _channels dá suporte apenas ao início de uma conversa direta (não em grupo).

O adaptador tenta criar uma nova conversa no canal e envia uma atividade conversationUpdate por meio de seu pipeline de middleware para o método lógico.

Se a conversa for estabelecida com os usuários especificados, a ID da conversão da atividade conterá a ID da nova conversa.

deleteActivity(TurnContext, Partial<ConversationReference>)

Exclui de forma assíncrona uma atividade existente. Essa interface dá suporte à estrutura e não se destina a ser chamada diretamente para seu código. Use TurnContext.deleteActivity para excluir uma atividade do código do bot.

function deleteActivity(context: TurnContext, reference: Partial<ConversationReference>): Promise<void>

Parâmetros

context
TurnContext

O objeto de contexto para a curva.

reference

Partial<ConversationReference>

Informações de referência de conversa para a atividade a ser excluída.

Retornos

Promise<void>

Comentários

Nem todos os canais dão suporte a essa operação. Para canais que não o fazem, essa chamada pode gerar uma exceção.

sendActivities(TurnContext, Partial<Activity>[])

Envia de forma assíncrona um conjunto de atividades de saída para um servidor de canal. Esse método dá suporte à estrutura e não se destina a ser chamado diretamente para seu código. Use o método sendActivity ou sendActivities do contexto de turno do código do bot.

function sendActivities(context: TurnContext, activities: Partial<Activity>[]): Promise<ResourceResponse[]>

Parâmetros

context
TurnContext

O objeto de contexto para a curva.

activities

Partial<Activity>[]

As atividades a serem enviadas.

Retornos

Promise<ResourceResponse[]>

Uma matriz de ResourceResponse

Comentários

As atividades serão enviadas uma após a outra na ordem em que são recebidas. Um objeto de resposta será retornado para cada atividade enviada. Para message atividades, isso conterá a ID da mensagem entregue.

updateActivity(TurnContext, Partial<Activity>)

Substitui de forma assíncrona uma atividade anterior por uma versão atualizada. Essa interface dá suporte à estrutura e não se destina a ser chamada diretamente para seu código. Use TurnContext.updateActivity para atualizar uma atividade do código do bot.

function updateActivity(context: TurnContext, activity: Partial<Activity>): Promise<ResourceResponse | void>

Parâmetros

context
TurnContext

O objeto de contexto para a curva.

activity

Partial<Activity>

A versão atualizada da atividade a ser substituída.

Retornos

Promise<ResourceResponse | void>

Comentários

Nem todos os canais dão suporte a essa operação. Para canais que não o fazem, essa chamada pode gerar uma exceção.

use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])

Adiciona middleware ao pipeline do adaptador.

function use(middlewares: (context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]): this

Parâmetros

middlewares

(context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]

Os manipuladores de middleware ou middleware a serem adicionados.

Retornos

this

O objeto do adaptador atualizado.

Comentários

O middleware é adicionado ao adaptador no momento da inicialização. A cada turno, o adaptador chama seu middleware na ordem em que você o adicionou.