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
Bot |
|
Connector |
|
OAuth |
|
on |
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
continue |
Retoma de forma assíncrona uma conversa com um usuário, possivelmente depois de algum tempo. |
continue |
Retoma de forma assíncrona uma conversa com um usuário, possivelmente depois de algum tempo. |
continue |
Retoma de forma assíncrona uma conversa com um usuário, possivelmente depois de algum tempo. |
continue |
Retoma de forma assíncrona uma conversa com um usuário, possivelmente depois de algum tempo. |
create |
Cria uma conversa no canal especificado. |
delete |
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. |
send |
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. |
update |
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: Turn |
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
- 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
- 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
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.