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
-
BotFrameworkAdapterBotFrameworkAdapterBotFrameworkAdapter
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
|
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
|
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
|
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.
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.
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
|
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
|
Nombre de la conexión de autenticación que se va a usar Valor predeterminado: None
|
user_id
|
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.