Compartir a través de


BotFrameworkAdapter Clase

Define un adaptador para conectar un bot a un punto de conexión de servicio.

Inicializa una nueva instancia de la clase BotFrameworkAdapter.

Herencia
BotFrameworkAdapter
BotFrameworkAdapter
BotFrameworkAdapter

Constructor

BotFrameworkAdapter(settings: BotFrameworkAdapterSettings)

Parámetros

Nombre Description
settings
Requerido

La configuración para inicializar el adaptador

Comentarios

El adaptador de bot encapsula los procesos de autenticación, envía actividades a Bot Connector Service y recibe actividades de este. Cuando el bot recibe una actividad, el adaptador crea un objeto de contexto, lo pasa a la lógica de la aplicación del bot y envía las respuestas al canal del usuario. El adaptador procesa y dirige las actividades entrantes en a través de la canalización de middleware del bot a la lógica del bot y, a continuación, vuelve a salir de nuevo. Cuando las actividades entran y salen de los bots, cada fragmento de software intermedio puede inspeccionar o actuar sobre la actividad, tanto antes como después de que se ejecute la lógica del bot.

Métodos

can_process_outgoing_activity
continue_conversation

Continúa una conversación con un usuario.

y se encuentran generalmente en el parámetro MicrosoftAppId en config.py. :type bot_id: <xref:typing.str> :p aram claims_identity: la identidad de notificaciones del bot :type claims_identity: <xref:botframework.connector.auth.ClaimsIdentity> :p aram audience: :type audience: <xref:typing.str>

create_connector_client

Implementación de ConnectorClientProvider.create_connector_client.

create_conversation

Inicia una nueva conversación con un usuario. Se usa para dirigir el mensaje a un miembro de un grupo.

delete_activity

Elimina una actividad que se envió previamente a un canal. Debe tenerse en cuenta que no todos los canales admiten esta característica.

Nota

El activity_id de identifica ConversationReference la actividad que se va a eliminar.

delete_conversation_member

Elimina un miembro de la conversación actual.

exchange_token
exchange_token_from_credentials
get_aad_tokens

Recupera tokens de Azure Active Directory para determinados recursos en una conexión configurada.

de la actividad en TurnContext. :type user_id: str :p aram oauth_app_credentials: (Opcional) AppCredentials para OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

get_activity_members

Listas los miembros de una actividad determinada.

Si no se especifica el identificador de actividades actual se usará.

get_conversation_member

Recuperar un miembro de una conversación actual.

get_conversation_members

Listas los miembros de una conversación actual.

get_conversations

Listas las conversaciones en las que este bot ha participado para un servidor de canal determinado.

context.activity.serviceUrl :type service_url: str

get_oauth_sign_in_link

Obtiene el vínculo de inicio de sesión sin formato que se va a enviar al usuario para el inicio de sesión de un nombre de conexión.

get_sign_in_resource_from_user
get_sign_in_resource_from_user_and_credentials
get_token_status

Recupera el estado del token para cada conexión configurada para el usuario especificado.

En blanco se devolverá el estado del token para todas las conexiones configuradas. :type include_filter: str :p aram oauth_app_credentials: (Opcional) AppCredentials para OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

get_user_token

Intenta recuperar el token de un usuario que se encuentra en un flujo de inicio de sesión.

:p aram magic_code" (opcional) el usuario escribió código para validar :str magic_code" str :p aram oauth_app_credentials: (opcional) AppCredentials para OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

key_for_app_credentials
key_for_connector_client
parse_request

Analiza y valida la solicitud :p aram req: :return:

process_activity

Crea un contexto de turno y ejecuta la canalización de middleware para una actividad entrante.

process_activity_with_identity
process_outgoing_activity
send_activities
sign_out_user

Cierra la sesión del usuario con el servidor de tokens.

update_activity

Reemplaza una actividad que se envió previamente a un canal. Debe tenerse en cuenta que no todos los canales admiten esta característica.

can_process_outgoing_activity

can_process_outgoing_activity(activity: Activity) -> bool

Parámetros

Nombre Description
activity
Requerido

continue_conversation

Continúa una conversación con un usuario.

y se encuentran generalmente en el parámetro MicrosoftAppId en config.py. :type bot_id: <xref:typing.str> :p aram claims_identity: la identidad de notificaciones del bot :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

Nombre Description
reference
Requerido
callback
Requerido
bot_id
Valor predeterminado: None
claims_identity
Valor predeterminado: None
audience
Valor predeterminado: None

Devoluciones

Tipo Description

Tarea que representa el trabajo en cola que se va a ejecutar.

Excepciones

Tipo Description
It raises an argument null exception.

Comentarios

Esto se conoce a menudo como el flujo de mensajería proactiva de los bots, ya que permite al bot enviar mensajes de forma proactiva a una conversación o usuario que ya están en una comunicación. Esta función habilita escenarios como el envío de notificaciones o cupones a un usuario.

create_connector_client

Implementación de ConnectorClientProvider.create_connector_client.

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

Parámetros

Nombre Description
service_url
Requerido

Dirección URL del servicio

identity

La identidad de notificaciones

Valor predeterminado: None
audience
Valor predeterminado: None

Devoluciones

Tipo Description

Instancia de la clase <xref:botbuilder.core.ConnectorClient>

create_conversation

Inicia una nueva conversación con un usuario. Se usa para dirigir el mensaje a un miembro de un 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

Nombre Description
reference
Requerido

Referencia de conversación que contiene el inquilino

logic

Lógica que se va a usar para la creación de la conversación

Valor predeterminado: None
conversation_parameters

Información que se va a usar para crear la conversación

Valor predeterminado: None
channel_id
<xref:typing.str>

Identificador del canal.

Valor predeterminado: None
service_url
<xref:typing.str>

Punto de conexión de dirección URL de servicio del canal.

Valor predeterminado: None
credentials
<xref:botframework.connector.auth.AppCredentials>

Credenciales de aplicación para el bot.

Valor predeterminado: None

Devoluciones

Tipo Description

Tarea que representa el trabajo en cola que se va a ejecutar.

Excepciones

Tipo Description
It raises a generic exception error.

Comentarios

Para iniciar una conversación, el bot debe conocer la información de su cuenta y la información de la cuenta del usuario en ese canal. La mayoría de los canales solo admiten iniciar una conversación de mensaje directo (que no es de grupo). El adaptador intenta crear una nueva conversación en el canal y, a continuación, envía una actividad de actualización de conversación a través de su canalización de middleware al método de devolución de llamada. Si la conversación se establece con los usuarios especificados, el identificador de la actividad contendrá el identificador de la nueva conversación.

delete_activity

Elimina una actividad que se envió previamente a un canal. Debe tenerse en cuenta que no todos los canales admiten esta característica.

Nota

El activity_id de identifica ConversationReference la actividad que se va a eliminar.

async delete_activity(context: TurnContext, reference: ConversationReference)

Parámetros

Nombre Description
context
Requerido

Objeto de contexto para el turno

reference
Requerido

Referencia de conversación para la actividad que se va a eliminar

Devoluciones

Tipo Description

Tarea que representa el trabajo en cola que se va a ejecutar

Excepciones

Tipo Description
A exception error

delete_conversation_member

Elimina un miembro de la conversación actual.

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

Parámetros

Nombre Description
context
Requerido

Objeto de contexto para el turno

member_id
Requerido
str

Identificador del miembro que se va a quitar de la conversación

Devoluciones

Tipo Description

Tarea que representa el trabajo en cola que se va a ejecutar.</Devuelve

Excepciones

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

Nombre Description
turn_context
Requerido
connection_name
Requerido
user_id
Requerido
exchange_request
Requerido

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

Nombre Description
turn_context
Requerido
oauth_app_credentials
Requerido
connection_name
Requerido
user_id
Requerido
exchange_request
Requerido

get_aad_tokens

Recupera tokens de Azure Active Directory para determinados recursos en una conexión configurada.

de la actividad en TurnContext. :type user_id: str :p aram oauth_app_credentials: (Opcional) AppCredentials para 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

Nombre Description
context
Requerido
connection_name
Requerido
resource_urls
Requerido
user_id
Valor predeterminado: None
oauth_app_credentials
Valor predeterminado: None

Devoluciones

Tipo Description

Diccionario de direcciones URL de recursos a la clase :'botbuilder.schema.TokenResponse' correspondiente

get_activity_members

Listas los miembros de una actividad determinada.

Si no se especifica el identificador de actividades actual se usará.

async get_activity_members(context: TurnContext, activity_id: str)

Parámetros

Nombre Description
context
Requerido
activity_id
Requerido

Devoluciones

Tipo Description

Lista de miembros de la actividad

Excepciones

Tipo Description
An exception error

get_conversation_member

Recuperar un miembro de una conversación actual.

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

Parámetros

Nombre Description
context
Requerido

Objeto de contexto para el turno

member_id
Requerido
str

Identificador de miembro

Devoluciones

Tipo Description

Miembro de la conversación actual

Excepciones

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

get_conversation_members

Listas los miembros de una conversación actual.

async get_conversation_members(context: TurnContext)

Parámetros

Nombre Description
context
Requerido

Objeto de contexto para el turno

Devoluciones

Tipo Description

Lista de miembros de la conversación actual

Excepciones

Tipo Description
TypeError if missing service_url or conversation.id

get_conversations

Listas las conversaciones en las que este bot ha participado para un servidor de canal determinado.

context.activity.serviceUrl :type service_url: str

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

Parámetros

Nombre Description
continuation_token
str

Token de continuación de la página anterior de resultados

Valor predeterminado: None
service_url
Requerido
credentials
Requerido

Devoluciones

Tipo Description

Tarea que representa el trabajo en cola que se va a ejecutar

Excepciones

Tipo Description
A generic exception error

Comentarios

El servidor de canal devuelve resultados en páginas y cada página incluirá un continuationToken que se puede usar para capturar la siguiente página de resultados del servidor. Si la tarea se completa correctamente, el resultado contiene una página de los miembros de la conversación actual. Se puede llamar a esta sobrecarga desde fuera del contexto de una conversación, ya que solo se requieren las credenciales y la dirección URL del servicio del bot.

Obtiene el vínculo de inicio de sesión sin formato que se va a enviar al usuario para el inicio de sesión de un nombre de conexión.

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

Parámetros

Nombre Description
context
Requerido

Contexto para el turno actual de conversación con el usuario

connection_name
Requerido
str

Nombre de la conexión de autenticación que se va a usar

final_redirect

Dirección URL final a la que se redirigirá el flujo de OAuth.

Valor predeterminado: None
oauth_app_credentials
<xref:botframework.connector.auth.AppCredential>

(Opcional) AppCredentials para OAuth.

Valor predeterminado: None

Devoluciones

Tipo Description

Si la tarea se completa correctamente, el resultado contiene el vínculo de inicio de sesión sin formato.

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

Nombre Description
turn_context
Requerido
connection_name
Requerido
user_id
Requerido
final_redirect
Valor predeterminado: 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

Nombre Description
turn_context
Requerido
oauth_app_credentials
Requerido
connection_name
Requerido
user_id
Requerido
final_redirect
Valor predeterminado: None

get_token_status

Recupera el estado del token para cada conexión configurada para el usuario especificado.

En blanco se devolverá el estado del token para todas las conexiones configuradas. :type include_filter: str :p aram oauth_app_credentials: (Opcional) AppCredentials para 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

Nombre Description
context
Requerido
connection_name
Valor predeterminado: None
user_id
Valor predeterminado: None
include_filter
Valor predeterminado: None
oauth_app_credentials
Valor predeterminado: None

Devoluciones

Tipo Description

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

get_user_token

Intenta recuperar el token de un usuario que se encuentra en un flujo de inicio de sesión.

:p aram magic_code" (opcional) el usuario escribió código para validar :str magic_code" str :p aram oauth_app_credentials: (opcional) AppCredentials para 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

Nombre Description
context
Requerido
connection_name
Requerido
magic_code
Valor predeterminado: None
oauth_app_credentials
Valor predeterminado: None

Devoluciones

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

Respuesta del token

Excepciones

Tipo Description
An exception error

key_for_app_credentials

static key_for_app_credentials(app_id: str, scope: str)

Parámetros

Nombre Description
app_id
Requerido
scope
Requerido

key_for_connector_client

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

Parámetros

Nombre Description
service_url
Requerido
app_id
Requerido
scope
Requerido

parse_request

Analiza y valida la solicitud :p aram req: :return:

async static parse_request(req)

Parámetros

Nombre Description
req
Requerido

process_activity

Crea un contexto de turno y ejecuta la canalización de middleware para una actividad entrante.

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

Parámetros

Nombre Description
req
Requerido
<xref:typing.str>

La actividad entrante

auth_header
Requerido
<xref:typing.str>

Encabezado de autenticación HTTP de la solicitud

logic
Requerido

Lógica que se va a ejecutar al final de la canalización de middleware del adaptador.

Devoluciones

Tipo Description

Tarea que representa el trabajo en cola que se va a ejecutar.

Comentarios

Esta clase procesa una actividad recibida por el servidor web de bots. Esto incluye los mensajes enviados desde un usuario y es el método que controla lo que a menudo se conoce como flujo de mensajería reactiva de bots. Llame a este método para enviar de forma reactiva un mensaje a una conversación. Si la tarea se completa correctamente, se devuelve ; de lo contrario, se devuelve .InvokeResponse Se devuelve null.

process_activity_with_identity

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

Parámetros

Nombre Description
activity
Requerido
identity
Requerido
logic
Requerido

process_outgoing_activity

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

Parámetros

Nombre Description
turn_context
Requerido
activity
Requerido

send_activities

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

Parámetros

Nombre Description
context
Requerido
activities
Requerido

sign_out_user

Cierra la sesión del usuario con el servidor de tokens.

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

Parámetros

Nombre Description
context
Requerido

Contexto para el turno actual de conversación con el usuario

connection_name
str

Nombre de la conexión de autenticación que se va a usar

Valor predeterminado: None
user_id
str

Identificador de usuario del usuario para cerrar la sesión

Valor predeterminado: None
oauth_app_credentials
<xref:botframework.connector.auth.AppCredential>

(Opcional) AppCredentials para OAuth.

Valor predeterminado: None

update_activity

Reemplaza una actividad que se envió previamente a un canal. Debe tenerse en cuenta que no todos los canales admiten esta característica.

async update_activity(context: TurnContext, activity: Activity)

Parámetros

Nombre Description
context
Requerido

Objeto de contexto para el turno

activity
Requerido

Nueva actividad de reemplazo

Devoluciones

Tipo Description

Tarea que representa el trabajo en cola que se va a ejecutar

Excepciones

Tipo Description
A generic exception error

Comentarios

Si la actividad se envía correctamente, el resultado de la tarea contiene un ResourceResponse objeto que contiene el identificador que el canal receptor asignado a la actividad. Antes de llamar a esta función, establezca el identificador de la actividad de reemplazo en el identificador de la actividad que se va a reemplazar.