BotFrameworkAdapter Classe
- java.
lang. Object - com.
microsoft. bot. builder. BotAdapter - com.
microsoft. bot. builder. BotFrameworkAdapter
- com.
- com.
Implementações
public class BotFrameworkAdapter
extends BotAdapter
implements AdapterIntegration, UserTokenProvider, ConnectorClientBuilder
Um adaptador de bot que pode conectar um bot a um ponto de extremidade de serviço. 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, passa-o para a lógica do aplicativo do bot e envia respostas de volta para o canal do usuário.
Use use(Middleware middleware) para adicionar objetos Middleware ao adaptador\u2019coleção de middleware. O adaptador processa e direciona as atividades de entrada por meio do pipeline de middleware de bot para o bot\u2019lógica e, em seguida, voltar 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.
Resumo do campo
| Modificador e tipo | Campo e descrição |
|---|---|
| static final java.lang.String |
CONNECTOR_CLIENT_KEY
Chave para armazenar o Conector |
| static final java.lang.String |
INVOKE_RESPONSE_KEY
Chave para armazenar Invoke |
| static final java.lang.String |
TEAMSCONNECTOR_CLIENT_KEY
Chave para armazenar o Cliente |
Resumo do Construtor
Resumo do método
| Modificador e tipo | Método e descrição |
|---|---|
| protected void |
addConnectorClientToCache(String serviceUrl, String appId, String scope, ConnectorClient client)
Insere um Conector |
|
protected
java.util.concurrent.CompletableFuture<App |
buildAppCredentials(String appId, String scope)
Cria um objeto App |
| java.util.concurrent.CompletableFuture<java.lang.Void> |
continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, BotCallbackHandler callback)
Envia uma mensagem proativa para uma conversa. |
| java.util.concurrent.CompletableFuture<java.lang.Void> |
continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, String audience, BotCallbackHandler callback)
Envia uma mensagem proativa para uma conversa. |
| java.util.concurrent.CompletableFuture<java.lang.Void> |
continueConversation(String botAppId, ConversationReference reference, BotCallbackHandler callback)
Envia uma mensagem proativa do bot para uma conversa. |
|
java.util.concurrent.CompletableFuture<Connector |
createConnectorClient(String serviceUrl, ClaimsIdentity claimsIdentity, String audience)
Cria o cliente do conector assíncrono. |
| java.util.concurrent.CompletableFuture<java.lang.Void> |
createConversation(String channelId, String serviceUrl, MicrosoftAppCredentials credentials, ConversationParameters conversationParameters, BotCallbackHandler callback)
Cria uma conversa no canal especificado. |
| java.util.concurrent.CompletableFuture<java.lang.Void> |
createConversation(String channelId, String serviceUrl, MicrosoftAppCredentials credentials, ConversationParameters conversationParameters, BotCallbackHandler callback, ConversationReference reference)
Cria uma conversa no canal especificado. |
|
protected
java.util.concurrent.CompletableFuture<OAuth |
createOAuthAPIClient(TurnContext turnContext, AppCredentials oAuthAppCredentials)
Cria um cliente OAuth para o bot. |
| java.util.concurrent.CompletableFuture<java.lang.Void> |
deleteActivity(TurnContext context, ConversationReference reference)
Exclui uma atividade existente na conversa. |
| java.util.concurrent.CompletableFuture<java.lang.Void> |
deleteConversationMember(TurnContextImpl context, String memberId)
Exclui um membro da conversa atual. |
|
java.util.concurrent.CompletableFuture<Token |
exchangeToken(TurnContext turnContext, AppCredentials oAuthAppCredentials, String connectionName, String userId, TokenExchangeRequest exchangeRequest)
Executa uma operação de troca de token, como para logon único. |
|
java.util.concurrent.CompletableFuture<Token |
exchangeToken(TurnContext turnContext, String connectionName, String userId, TokenExchangeRequest exchangeRequest)
Executa uma operação de troca de token, como para logon único. |
|
java.util.concurrent.CompletableFuture<java.util.Map<java.lang.String,Token |
getAadTokens(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String[] resourceUrls, String userId)
Recupera tokens do Azure Active Directory para recursos específicos em uma conexão configurada, usando credenciais de |
|
java.util.concurrent.CompletableFuture<java.util.Map<java.lang.String,Token |
getAadTokens(TurnContext context, String connectionName, String[] resourceUrls, String userId)
Recupera tokens do Azure Active Directory para recursos específicos em uma conexão configurada. |
|
java.util.concurrent.CompletableFuture<java.util.List<Channel |
getActivityMembers(TurnContextImpl context)
Lista os membros de uma determinada atividade. |
|
java.util.concurrent.CompletableFuture<java.util.List<Channel |
getActivityMembers(TurnContextImpl context, String activityId)
Lista os membros de uma determinada atividade. |
|
protected
java.util.Map<java.lang.String,Connector |
getConnectorClientCache()
Obtenha o cache do Cliente |
|
java.util.concurrent.CompletableFuture<java.util.List<Channel |
getConversationMembers(TurnContextImpl context)
Lista os membros da conversa atual. |
|
java.util.concurrent.CompletableFuture<Conversations |
getConversations(TurnContextImpl context)
Lista as conversas nas quais esse bot participou para um determinado servidor de canal. |
|
java.util.concurrent.CompletableFuture<Conversations |
getConversations(TurnContextImpl context, String continuationToken)
Lista as conversas nas quais esse bot participou para um determinado servidor de canal. |
|
java.util.concurrent.CompletableFuture<Conversations |
getConversations(String serviceUrl, MicrosoftAppCredentials credentials)
Lista as conversas nas quais esse bot participou para um determinado servidor de canal. |
|
java.util.concurrent.CompletableFuture<Conversations |
getConversations(String serviceUrl, MicrosoftAppCredentials credentials, String continuationToken)
Lista as conversas nas quais esse bot participou para um determinado servidor de canal. |
|
protected
java.util.Map<java.lang.String,App |
getCredentialsCache()
Obtenha o cache de Credenciais do |
| java.util.concurrent.CompletableFuture<java.lang.String> |
getOAuthSignInLink(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName)
Obtenha o link de entrada bruto a ser enviado ao usuário para entrar em um nome de conexão usando credenciais de |
| java.util.concurrent.CompletableFuture<java.lang.String> |
getOAuthSignInLink(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String userId, String finalRedirect)
Obtenha o link de entrada bruto a ser enviado ao usuário para entrar em um nome de conexão usando as Credenciais de |
| java.util.concurrent.CompletableFuture<java.lang.String> |
getOAuthSignInLink(TurnContext context, String connectionName)
Obtenha o link de entrada bruto a ser enviado ao usuário para entrar em um nome de conexão. |
| java.util.concurrent.CompletableFuture<java.lang.String> |
getOAuthSignInLink(TurnContext context, String connectionName, String userId, String finalRedirect)
Obtenha o link de entrada bruto a ser enviado ao usuário para entrar em um nome de conexão. |
|
protected
java.util.concurrent.CompletableFuture<Connector |
getOrCreateConnectorClient(String serviceUrl, AppCredentials usingAppCredentials)
Retorna um Conector |
|
java.util.concurrent.CompletableFuture<Sign |
getSignInResource(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String userId, String finalRedirect)
Obtenha o link de entrada bruto a ser enviado ao usuário para entrar em um nome de conexão. |
|
java.util.concurrent.CompletableFuture<Sign |
getSignInResource(TurnContext turnContext, String connectionName)
Obtenha o link de entrada bruto a ser enviado ao usuário para entrar em um nome de conexão. |
|
java.util.concurrent.CompletableFuture<Sign |
getSignInResource(TurnContext turnContext, String connectionName, String userId, String finalRedirect)
Obtenha o link de entrada bruto a ser enviado ao usuário para entrar em um nome de conexão. |
|
java.util.concurrent.CompletableFuture<java.util.List<Token |
getTokenStatus(TurnContext context, AppCredentials oAuthAppCredentials, String userId, String includeFilter)
Recupera o status do token para cada conexão configurada para o usuário fornecido, usando credenciais de |
|
java.util.concurrent.CompletableFuture<java.util.List<Token |
getTokenStatus(TurnContext context, String userId, String includeFilter)
Recupera o status do token para cada conexão configurada para o usuário fornecido. |
|
java.util.concurrent.CompletableFuture<Token |
getUserToken(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String magicCode)
Tenta recuperar o token de um usuário que está em um fluxo de logon usando credenciais de |
|
java.util.concurrent.CompletableFuture<Token |
getUserToken(TurnContext context, String connectionName, String magicCode)
Tenta recuperar o token de um usuário que está em um fluxo de logon. |
| protected static java.lang.String |
keyForAppCredentials(String appId, String scope)
Gera a chave para acessar o cache de credenciais do aplicativo. |
| protected static java.lang.String |
keyForConnectorClient(String serviceUrl, String appId, String scope)
Gera a chave para acessar o cache do cliente do conector. |
|
java.util.concurrent.CompletableFuture<Invoke |
processActivity(ClaimsIdentity identity, Activity activity, BotCallbackHandler callback)
Cria um contexto de turno e executa o pipeline de middleware para uma atividade de entrada. |
|
java.util.concurrent.CompletableFuture<Invoke |
processActivity(String authHeader, Activity activity, BotCallbackHandler callback)
Cria um contexto de turno e executa o pipeline de middleware para uma atividade de entrada. |
|
java.util.concurrent.CompletableFuture<Resource |
sendActivities(TurnContext context, List<Activity> activities)
Envia atividades para a conversa. |
| java.util.concurrent.CompletableFuture<java.lang.Void> |
signOutUser(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String userId)
Desconecta o usuário com o servidor de token usando credenciais de |
| java.util.concurrent.CompletableFuture<java.lang.Void> |
signOutUser(TurnContext context, String connectionName, String userId)
Desconscreve o usuário com o servidor de token. |
|
java.util.concurrent.CompletableFuture<Resource |
updateActivity(TurnContext context, Activity activity)
Substitui uma atividade existente na conversa. |
|
Bot |
use(Middleware middleware)
Adiciona middleware ao pipeline do adaptador. |
Métodos herdados de BotAdapter
Métodos herdados de java.lang.Object
Detalhes do campo
CONNECTOR_CLIENT_KEY
public static final String CONNECTOR_CLIENT_KEY
Chave para armazenar ConnectorClient.
INVOKE_RESPONSE_KEY
public static final String INVOKE_RESPONSE_KEY
Chave para armazenar InvokeResponse.
TEAMSCONNECTOR_CLIENT_KEY
public static final String TEAMSCONNECTOR_CLIENT_KEY
Chave para armazenar o TeamsConnectorClient. Somente para teste.
Detalhes do construtor
BotFrameworkAdapter
public BotFrameworkAdapter(AppCredentials withCredentials, AuthenticationConfiguration withAuthConfig, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)
Inicializa uma nova instância da classe BotFrameworkAdapter, usando um provedor de credenciais.
Parâmetros:
BotFrameworkAdapter
public BotFrameworkAdapter(CredentialProvider withCredentialProvider)
Inicializa uma nova instância da classe BotFrameworkAdapter, usando um provedor de credenciais.
Parâmetros:
BotFrameworkAdapter
public BotFrameworkAdapter(CredentialProvider withCredentialProvider, AuthenticationConfiguration withAuthConfig, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)
Inicializa uma nova instância da classe BotFrameworkAdapter, usando um provedor de credenciais.
Parâmetros:
BotFrameworkAdapter
public BotFrameworkAdapter(CredentialProvider withCredentialProvider, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)
Inicializa uma nova instância da classe BotFrameworkAdapter, usando um provedor de credenciais.
Parâmetros:
Detalhes do método
addConnectorClientToCache
protected void addConnectorClientToCache(String serviceUrl, String appId, String scope, ConnectorClient client)
Insere um ConnectorClient no cache. SOMENTE PARA TESTE DE UNIDADE.
Parâmetros:
buildAppCredentials
protected CompletableFuture
Cria um objeto AppCredentials para o appId e o escopo especificados.
Parâmetros:
Retornos:
continueConversation
public CompletableFuture
Envia uma mensagem proativa para uma conversa.
Chame esse método para enviar proativamente uma mensagem para uma conversa. A maioria dos canais exige que um usuário inicie uma conversa com um bot antes que o bot possa enviar atividades ao usuário.
Substituições:
BotFrameworkAdapter.continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, BotCallbackHandler callback)Parâmetros:
Retornos:
continueConversation
public CompletableFuture
Envia uma mensagem proativa para uma conversa.
Chame esse método para enviar proativamente uma mensagem para uma conversa. A maioria dos canais exige que um usuário inicie uma conversa com um bot antes que o bot possa enviar atividades ao usuário.
Substituições:
BotFrameworkAdapter.continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, String audience, BotCallbackHandler callback)Parâmetros:
Retornos:
continueConversation
public CompletableFuture
Envia uma mensagem proativa do bot para uma conversa.
Chame esse método para enviar proativamente uma mensagem para uma conversa. A maioria dos canais exige que um usuário inicie uma conversa com um bot antes que o bot possa enviar atividades ao usuário.
Essa sobrecarga difere da implementação do Nó, exigindo que o BotId seja passado. O código .Net permite que vários bots sejam hospedados em um único adaptador, o que não é algo compatível com o Node.
processActivity(String authHeader, Activity activity, BotCallbackHandler callback) runPipeline(TurnContext context, BotCallbackHandler callback)
Substituições:
BotFrameworkAdapter.continueConversation(String botAppId, ConversationReference reference, BotCallbackHandler callback)Parâmetros:
Retornos:
createConnectorClient
public CompletableFuture
Cria o cliente do conector assíncrono.
Parâmetros:
Retornos:
createConversation
public CompletableFuture
Cria uma conversa no canal especificado. 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 canais 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 callback.
Se a conversa for estabelecida com os usuários especificados, a ID do Activity#getConversation da atividade conterá a ID da nova conversa.
Parâmetros:
Retornos:
createConversation
public CompletableFuture
Cria uma conversa no canal especificado. 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 canais 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 callback.
Se a conversa for estabelecida com os usuários especificados, a ID do Activity#getConversation da atividade conterá a ID da nova conversa.
Parâmetros:
Retornos:
createOAuthAPIClient
protected CompletableFuture
Cria um cliente OAuth para o bot.
Observação: isso é protegido principalmente para que os testes de unidade possam substituir para fornecer um OAuthClient fictício.
Parâmetros:
Retornos:
deleteActivity
public CompletableFuture
Exclui uma atividade existente na conversa.
Substituições:
BotFrameworkAdapter.deleteActivity(TurnContext context, ConversationReference reference)Parâmetros:
Retornos:
deleteConversationMember
public CompletableFuture
Exclui um membro da conversa atual.
Parâmetros:
Retornos:
exchangeToken
public CompletableFuture
Executa uma operação de troca de token, como para logon único.
Parâmetros:
Retornos:
exchangeToken
public CompletableFuture
Executa uma operação de troca de token, como para logon único.
Parâmetros:
Retornos:
getAadTokens
public CompletableFuture
Recupera tokens do Azure Active Directory para recursos específicos em uma conexão configurada, usando AppCredentials personalizados.
Parâmetros:
Retornos:
getAadTokens
public CompletableFuture
Recupera tokens do Azure Active Directory para recursos específicos em uma conexão configurada.
Parâmetros:
Retornos:
getActivityMembers
public CompletableFuture> getActivityMembers(TurnContextImpl context)
Lista os membros de uma determinada atividade.
Parâmetros:
Retornos:
getActivityMembers
public CompletableFuture> getActivityMembers(TurnContextImpl context, String activityId)
Lista os membros de uma determinada atividade.
Parâmetros:
Retornos:
getConnectorClientCache
protected Map
Obtenha o cache ConnectorClient. PARA TESTE DE UNIDADE.
Retornos:
getConversationMembers
public CompletableFuture> getConversationMembers(TurnContextImpl context)
Lista os membros da conversa atual.
Parâmetros:
Retornos:
getConversations
public CompletableFuture
Lista as conversas nas quais esse bot participou para um determinado servidor de canal. O servidor de canal retorna resultados em páginas e cada página incluirá um 'continuationToken' que pode ser usado para buscar a próxima página de resultados do servidor. Essa sobrecarga pode ser chamada durante o processamento de atividade padrão, momento em que a URL de serviço do Bot e as credenciais que fazem parte do pipeline de processamento de atividade atual serão usadas.
Parâmetros:
Retornos:
getConversations
public CompletableFuture
Lista as conversas nas quais esse bot participou para um determinado servidor de canal. O servidor de canal retorna resultados em páginas e cada página incluirá um 'continuationToken' que pode ser usado para buscar a próxima página de resultados do servidor. Essa sobrecarga pode ser chamada durante o processamento de atividade padrão, momento em que a URL de serviço do Bot e as credenciais que fazem parte do pipeline de processamento de atividade atual serão usadas.
Parâmetros:
Retornos:
getConversations
public CompletableFuture
Lista as conversas nas quais esse bot participou para um determinado servidor de canal. O servidor de canal retorna resultados em páginas e cada página incluirá um 'continuationToken' que pode ser usado para buscar a próxima página de resultados do servidor.
Parâmetros:
context.activity.serviceUrl.
Retornos:
Essa sobrecarga pode ser chamada de fora do contexto de uma conversa, pois somente o ServiceUrl e as credenciais do Bot são necessários.
getConversations
public CompletableFuture
Lista as conversas nas quais esse bot participou para um determinado servidor de canal. O servidor de canal retorna resultados em páginas e cada página incluirá um 'continuationToken' que pode ser usado para buscar a próxima página de resultados do servidor. Essa sobrecarga pode ser chamada de fora do contexto de uma conversa, pois somente o ServiceUrl e as credenciais do Bot são necessários.
Parâmetros:
context.activity.serviceUrl.
Retornos:
getCredentialsCache
protected Map
Obtenha o cache do AppCredentials. Para teste de unidade.
Retornos:
getOAuthSignInLink
public CompletableFuture
Obtenha o link de entrada bruto a ser enviado ao usuário para entrar para um nome de conexão usando AppCredentials personalizados.
Parâmetros:
Retornos:
If the task completes successfully, the result contains the raw
signin link.
getOAuthSignInLink
public CompletableFuture
Obtenha o link de entrada bruto a ser enviado ao usuário para entrar em um nome de conexão usando o AppCredentials do bot.
Parâmetros:
Retornos:
If the task completes successfully, the result contains the raw
signin link.
getOAuthSignInLink
public CompletableFuture
Obtenha o link de entrada bruto a ser enviado ao usuário para entrar em um nome de conexão.
Parâmetros:
Retornos:
getOAuthSignInLink
public CompletableFuture
Obtenha o link de entrada bruto a ser enviado ao usuário para entrar em um nome de conexão.
Parâmetros:
Retornos:
getOrCreateConnectorClient
protected CompletableFuture
Retorna um ConnectorClient, de um cache ou recém-criado.
Observação: isso é protegido principalmente para permitir que testes de unidade substituam isso para fornecer um ConnectorClient fictício
Parâmetros:
Retornos:
getSignInResource
public CompletableFuture
Obtenha o link de entrada bruto a ser enviado ao usuário para entrar em um nome de conexão.
Parâmetros:
Retornos:
If the task completes successfully, the result contains the raw
signin link.
getSignInResource
public CompletableFuture
Obtenha o link de entrada bruto a ser enviado ao usuário para entrar em um nome de conexão.
Parâmetros:
Retornos:
If the task completes successfully, the result contains the raw
signin link.
getSignInResource
public CompletableFuture
Obtenha o link de entrada bruto a ser enviado ao usuário para entrar em um nome de conexão.
Parâmetros:
Retornos:
If the task completes successfully, the result contains the raw
signin link.
getTokenStatus
public CompletableFuture> getTokenStatus(TurnContext context, AppCredentials oAuthAppCredentials, String userId, String includeFilter)
Recupera o status do token para cada conexão configurada para o usuário fornecido, usando AppCredentials personalizados.
Parâmetros:
Retornos:
getTokenStatus
public CompletableFuture> getTokenStatus(TurnContext context, String userId, String includeFilter)
Recupera o status do token para cada conexão configurada para o usuário fornecido.
Parâmetros:
Retornos:
getUserToken
public CompletableFuture
Tenta recuperar o token de um usuário que está em um fluxo de logon usando AppCredentials personalizados.
Parâmetros:
Retornos:
getUserToken
public CompletableFuture
Tenta recuperar o token de um usuário que está em um fluxo de logon.
Parâmetros:
Retornos:
keyForAppCredentials
protected static String keyForAppCredentials(String appId, String scope)
Gera a chave para acessar o cache de credenciais do aplicativo.
Parâmetros:
Retornos:
keyForConnectorClient
protected static String keyForConnectorClient(String serviceUrl, String appId, String scope)
Gera a chave para acessar o cache do cliente do conector.
Parâmetros:
Retornos:
processActivity
public CompletableFuture
Cria um contexto de turno e executa o pipeline de middleware para uma atividade de entrada.
Parâmetros:
Retornos:
processActivity
public CompletableFuture
Cria um contexto de turno e executa o pipeline de middleware para uma atividade de entrada.
Parâmetros:
Retornos:
sendActivities
public CompletableFuture
Envia atividades para a conversa.
Substituições:
BotFrameworkAdapter.sendActivities(TurnContext context, List<Activity> activities)Parâmetros:
Retornos:
<xref uid="com.microsoft.bot.builder.TurnContext.onSendActivities(com.microsoft.bot.builder.SendActivitiesHandler)" data-throw-if-not-resolved="false" data-raw-source="TurnContext#onSendActivities(SendActivitiesHandler)"></xref>
signOutUser
public CompletableFuture
Desconecta o usuário com o servidor de token usando AppCredentials personalizados.
Parâmetros:
Retornos:
signOutUser
public CompletableFuture
Desconscreve o usuário com o servidor de token.
Parâmetros:
Retornos:
updateActivity
public CompletableFuture
Substitui uma atividade existente na conversa.
Substituições:
BotFrameworkAdapter.updateActivity(TurnContext context, Activity activity)Parâmetros:
Retornos:
Antes de chamar isso, defina a ID da atividade de substituição como a ID da atividade a ser substituída. onUpdateActivity(UpdateActivityHandler handler)
use
public BotFrameworkAdapter use(Middleware middleware)
Adiciona middleware ao pipeline do adaptador. O middleware é adicionado ao adaptador no momento da inicialização. Para cada turno, o adaptador chama o middleware na ordem em que você o adicionou.
Substituições:
BotFrameworkAdapter.use(Middleware middleware)Parâmetros:
Retornos: