BotFrameworkAdapter Classe

Definisce un adattatore per connettere un bot a un endpoint di servizio.

Inizializza una nuova istanza della classe BotFrameworkAdapter.

Costruttore

BotFrameworkAdapter(settings: BotFrameworkAdapterSettings)

Parametri

Nome Descrizione
settings
Necessario

Impostazioni per inizializzare l'adapter

Commenti

L'adapter bot incapsula i processi di autenticazione e invia attività a e riceve attività dal servizio Bot Connector. Quando il bot riceve un'attività, l'adapter crea un oggetto contesto, lo passa alla logica dell'applicazione del bot e invia le risposte al canale dell'utente. L'adapter elabora e indirizza le attività in ingresso tramite la pipeline del middleware del bot alla logica del bot e quindi torna indietro. Man mano che ogni attività scorre all'interno e all'esterno del bot, ogni parte del middleware può esaminare o agire sull'attività, sia prima che dopo l'esecuzione della logica del bot.

Metodi

can_process_outgoing_activity
continue_conversation

Continua una conversazione con un utente.

e si trova in genere nel parametro MicrosoftAppId in config.py. :type bot_id: <xref:typing.str> :p aram claims_identity: l'identità delle attestazioni bot :type claims_identity: <xref:botframework.connector.auth.ClaimsIdentity> :p aram audience: :type audience: <xref:typing.str>

create_connector_client

Implementazione di ConnectorClientProvider.create_connector_client.

create_conversation

Avvia una nuova conversazione con un utente. Utilizzato per indirizzare il messaggio a un membro di un gruppo.

delete_activity

Elimina un'attività precedentemente inviata a un canale. Si noti che non tutti i canali supportano questa funzionalità.

Nota

Il activity_id dell'ConversationReference identifica l'attività da eliminare.

delete_conversation_member

Elimina un membro dalla conversazione corrente.

exchange_token
exchange_token_from_credentials
get_aad_tokens

Recupera i token di Azure Active Directory per determinate risorse in una connessione configurata.

dall'attività in TurnContext. :type user_id: str :p aram oauth_app_credentials: (facoltativo) AppCredentials per OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

get_activity_members

Elenca i membri di una determinata attività.

Se non viene specificato l'ID attività corrente, verrà usato.

get_conversation_member

Recuperare un membro di una conversazione corrente.

get_conversation_members

Elenca i membri di una conversazione corrente.

get_conversations

Elenca le conversazioni in cui questo bot ha partecipato per un determinato server di canale.

context.activity.serviceUrl :type service_url: str

get_oauth_sign_in_link

Ottiene il collegamento di accesso non elaborato da inviare all'utente per l'accesso per un nome di connessione.

get_sign_in_resource_from_user
get_sign_in_resource_from_user_and_credentials
get_token_status

Recupera lo stato del token per ogni connessione configurata per l'utente specificato.

Blank restituirà lo stato del token per tutte le connessioni configurate. :type include_filter: str :p aram oauth_app_credentials: (facoltativo) AppCredentials per OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

get_user_token

Tenta di recuperare il token per un utente che si trova in un flusso di accesso.

:p aram magic_code" (facoltativo) utente immesso codice per convalidare :str magic_code" str :p aram oauth_app_credentials: (facoltativo) AppCredentials per OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

key_for_app_credentials
key_for_connector_client
parse_request

Analizza e convalida la richiesta :p aram req: :return:

process_activity

Crea un contesto di turno ed esegue la pipeline middleware per un'attività in ingresso.

process_activity_with_identity
process_outgoing_activity
send_activities
sign_out_user

Disconnette l'utente con il server token.

update_activity

Sostituisce un'attività precedentemente inviata a un canale. Si noti che non tutti i canali supportano questa funzionalità.

can_process_outgoing_activity

can_process_outgoing_activity(activity: Activity) -> bool

Parametri

Nome Descrizione
activity
Necessario

continue_conversation

Continua una conversazione con un utente.

e si trova in genere nel parametro MicrosoftAppId in config.py. :type bot_id: <xref:typing.str> :p aram claims_identity: l'identità delle attestazioni 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)

Parametri

Nome Descrizione
reference
Necessario
callback
Necessario
bot_id
Valore predefinito: None
claims_identity
Valore predefinito: None
audience
Valore predefinito: None

Restituisce

Tipo Descrizione

Attività che rappresenta il lavoro in coda da eseguire.

Eccezioni

Tipo Descrizione
It raises an argument null exception.

Commenti

Questo viene spesso definito bot flusso di messaggistica proattiva perché consente al bot di inviare in modo proattivo messaggi a una conversazione o a un utente già in una comunicazione. Gli scenari, ad esempio l'invio di notifiche o coupon a un utente, sono abilitati da questa funzione.

create_connector_client

Implementazione di ConnectorClientProvider.create_connector_client.

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

Parametri

Nome Descrizione
service_url
Necessario

URL del servizio

identity

Identità delle attestazioni

Valore predefinito: None
audience
Valore predefinito: None

Restituisce

Tipo Descrizione

Istanza della classe <xref:botbuilder.core.ConnectorClient>

create_conversation

Avvia una nuova conversazione con un utente. Utilizzato per indirizzare il messaggio a un membro di un gruppo.

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)

Parametri

Nome Descrizione
reference
Necessario

Riferimento di conversazione che contiene il tenant

logic

Logica da usare per la creazione della conversazione

Valore predefinito: None
conversation_parameters

Informazioni da usare per creare la conversazione

Valore predefinito: None
channel_id
<xref:typing.str>

ID del canale.

Valore predefinito: None
service_url
<xref:typing.str>

Endpoint dell'URL del servizio del canale.

Valore predefinito: None
credentials
<xref:botframework.connector.auth.AppCredentials>

Credenziali dell'applicazione per il bot.

Valore predefinito: None

Restituisce

Tipo Descrizione

Attività che rappresenta il lavoro in coda da eseguire.

Eccezioni

Tipo Descrizione
It raises a generic exception error.

Commenti

Per avviare una conversazione, il bot deve conoscere le informazioni sull'account e le informazioni sull'account dell'utente su tale canale. La maggior parte dei canali supporta solo l'avvio di una conversazione diretta (non di gruppo). L'adapter tenta di creare una nuova conversazione sul canale e quindi invia un'attività di aggiornamento della conversazione tramite la pipeline middleware al metodo di callback. Se la conversazione viene stabilita con gli utenti specificati, l'ID dell'attività conterrà l'ID della nuova conversazione.

delete_activity

Elimina un'attività precedentemente inviata a un canale. Si noti che non tutti i canali supportano questa funzionalità.

Nota

Il activity_id dell'ConversationReference identifica l'attività da eliminare.

async delete_activity(context: TurnContext, reference: ConversationReference)

Parametri

Nome Descrizione
context
Necessario

Oggetto contesto per il turno

reference
Necessario

Informazioni di riferimento sulla conversazione per l'attività da eliminare

Restituisce

Tipo Descrizione

Attività che rappresenta il lavoro in coda da eseguire

Eccezioni

Tipo Descrizione
A exception error

delete_conversation_member

Elimina un membro dalla conversazione corrente.

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

Parametri

Nome Descrizione
context
Necessario

Oggetto contesto per il turno

member_id
Necessario
str

ID del membro da rimuovere dalla conversazione

Restituisce

Tipo Descrizione

Attività che rappresenta il lavoro in coda da eseguire.</returns

Eccezioni

Tipo Descrizione
A exception error

exchange_token

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

Parametri

Nome Descrizione
turn_context
Necessario
connection_name
Necessario
user_id
Necessario
exchange_request
Necessario

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

Parametri

Nome Descrizione
turn_context
Necessario
oauth_app_credentials
Necessario
connection_name
Necessario
user_id
Necessario
exchange_request
Necessario

get_aad_tokens

Recupera i token di Azure Active Directory per determinate risorse in una connessione configurata.

dall'attività in TurnContext. :type user_id: str :p aram oauth_app_credentials: (facoltativo) AppCredentials per 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]

Parametri

Nome Descrizione
context
Necessario
connection_name
Necessario
resource_urls
Necessario
user_id
Valore predefinito: None
oauth_app_credentials
Valore predefinito: None

Restituisce

Tipo Descrizione

Dizionario degli URL delle risorse corrispondenti a :class:'botbuilder.schema.TokenResponse'

get_activity_members

Elenca i membri di una determinata attività.

Se non viene specificato l'ID attività corrente, verrà usato.

async get_activity_members(context: TurnContext, activity_id: str)

Parametri

Nome Descrizione
context
Necessario
activity_id
Necessario

Restituisce

Tipo Descrizione

Elenco dei membri dell'attività

Eccezioni

Tipo Descrizione
An exception error

get_conversation_member

Recuperare un membro di una conversazione corrente.

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

Parametri

Nome Descrizione
context
Necessario

Oggetto contesto per il turno

member_id
Necessario
str

ID membro

Restituisce

Tipo Descrizione

Membro della conversazione corrente

Eccezioni

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

get_conversation_members

Elenca i membri di una conversazione corrente.

async get_conversation_members(context: TurnContext)

Parametri

Nome Descrizione
context
Necessario

Oggetto contesto per il turno

Restituisce

Tipo Descrizione

Elenco dei membri della conversazione corrente

Eccezioni

Tipo Descrizione
TypeError if missing service_url or conversation.id

get_conversations

Elenca le conversazioni in cui questo bot ha partecipato per un determinato server di canale.

context.activity.serviceUrl :type service_url: str

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

Parametri

Nome Descrizione
continuation_token
str

Token di continuazione della pagina precedente dei risultati

Valore predefinito: None
service_url
Necessario
credentials
Necessario

Restituisce

Tipo Descrizione

Attività che rappresenta il lavoro in coda da eseguire

Eccezioni

Tipo Descrizione
A generic exception error

Commenti

Il server di canale restituisce i risultati nelle pagine e ogni pagina includerà una continuationToken che può essere usata per recuperare la pagina successiva dei risultati dal server. Se l'attività viene completata correttamente, il risultato contiene una pagina dei membri della conversazione corrente. Questo overload può essere chiamato dall'esterno del contesto di una conversazione, perché sono necessarie solo l'URL e le credenziali del servizio del bot.

Ottiene il collegamento di accesso non elaborato da inviare all'utente per l'accesso per un nome di connessione.

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

Parametri

Nome Descrizione
context
Necessario

Contesto per il turno corrente della conversazione con l'utente

connection_name
Necessario
str

Nome della connessione di autenticazione da usare

final_redirect

URL finale a cui verrà reindirizzato il flusso OAuth.

Valore predefinito: None
oauth_app_credentials
<xref:botframework.connector.auth.AppCredential>

(Facoltativo) AppCredentials per OAuth.

Valore predefinito: None

Restituisce

Tipo Descrizione

Se l'attività viene completata correttamente, il risultato contiene il collegamento di accesso non elaborato

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

Parametri

Nome Descrizione
turn_context
Necessario
connection_name
Necessario
user_id
Necessario
final_redirect
Valore predefinito: 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

Parametri

Nome Descrizione
turn_context
Necessario
oauth_app_credentials
Necessario
connection_name
Necessario
user_id
Necessario
final_redirect
Valore predefinito: None

get_token_status

Recupera lo stato del token per ogni connessione configurata per l'utente specificato.

Blank restituirà lo stato del token per tutte le connessioni configurate. :type include_filter: str :p aram oauth_app_credentials: (facoltativo) AppCredentials per 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]

Parametri

Nome Descrizione
context
Necessario
connection_name
Valore predefinito: None
user_id
Valore predefinito: None
include_filter
Valore predefinito: None
oauth_app_credentials
Valore predefinito: None

Restituisce

Tipo Descrizione

Matrice di <xref:botframework.connector.token_api.modelsTokenStatus>

get_user_token

Tenta di recuperare il token per un utente che si trova in un flusso di accesso.

:p aram magic_code" (facoltativo) utente immesso codice per convalidare :str magic_code" str :p aram oauth_app_credentials: (facoltativo) AppCredentials per 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

Parametri

Nome Descrizione
context
Necessario
connection_name
Necessario
magic_code
Valore predefinito: None
oauth_app_credentials
Valore predefinito: None

Restituisce

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

Risposta del token

Eccezioni

Tipo Descrizione
An exception error

key_for_app_credentials

static key_for_app_credentials(app_id: str, scope: str)

Parametri

Nome Descrizione
app_id
Necessario
scope
Necessario

key_for_connector_client

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

Parametri

Nome Descrizione
service_url
Necessario
app_id
Necessario
scope
Necessario

parse_request

Analizza e convalida la richiesta :p aram req: :return:

async static parse_request(req)

Parametri

Nome Descrizione
req
Necessario

process_activity

Crea un contesto di turno ed esegue la pipeline middleware per un'attività in ingresso.

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

Parametri

Nome Descrizione
req
Necessario
<xref:typing.str>

Attività in ingresso

auth_header
Necessario
<xref:typing.str>

Intestazione di autenticazione HTTP della richiesta

logic
Necessario

Logica da eseguire alla fine della pipeline middleware dell'adapter.

Restituisce

Tipo Descrizione

Attività che rappresenta il lavoro in coda da eseguire.

Commenti

Questa classe elabora un'attività ricevuta dal server Web bot. Sono inclusi tutti i messaggi inviati da un utente ed è il metodo che determina ciò che viene spesso definito bot flusso di messaggistica reattiva. Chiamare questo metodo per inviare in modo reattivo un messaggio a una conversazione. Se l'attività viene completata correttamente, viene restituito un InvokeResponse; altrimenti. viene restituito Null.

process_activity_with_identity

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

Parametri

Nome Descrizione
activity
Necessario
identity
Necessario
logic
Necessario

process_outgoing_activity

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

Parametri

Nome Descrizione
turn_context
Necessario
activity
Necessario

send_activities

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

Parametri

Nome Descrizione
context
Necessario
activities
Necessario

sign_out_user

Disconnette l'utente con il server token.

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

Parametri

Nome Descrizione
context
Necessario

Contesto per il turno corrente della conversazione con l'utente

connection_name
str

Nome della connessione di autenticazione da usare

Valore predefinito: None
user_id
str

ID utente dell'utente da disconnettere

Valore predefinito: None
oauth_app_credentials
<xref:botframework.connector.auth.AppCredential>

(Facoltativo) AppCredentials per OAuth.

Valore predefinito: None

update_activity

Sostituisce un'attività precedentemente inviata a un canale. Si noti che non tutti i canali supportano questa funzionalità.

async update_activity(context: TurnContext, activity: Activity)

Parametri

Nome Descrizione
context
Necessario

Oggetto contesto per il turno

activity
Necessario

Nuova attività sostitutiva

Restituisce

Tipo Descrizione

Attività che rappresenta il lavoro in coda da eseguire

Eccezioni

Tipo Descrizione
A generic exception error

Commenti

Se l'attività viene inviata correttamente, il risultato dell'attività contiene un oggetto ResourceResponse contenente l'ID assegnato al canale ricevente all'attività. Prima di chiamare questa funzione, impostare l'ID dell'attività di sostituzione sull'ID dell'attività da sostituire.