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
|
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
|
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
|
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.
get_oauth_sign_in_link
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
|
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
|
Nome della connessione di autenticazione da usare Valore predefinito: None
|
|
user_id
|
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.