Compartilhar via


BotFrameworkAdapter Classe

Define um adaptador para conectar um bot a um ponto de extremidade de serviço.

Inicializa uma nova instância da classe BotFrameworkAdapter.

Herança
BotFrameworkAdapter
BotFrameworkAdapter
BotFrameworkAdapter

Construtor

BotFrameworkAdapter(settings: BotFrameworkAdapterSettings)

Parâmetros

Nome Description
settings
Obrigatório

As configurações para inicializar o adaptador

Comentários

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. O adaptador processa e direciona as atividades de entrada por meio do pipeline de middleware do bot para a lógica do bot e, em seguida, recua 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.

Métodos

can_process_outgoing_activity
continue_conversation

Continua uma conversa com um usuário.

e geralmente é encontrado no parâmetro MicrosoftAppId em config.py. :type bot_id: <xref:typing.str> :p aram claims_identity: o bot declara identidade :type claims_identity: <xref:botframework.connector.auth.ClaimsIdentity> :p aram audience: :type audience: <xref:typing.str>

create_connector_client

Implementação de ConnectorClientProvider.create_connector_client.

create_conversation

Inicia uma nova conversa com um usuário. Usado para direcionar a mensagem para um membro de um grupo.

delete_activity

Exclui uma atividade que foi enviada anteriormente para um canal. Deve-se observar que nem todos os canais dão suporte a esse recurso.

Observação

O activity_id do ConversationReference identifica a atividade a ser excluída.

delete_conversation_member

Exclui um membro da conversa atual.

exchange_token
exchange_token_from_credentials
get_aad_tokens

Recupera tokens do Azure Active Directory para recursos específicos em uma conexão configurada.

da Atividade no TurnContext. :type user_id: str :p aram oauth_app_credentials: (Opcional) AppCredentials for OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

get_activity_members

Listas os membros de uma determinada atividade.

Se não for especificado, a ID das atividades atuais será usada.

get_conversation_member

Recuperar um membro de uma conversa atual.

get_conversation_members

Listas os membros de uma conversa atual.

get_conversations

Listas conversas nas quais esse bot participou de um determinado servidor de canal.

context.activity.serviceUrl :type service_url: str

get_oauth_sign_in_link

Obtém o link de entrada bruto a ser enviado ao usuário para entrar para um nome de conexão.

get_sign_in_resource_from_user
get_sign_in_resource_from_user_and_credentials
get_token_status

Recupera o token status para cada conexão configurada para o usuário determinado.

Em branco retornará status de token para todas as conexões configuradas. :type include_filter: str :p aram oauth_app_credentials: (Opcional) AppCredentials for OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

get_user_token

Tenta recuperar o token de um usuário que está em um fluxo de logon.

:p aram magic_code" (Opcional) o usuário inseriu o código para validar :str magic_code" str :p aram oauth_app_credentials: (Opcional) AppCredentials for OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

key_for_app_credentials
key_for_connector_client
parse_request

Analisa e valida a solicitação :p aram req: :return:

process_activity

Cria um contexto de turno e executa o pipeline de middleware para uma atividade de entrada.

process_activity_with_identity
process_outgoing_activity
send_activities
sign_out_user

Desconscreve o usuário com o servidor de token.

update_activity

Substitui uma atividade que foi enviada anteriormente para um canal. Deve-se observar que nem todos os canais dão suporte a esse recurso.

can_process_outgoing_activity

can_process_outgoing_activity(activity: Activity) -> bool

Parâmetros

Nome Description
activity
Obrigatório

continue_conversation

Continua uma conversa com um usuário.

e geralmente é encontrado no parâmetro MicrosoftAppId em config.py. :type bot_id: <xref:typing.str> :p aram claims_identity: o bot declara identidade :type claims_identity: <xref:botframework.connector.auth.ClaimsIdentity> :p aram audience: :type audience: <xref:typing.str>

async continue_conversation(reference: ConversationReference, callback: Callable, bot_id: str = None, claims_identity: ClaimsIdentity = None, audience: str = None)

Parâmetros

Nome Description
reference
Obrigatório
callback
Obrigatório
bot_id
valor padrão: None
claims_identity
valor padrão: None
audience
valor padrão: None

Retornos

Tipo Description

Uma tarefa que representa o trabalho enfileirado para execução.

Exceções

Tipo Description
It raises an argument null exception.

Comentários

Isso geralmente é chamado de fluxo proativo de mensagens de bots, pois permite que o bot envie mensagens proativamente para uma conversa ou usuário que já esteja em uma comunicação. Cenários como enviar notificações ou cupons para um usuário são habilitados por essa função.

create_connector_client

Implementação de ConnectorClientProvider.create_connector_client.

async create_connector_client(service_url: str, identity: ClaimsIdentity = None, audience: str = None) -> ConnectorClient

Parâmetros

Nome Description
service_url
Obrigatório

A URL do serviço

identity

A identidade das declarações

valor padrão: None
audience
valor padrão: None

Retornos

Tipo Description

Uma instância da classe <xref:botbuilder.core.ConnectorClient>

create_conversation

Inicia uma nova conversa com um usuário. Usado para direcionar a mensagem para um membro de um grupo.

async create_conversation(reference: ConversationReference, logic: Callable[[TurnContext], Awaitable] = None, conversation_parameters: ConversationParameters = None, channel_id: str = None, service_url: str = None, credentials: AppCredentials = None)

Parâmetros

Nome Description
reference
Obrigatório

A referência de conversa que contém o locatário

logic

A lógica a ser usada para a criação da conversa

valor padrão: None
conversation_parameters

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

valor padrão: None
channel_id
<xref:typing.str>

A ID do canal.

valor padrão: None
service_url
<xref:typing.str>

O ponto de extremidade da URL de serviço do canal.

valor padrão: None
credentials
<xref:botframework.connector.auth.AppCredentials>

As credenciais do aplicativo para o bot.

valor padrão: None

Retornos

Tipo Description

Uma tarefa que representa o trabalho enfileirado para execução.

Exceções

Tipo Description
It raises a generic exception error.

Comentários

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 atividade de atualização de conversa por meio de seu pipeline de middleware para o método de retorno de chamada. Se a conversa for estabelecida com os usuários especificados, a ID da atividade conterá a ID da nova conversa.

delete_activity

Exclui uma atividade que foi enviada anteriormente para um canal. Deve-se observar que nem todos os canais dão suporte a esse recurso.

Observação

O activity_id do ConversationReference identifica a atividade a ser excluída.

async delete_activity(context: TurnContext, reference: ConversationReference)

Parâmetros

Nome Description
context
Obrigatório

O objeto de contexto para a curva

reference
Obrigatório

Referência de conversa para a atividade a ser excluída

Retornos

Tipo Description

Uma tarefa que representa o trabalho enfileirado para execução

Exceções

Tipo Description
A exception error

delete_conversation_member

Exclui um membro da conversa atual.

async delete_conversation_member(context: TurnContext, member_id: str) -> None

Parâmetros

Nome Description
context
Obrigatório

O objeto de contexto para a curva

member_id
Obrigatório
str

A ID do membro a ser removido da conversa

Retornos

Tipo Description

Uma tarefa que representa o trabalho enfileirado para execução.</Retorna

Exceções

Tipo Description
A exception error

exchange_token

async exchange_token(turn_context: TurnContext, connection_name: str, user_id: str, exchange_request: TokenExchangeRequest) -> TokenResponse

Parâmetros

Nome Description
turn_context
Obrigatório
connection_name
Obrigatório
user_id
Obrigatório
exchange_request
Obrigatório

exchange_token_from_credentials

async exchange_token_from_credentials(turn_context: TurnContext, oauth_app_credentials: AppCredentials, connection_name: str, user_id: str, exchange_request: TokenExchangeRequest) -> TokenResponse

Parâmetros

Nome Description
turn_context
Obrigatório
oauth_app_credentials
Obrigatório
connection_name
Obrigatório
user_id
Obrigatório
exchange_request
Obrigatório

get_aad_tokens

Recupera tokens do Azure Active Directory para recursos específicos em uma conexão configurada.

da Atividade no TurnContext. :type user_id: str :p aram oauth_app_credentials: (Opcional) AppCredentials for OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

async get_aad_tokens(context: TurnContext, connection_name: str, resource_urls: List[str], user_id: str = None, oauth_app_credentials: AppCredentials = None) -> Dict[str, TokenResponse]

Parâmetros

Nome Description
context
Obrigatório
connection_name
Obrigatório
resource_urls
Obrigatório
user_id
valor padrão: None
oauth_app_credentials
valor padrão: None

Retornos

Tipo Description

Dicionário de URLs de recurso para o correspondente :class:'botbuilder.schema.TokenResponse'

get_activity_members

Listas os membros de uma determinada atividade.

Se não for especificado, a ID das atividades atuais será usada.

async get_activity_members(context: TurnContext, activity_id: str)

Parâmetros

Nome Description
context
Obrigatório
activity_id
Obrigatório

Retornos

Tipo Description

Lista de membros da atividade

Exceções

Tipo Description
An exception error

get_conversation_member

Recuperar um membro de uma conversa atual.

async get_conversation_member(context: TurnContext, member_id: str) -> ChannelAccount

Parâmetros

Nome Description
context
Obrigatório

O objeto de contexto para a curva

member_id
Obrigatório
str

A ID do membro

Retornos

Tipo Description

Um membro da conversa atual

Exceções

Tipo Description
<xref:A TypeError if missing member_id>, <xref:service_url>, <xref:or conversation.id>

get_conversation_members

Listas os membros de uma conversa atual.

async get_conversation_members(context: TurnContext)

Parâmetros

Nome Description
context
Obrigatório

O objeto de contexto para a curva

Retornos

Tipo Description

Lista de membros da conversa atual

Exceções

Tipo Description
TypeError if missing service_url or conversation.id

get_conversations

Listas conversas nas quais esse bot participou de um determinado servidor de canal.

context.activity.serviceUrl :type service_url: str

async get_conversations(service_url: str, credentials: AppCredentials, continuation_token: str = None)

Parâmetros

Nome Description
continuation_token
str

O token de continuação da página anterior de resultados

valor padrão: None
service_url
Obrigatório
credentials
Obrigatório

Retornos

Tipo Description

Uma tarefa que representa o trabalho enfileirado para execução

Exceções

Tipo Description
A generic exception error

Comentários

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. Se a tarefa for concluída com êxito, o resultado conterá uma página dos membros da conversa atual. Essa sobrecarga pode ser chamada de fora do contexto de uma conversa, pois apenas a URL de serviço e as credenciais do bot são necessárias.

Obtém o link de entrada bruto a ser enviado ao usuário para entrar para um nome de conexão.

async get_oauth_sign_in_link(context: TurnContext, connection_name: str, final_redirect: str = None, oauth_app_credentials: AppCredentials = None) -> str

Parâmetros

Nome Description
context
Obrigatório

Contexto para a virada de conversa atual com o usuário

connection_name
Obrigatório
str

Nome da conexão de autenticação a ser usada

final_redirect

A URL final para a qual o fluxo OAuth será redirecionada.

valor padrão: None
oauth_app_credentials
<xref:botframework.connector.auth.AppCredential>

(Opcional) AppCredentials para OAuth.

valor padrão: None

Retornos

Tipo Description

Se a tarefa for concluída com êxito, o resultado conterá o link de entrada bruto

get_sign_in_resource_from_user

async get_sign_in_resource_from_user(turn_context: TurnContext, connection_name: str, user_id: str, final_redirect: str = None) -> SignInUrlResponse

Parâmetros

Nome Description
turn_context
Obrigatório
connection_name
Obrigatório
user_id
Obrigatório
final_redirect
valor padrão: None

get_sign_in_resource_from_user_and_credentials

async get_sign_in_resource_from_user_and_credentials(turn_context: TurnContext, oauth_app_credentials: AppCredentials, connection_name: str, user_id: str, final_redirect: str = None) -> SignInUrlResponse

Parâmetros

Nome Description
turn_context
Obrigatório
oauth_app_credentials
Obrigatório
connection_name
Obrigatório
user_id
Obrigatório
final_redirect
valor padrão: None

get_token_status

Recupera o token status para cada conexão configurada para o usuário determinado.

Em branco retornará status de token para todas as conexões configuradas. :type include_filter: str :p aram oauth_app_credentials: (Opcional) AppCredentials for OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

async get_token_status(context: TurnContext, connection_name: str = None, user_id: str = None, include_filter: str = None, oauth_app_credentials: AppCredentials = None) -> List[TokenStatus]

Parâmetros

Nome Description
context
Obrigatório
connection_name
valor padrão: None
user_id
valor padrão: None
include_filter
valor padrão: None
oauth_app_credentials
valor padrão: None

Retornos

Tipo Description

Matriz de <xref:botframework.connector.token_api.modelsTokenStatus>

get_user_token

Tenta recuperar o token de um usuário que está em um fluxo de logon.

:p aram magic_code" (Opcional) o usuário inseriu o código para validar :str magic_code" str :p aram oauth_app_credentials: (Opcional) AppCredentials for OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

async get_user_token(context: TurnContext, connection_name: str, magic_code: str = None, oauth_app_credentials: AppCredentials = None) -> TokenResponse

Parâmetros

Nome Description
context
Obrigatório
connection_name
Obrigatório
magic_code
valor padrão: None
oauth_app_credentials
valor padrão: None

Retornos

Tipo Description
:<xref:class>:’TokenResponse`

Resposta de token

Exceções

Tipo Description
An exception error

key_for_app_credentials

static key_for_app_credentials(app_id: str, scope: str)

Parâmetros

Nome Description
app_id
Obrigatório
scope
Obrigatório

key_for_connector_client

static key_for_connector_client(service_url: str, app_id: str, scope: str)

Parâmetros

Nome Description
service_url
Obrigatório
app_id
Obrigatório
scope
Obrigatório

parse_request

Analisa e valida a solicitação :p aram req: :return:

async static parse_request(req)

Parâmetros

Nome Description
req
Obrigatório

process_activity

Cria um contexto de turno e executa o pipeline de middleware para uma atividade de entrada.

async process_activity(req, auth_header: str, logic: Callable)

Parâmetros

Nome Description
req
Obrigatório
<xref:typing.str>

A atividade de entrada

auth_header
Obrigatório
<xref:typing.str>

O cabeçalho de autenticação HTTP da solicitação

logic
Obrigatório

A lógica a ser executada no final do pipeline de middleware do adaptador.

Retornos

Tipo Description

Uma tarefa que representa o trabalho enfileirado para execução.

Comentários

Essa classe processa uma atividade recebida pelo servidor Web de bots. Isso inclui todas as mensagens enviadas de um usuário e é o método que conduz o que geralmente é chamado de fluxo de mensagens reativas de bots. Chame esse método para enviar uma mensagem novamente para uma conversa. Se a tarefa for concluída com êxito, um InvokeResponse será retornado; caso contrário, . nulo é retornado.

process_activity_with_identity

async process_activity_with_identity(activity: Activity, identity: ClaimsIdentity, logic: Callable)

Parâmetros

Nome Description
activity
Obrigatório
identity
Obrigatório
logic
Obrigatório

process_outgoing_activity

async process_outgoing_activity(turn_context: TurnContext, activity: Activity) -> ResourceResponse

Parâmetros

Nome Description
turn_context
Obrigatório
activity
Obrigatório

send_activities

async send_activities(context: TurnContext, activities: List[Activity]) -> List[ResourceResponse]

Parâmetros

Nome Description
context
Obrigatório
activities
Obrigatório

sign_out_user

Desconscreve o usuário com o servidor de token.

async sign_out_user(context: TurnContext, connection_name: str = None, user_id: str = None, oauth_app_credentials: AppCredentials = None)

Parâmetros

Nome Description
context
Obrigatório

Contexto para a virada de conversa atual com o usuário

connection_name
str

Nome da conexão de autenticação a ser usada

valor padrão: None
user_id
str

ID de usuário do usuário para sair

valor padrão: None
oauth_app_credentials
<xref:botframework.connector.auth.AppCredential>

(Opcional) AppCredentials para OAuth.

valor padrão: None

update_activity

Substitui uma atividade que foi enviada anteriormente para um canal. Deve-se observar que nem todos os canais dão suporte a esse recurso.

async update_activity(context: TurnContext, activity: Activity)

Parâmetros

Nome Description
context
Obrigatório

O objeto de contexto para a curva

activity
Obrigatório

Nova atividade de substituição

Retornos

Tipo Description

Uma tarefa que representa o trabalho enfileirado para execução

Exceções

Tipo Description
A generic exception error

Comentários

Se a atividade for enviada com êxito, o resultado da tarefa conterá um ResourceResponse objeto que contém a ID que o canal de recebimento atribuiu à atividade. Antes de chamar essa função, defina a ID da atividade de substituição como a ID da atividade a ser substituída.