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 de Conector de Bot. 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 Middleware objetos à coleção de middleware do adaptador\u2019s. O adaptador processa e direciona as atividades de entrada por meio do pipeline de middleware do bot para a lógica do bot\u2019s e, em seguida, volta para fora novamente. O adaptador processa e direciona atividades de entrada através do pipeline de middleware de bot para a lógica do seu bot e, em seguida, recua novamente.
Resumo do campo
Modificador e tipo | Campo e descrição |
---|---|
static final java.lang.String |
CONNECTOR_CLIENT_KEY
Chave para armazenar o Cliente do Conector |
static final java.lang.String |
INVOKE_RESPONSE_KEY
Chave para armazenar a Resposta de Invocação |
static final java.lang.String |
TEAMSCONNECTOR_CLIENT_KEY
Chave para armazenar o Cliente do Conector |
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 cliente conector |
protected
java.util.concurrent.CompletableFuture<App |
buildAppCredentials(String appId, String scope)
Cria um |
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 aplicativo |
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 do Conector |
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 de 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 Aplicativo |
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 para obter um nome de conexão, usando credenciais de aplicativo personalizadas |
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 para obter um nome de conexão, usando as Credenciais de Aplicativo |
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 para obter 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 para obter um nome de conexão. |
protected
java.util.concurrent.CompletableFuture<Connector |
getOrCreateConnectorClient(String serviceUrl, AppCredentials usingAppCredentials)
Retorna um Cliente 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 para obter 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 para obter 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 para obter 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 aplicativo |
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 determinado. |
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 aplicativo |
java.util.concurrent.CompletableFuture<Token |
getUserToken(TurnContext context, String connectionName, String magicCode)
Tenta recuperar o token para 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)
Desconscreve o usuário com o servidor de token usando credenciais de aplicativo personalizadas |
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 BotFrameworkAdapter classe usando um provedor de credenciais.
Parameters:
BotFrameworkAdapter
public BotFrameworkAdapter(CredentialProvider withCredentialProvider)
Inicializa uma nova instância da BotFrameworkAdapter classe usando um provedor de credenciais.
Parameters:
BotFrameworkAdapter
public BotFrameworkAdapter(CredentialProvider withCredentialProvider, AuthenticationConfiguration withAuthConfig, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)
Inicializa uma nova instância da BotFrameworkAdapter classe usando um provedor de credenciais.
Parameters:
BotFrameworkAdapter
public BotFrameworkAdapter(CredentialProvider withCredentialProvider, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)
Inicializa uma nova instância da BotFrameworkAdapter classe usando um provedor de credenciais.
Parameters:
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.
Parameters:
buildAppCredentials
protected CompletableFuture
Cria um objeto AppCredentials para o appId e o escopo especificados.
Parameters:
Returns:
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.
Overrides:
BotFrameworkAdapter.continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, BotCallbackHandler callback)Parameters:
Returns:
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.
Overrides:
BotFrameworkAdapter.continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, String audience, BotCallbackHandler callback)Parameters:
Returns:
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)
Overrides:
BotFrameworkAdapter.continueConversation(String botAppId, ConversationReference reference, BotCallbackHandler callback)Parameters:
Returns:
createConnectorClient
public CompletableFuture
Cria o cliente do conector assíncrono.
Parameters:
Returns:
createConversation
public CompletableFuture
Cria uma conversa no canal especificado. Para iniciar uma conversa, seu 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 de mensagem direta (não em grupo).
O adaptador tenta criar uma nova conversa no canal e envia uma conversationUpdate
atividade por meio de seu pipeline de middleware para o callback
método .
Se a conversa for estabelecida com os usuários especificados, a ID da atividade Activity#getConversation conterá a ID da nova conversa.
Parameters:
Returns:
createConversation
public CompletableFuture
Cria uma conversa no canal especificado. Para iniciar uma conversa, seu 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 de mensagem direta (não em grupo).
O adaptador tenta criar uma nova conversa no canal e envia uma conversationUpdate
atividade por meio de seu pipeline de middleware para o callback
método .
Se a conversa for estabelecida com os usuários especificados, a ID da atividade Activity#getConversation conterá a ID da nova conversa.
Parameters:
Returns:
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.
Parameters:
Returns:
deleteActivity
public CompletableFuture
Exclui uma atividade existente na conversa.
Overrides:
BotFrameworkAdapter.deleteActivity(TurnContext context, ConversationReference reference)Parameters:
Returns:
deleteConversationMember
public CompletableFuture
Exclui um membro da conversa atual.
Parameters:
Returns:
exchangeToken
public CompletableFuture
Executa uma operação de troca de token, como para logon único.
Parameters:
Returns:
exchangeToken
public CompletableFuture
Executa uma operação de troca de token, como para logon único.
Parameters:
Returns:
getAadTokens
public CompletableFuture<>
Recupera tokens do Azure Active Directory para recursos específicos em uma conexão configurada, usando AppCredentials personalizados.
Parameters:
Returns:
getAadTokens
public CompletableFuture<>
Recupera tokens do Azure Active Directory para recursos específicos em uma conexão configurada.
Parameters:
Returns:
getActivityMembers
public CompletableFuture<>
Lista os membros de uma determinada atividade.
Parameters:
Returns:
getActivityMembers
public CompletableFuture<>
Lista os membros de uma determinada atividade.
Parameters:
Returns:
getConnectorClientCache
protected Map
Obtenha o cache ConnectorClient. PARA TESTE DE UNIDADE.
Returns:
getConversationMembers
public CompletableFuture<>
Lista os membros da conversa atual.
Parameters:
Returns:
getConversations
public CompletableFuture
Lista as Conversas nas quais esse bot participou de 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 atividades atual serão usadas.
Parameters:
Returns:
getConversations
public CompletableFuture
Lista as Conversas nas quais esse bot participou de 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 atividades atual serão usadas.
Parameters:
Returns:
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.
Parameters:
context.activity.serviceUrl
.
Returns:
Essa sobrecarga pode ser chamada de fora do contexto de uma conversa, pois apenas 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 apenas o ServiceUrl e as credenciais do Bot são necessários.
Parameters:
context.activity.serviceUrl
.
Returns:
getCredentialsCache
protected Map
Obtenha o cache appCredentials. Para teste de unidade.
Returns:
getOAuthSignInLink
public CompletableFuture
Obtenha o link de entrada bruto a ser enviado ao usuário para entrar em um nome de conexão, usando AppCredentials personalizado.
Parameters:
Returns:
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 AppCredentials do bot.
Parameters:
Returns:
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 para obter um nome de conexão.
Parameters:
Returns:
getOAuthSignInLink
public CompletableFuture
Obtenha o link de entrada bruto a ser enviado ao usuário para entrar para obter um nome de conexão.
Parameters:
Returns:
getOrCreateConnectorClient
protected CompletableFuture
Retorna um ConnectorClient, seja de um cache ou recém-criado.
Observação: isso é protegido principalmente para permitir que os testes de unidade substituam isso para fornecer um ConnectorClient fictício
Parameters:
Returns:
getSignInResource
public CompletableFuture
Obtenha o link de entrada bruto a ser enviado ao usuário para entrar para obter um nome de conexão.
Parameters:
Returns:
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 para obter um nome de conexão.
Parameters:
Returns:
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 para obter um nome de conexão.
Parameters:
Returns:
If the task completes successfully, the result contains the raw
signin link.
getTokenStatus
public CompletableFuture<>
Recupera o status do token para cada conexão configurada para o usuário fornecido, usando AppCredentials personalizado.
Parameters:
Returns:
getTokenStatus
public CompletableFuture<>
Recupera o status do token para cada conexão configurada para o usuário determinado.
Parameters:
Returns:
getUserToken
public CompletableFuture
Tenta recuperar o token de um usuário que está em um fluxo de logon, usando AppCredentials personalizado.
Parameters:
Returns:
getUserToken
public CompletableFuture
Tenta recuperar o token para um usuário que está em um fluxo de logon.
Parameters:
Returns:
keyForAppCredentials
protected static String keyForAppCredentials(String appId, String scope)
Gera a chave para acessar o cache de credenciais do aplicativo.
Parameters:
Returns:
keyForConnectorClient
protected static String keyForConnectorClient(String serviceUrl, String appId, String scope)
Gera a chave para acessar o cache do cliente do conector.
Parameters:
Returns:
processActivity
public CompletableFuture
Cria um contexto de turno e executa o pipeline de middleware para uma atividade de entrada.
Parameters:
Returns:
processActivity
public CompletableFuture
Cria um contexto de turno e executa o pipeline de middleware para uma atividade de entrada.
Parameters:
Returns:
sendActivities
public CompletableFuture
Envia atividades para a conversa.
Overrides:
BotFrameworkAdapter.sendActivities(TurnContext context, List<Activity> activities)Parameters:
Returns:
<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
Desconscreve o usuário com o servidor de token usando AppCredentials personalizado.
Parameters:
Returns:
signOutUser
public CompletableFuture
Desconscreve o usuário com o servidor de token.
Parameters:
Returns:
updateActivity
public CompletableFuture
Substitui uma atividade existente na conversa.
Overrides:
BotFrameworkAdapter.updateActivity(TurnContext context, Activity activity)Parameters:
Returns:
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.
Overrides:
BotFrameworkAdapter.use(Middleware middleware)Parameters:
Returns: