Freigeben über


BotFrameworkAdapter Klasse

Definiert einen Adapter, um einen Bot mit einem Dienstendpunkt zu verbinden.

Initialisiert eine neue Instanz der BotFrameworkAdapter-Klasse.

Vererbung
BotFrameworkAdapter
BotFrameworkAdapter
BotFrameworkAdapter

Konstruktor

BotFrameworkAdapter(settings: BotFrameworkAdapterSettings)

Parameter

Name Beschreibung
settings
Erforderlich

Die Einstellungen zum Initialisieren des Adapters

Hinweise

Der Botadapter kapselt Authentifizierungsprozesse ein und sendet Aktivitäten an bzw. empfängt Aktivitäten vom Bot Connector Service. Wenn Ihr Bot eine Aktivität empfängt, erstellt der Adapter ein Kontextobjekt, übergibt es an die Anwendungslogik Ihres Bots und sendet Antworten zurück an den Kanal des Benutzers. Der Adapter verarbeitet und leitet eingehende Aktivitäten in über die Botmiddlewarepipeline an die Logik Ihres Bots weiter und dann wieder aus. Während jede Aktivität den Bot durchläuft, kann jede Middleware die Aktivität überprüfen und beeinflussen, sowohl bevor als auch nachdem die Bot-Logik ausgeführt wurde.

Methoden

can_process_outgoing_activity
continue_conversation

Setzt eine Unterhaltung mit einem Benutzer fort.

und wird im Allgemeinen im MicrosoftAppId-Parameter in config.py gefunden. :type bot_id: <xref:typing.str> :p aram claims_identity: Der Bot beansprucht identität :type claims_identity: <xref:botframework.connector.auth.ClaimsIdentity> :p aram audience: :type audience: <xref:typing.str>

create_connector_client

Implementierung von ConnectorClientProvider.create_connector_client.

create_conversation

Startet eine neue Unterhaltung mit einem Benutzer. Wird verwendet, um nachrichten an ein Mitglied einer Gruppe weiterzuleiten.

delete_activity

Löscht eine Aktivität, die zuvor an einen Kanal gesendet wurde. Beachten Sie, dass dieses Feature nicht von allen Kanälen unterstützt wird.

Hinweis

Die activity_id der ConversationReference identifiziert die zu löschende Aktivität.

delete_conversation_member

Löscht ein Mitglied aus der aktuellen Unterhaltung.

exchange_token
exchange_token_from_credentials
get_aad_tokens

Ruft Azure Active Directory-Token für bestimmte Ressourcen für eine konfigurierte Verbindung ab.

aus der Aktivität in TurnContext. :type user_id: str :p aram oauth_app_credentials: (Optional) AppCredentials for OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

get_activity_members

Listen die Mitglieder einer bestimmten Aktivität.

Wenn nicht angegeben, wird die aktuelle Aktivitäts-ID verwendet.

get_conversation_member

Ruft ein Mitglied einer aktuellen Unterhaltung ab.

get_conversation_members

Listen die Mitglieder einer aktuellen Unterhaltung.

get_conversations

Listen die Unterhaltungen, an denen dieser Bot für einen bestimmten Kanalserver teilgenommen hat.

context.activity.serviceUrl :type service_url: str

get_oauth_sign_in_link

Ruft den unformatierten Anmeldelink ab, der für die Anmeldung für einen Verbindungsnamen an den Benutzer gesendet werden soll.

get_sign_in_resource_from_user
get_sign_in_resource_from_user_and_credentials
get_token_status

Ruft das Token status für jede konfigurierte Verbindung für den angegebenen Benutzer ab.

Leer gibt token status für alle konfigurierten Verbindungen zurück. :type include_filter: str :p aram oauth_app_credentials: (Optional) AppCredentials for OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

get_user_token

Versucht, das Token für einen Benutzer abzurufen, der sich in einem Anmeldeflow befindet.

:p aram magic_code" (Optional) hat der Benutzer code eingegeben, um :str magic_code" str :p aram oauth_app_credentials: (Optional) AppCredentials for OAuth zu überprüfen. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

key_for_app_credentials
key_for_connector_client
parse_request

Analysiert und überprüft die Anforderung :p aram req: :return:

process_activity

Erstellt einen Turnkontext und führt die Middlewarepipeline für eine eingehende Aktivität aus.

process_activity_with_identity
process_outgoing_activity
send_activities
sign_out_user

Meldet den Benutzer mit dem Tokenserver ab.

update_activity

Ersetzt eine Aktivität, die zuvor an einen Kanal gesendet wurde. Beachten Sie, dass dieses Feature nicht von allen Kanälen unterstützt wird.

can_process_outgoing_activity

can_process_outgoing_activity(activity: Activity) -> bool

Parameter

Name Beschreibung
activity
Erforderlich

continue_conversation

Setzt eine Unterhaltung mit einem Benutzer fort.

und wird im Allgemeinen im MicrosoftAppId-Parameter in config.py gefunden. :type bot_id: <xref:typing.str> :p aram claims_identity: Der Bot beansprucht identität :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)

Parameter

Name Beschreibung
reference
Erforderlich
callback
Erforderlich
bot_id
Standardwert: None
claims_identity
Standardwert: None
audience
Standardwert: None

Gibt zurück

Typ Beschreibung

Eine Aufgabe, die die auszuführende Arbeit in der Warteschlange darstellt.

Ausnahmen

Typ Beschreibung
It raises an argument null exception.

Hinweise

Dies wird häufig als proaktiver Nachrichtenfluss für Bots bezeichnet, da er es dem Bot ermöglicht, proaktiv Nachrichten an eine Unterhaltung oder einen Benutzer zu senden, die sich bereits in einer Kommunikation befinden. Szenarien wie das Senden von Benachrichtigungen oder Coupons an einen Benutzer werden durch diese Funktion aktiviert.

create_connector_client

Implementierung von ConnectorClientProvider.create_connector_client.

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

Parameter

Name Beschreibung
service_url
Erforderlich

Die Dienst-URL

identity

Die Anspruchsidentität

Standardwert: None
audience
Standardwert: None

Gibt zurück

Typ Beschreibung

Eine Instanz der <xref:botbuilder.core.ConnectorClient>-Klasse

create_conversation

Startet eine neue Unterhaltung mit einem Benutzer. Wird verwendet, um nachrichten an ein Mitglied einer Gruppe weiterzuleiten.

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)

Parameter

Name Beschreibung
reference
Erforderlich

Der Konversationsverweis, der den Mandanten enthält

logic

Die Logik, die für die Erstellung der Konversation verwendet werden soll

Standardwert: None
conversation_parameters

Die Informationen, die zum Erstellen der Unterhaltung verwendet werden sollen

Standardwert: None
channel_id
<xref:typing.str>

Die ID für den Kanal.

Standardwert: None
service_url
<xref:typing.str>

Der Dienstendpunkt des Kanals.

Standardwert: None
credentials
<xref:botframework.connector.auth.AppCredentials>

Die Anmeldeinformationen der Anwendung für den Bot.

Standardwert: None

Gibt zurück

Typ Beschreibung

Eine Aufgabe, die die auszuführende Arbeit in der Warteschlange darstellt.

Ausnahmen

Typ Beschreibung
It raises a generic exception error.

Hinweise

Um eine Unterhaltung zu starten, muss Ihr Bot seine Kontoinformationen und die Kontoinformationen des Benutzers in diesem Kanal kennen. Die meisten Kanäle unterstützen nur das Initiieren einer Direktnachrichtenunterhaltung (nicht in Gruppen). Der Adapter versucht, eine neue Unterhaltung im Kanal zu erstellen, und sendet dann eine Aktualisierungsaktivität für Unterhaltungen über seine Middlewarepipeline an die Rückrufmethode. Wenn die Unterhaltung mit den angegebenen Benutzern eingerichtet wird, enthält die ID der Aktivität die ID der neuen Unterhaltung.

delete_activity

Löscht eine Aktivität, die zuvor an einen Kanal gesendet wurde. Beachten Sie, dass dieses Feature nicht von allen Kanälen unterstützt wird.

Hinweis

Die activity_id der ConversationReference identifiziert die zu löschende Aktivität.

async delete_activity(context: TurnContext, reference: ConversationReference)

Parameter

Name Beschreibung
context
Erforderlich

Das Kontextobjekt für den Turn

reference
Erforderlich

Unterhaltungsreferenz für die zu löschende Aktivität

Gibt zurück

Typ Beschreibung

Eine Aufgabe, die die auszuführende Arbeit in der Warteschlange darstellt.

Ausnahmen

Typ Beschreibung
A exception error

delete_conversation_member

Löscht ein Mitglied aus der aktuellen Unterhaltung.

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

Parameter

Name Beschreibung
context
Erforderlich

Das Kontextobjekt für den Turn

member_id
Erforderlich
str

Die ID des Mitglieds, das aus der Unterhaltung entfernt werden soll.

Gibt zurück

Typ Beschreibung

Eine Aufgabe, die die auszuführende Arbeit in der Warteschlange darstellt.</Gibt

Ausnahmen

Typ Beschreibung
A exception error

exchange_token

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

Parameter

Name Beschreibung
turn_context
Erforderlich
connection_name
Erforderlich
user_id
Erforderlich
exchange_request
Erforderlich

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

Parameter

Name Beschreibung
turn_context
Erforderlich
oauth_app_credentials
Erforderlich
connection_name
Erforderlich
user_id
Erforderlich
exchange_request
Erforderlich

get_aad_tokens

Ruft Azure Active Directory-Token für bestimmte Ressourcen für eine konfigurierte Verbindung ab.

aus der Aktivität in TurnContext. :type user_id: str :p aram oauth_app_credentials: (Optional) 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]

Parameter

Name Beschreibung
context
Erforderlich
connection_name
Erforderlich
resource_urls
Erforderlich
user_id
Standardwert: None
oauth_app_credentials
Standardwert: None

Gibt zurück

Typ Beschreibung

Wörterbuch der Ressourcen-URLs für die entsprechende :class:'botbuilder.schema.TokenResponse'

get_activity_members

Listen die Mitglieder einer bestimmten Aktivität.

Wenn nicht angegeben, wird die aktuelle Aktivitäts-ID verwendet.

async get_activity_members(context: TurnContext, activity_id: str)

Parameter

Name Beschreibung
context
Erforderlich
activity_id
Erforderlich

Gibt zurück

Typ Beschreibung

Liste der Mitglieder der Aktivität

Ausnahmen

Typ Beschreibung
An exception error

get_conversation_member

Ruft ein Mitglied einer aktuellen Unterhaltung ab.

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

Parameter

Name Beschreibung
context
Erforderlich

Das Kontextobjekt für den Turn

member_id
Erforderlich
str

Die Mitglieds-ID

Gibt zurück

Typ Beschreibung

Ein Mitglied der aktuellen Unterhaltung

Ausnahmen

Typ Beschreibung
<xref:A TypeError if missing member_id>, <xref:service_url>, <xref:or conversation.id>

get_conversation_members

Listen die Mitglieder einer aktuellen Unterhaltung.

async get_conversation_members(context: TurnContext)

Parameter

Name Beschreibung
context
Erforderlich

Das Kontextobjekt für den Turn

Gibt zurück

Typ Beschreibung

Liste der Mitglieder der aktuellen Unterhaltung

Ausnahmen

Typ Beschreibung
TypeError if missing service_url or conversation.id

get_conversations

Listen die Unterhaltungen, an denen dieser Bot für einen bestimmten Kanalserver teilgenommen hat.

context.activity.serviceUrl :type service_url: str

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

Parameter

Name Beschreibung
continuation_token
str

Das Fortsetzungstoken von der vorherigen Seite der Ergebnisse

Standardwert: None
service_url
Erforderlich
credentials
Erforderlich

Gibt zurück

Typ Beschreibung

Eine Aufgabe, die die auszuführende Arbeit in der Warteschlange darstellt.

Ausnahmen

Typ Beschreibung
A generic exception error

Hinweise

Der Kanalserver gibt Ergebnisse in Seiten zurück, und jede Seite enthält ein continuationToken , das verwendet werden kann, um die nächste Seite der Ergebnisse vom Server abzurufen. Wenn die Aufgabe erfolgreich abgeschlossen wird, enthält das Ergebnis eine Seite der Mitglieder der aktuellen Unterhaltung. Diese Überladung kann von außerhalb des Kontexts einer Unterhaltung aufgerufen werden, da nur die Dienst-URL des Bots und die Anmeldeinformationen erforderlich sind.

Ruft den unformatierten Anmeldelink ab, der für die Anmeldung für einen Verbindungsnamen an den Benutzer gesendet werden soll.

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

Parameter

Name Beschreibung
context
Erforderlich

Kontext für den aktuellen Gesprächswechsel mit dem Benutzer

connection_name
Erforderlich
str

Name der zu verwendenden Authentifizierungsverbindung

final_redirect

Die endgültige URL, an die der OAuth-Flow umgeleitet wird.

Standardwert: None
oauth_app_credentials
<xref:botframework.connector.auth.AppCredential>

(Optional) AppCredentials für OAuth.

Standardwert: None

Gibt zurück

Typ Beschreibung

Wenn die Aufgabe erfolgreich abgeschlossen wurde, enthält das Ergebnis den Unformatierten Anmeldelink.

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

Parameter

Name Beschreibung
turn_context
Erforderlich
connection_name
Erforderlich
user_id
Erforderlich
final_redirect
Standardwert: 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

Parameter

Name Beschreibung
turn_context
Erforderlich
oauth_app_credentials
Erforderlich
connection_name
Erforderlich
user_id
Erforderlich
final_redirect
Standardwert: None

get_token_status

Ruft das Token status für jede konfigurierte Verbindung für den angegebenen Benutzer ab.

Leer gibt token status für alle konfigurierten Verbindungen zurück. :type include_filter: str :p aram oauth_app_credentials: (Optional) 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]

Parameter

Name Beschreibung
context
Erforderlich
connection_name
Standardwert: None
user_id
Standardwert: None
include_filter
Standardwert: None
oauth_app_credentials
Standardwert: None

Gibt zurück

Typ Beschreibung

Ein Array von <xref:botframework.connector.token_api.modelsTokenStatus>-Objekten.

get_user_token

Versucht, das Token für einen Benutzer abzurufen, der sich in einem Anmeldeflow befindet.

:p aram magic_code" (Optional) hat der Benutzer code eingegeben, um :str magic_code" str :p aram oauth_app_credentials: (Optional) AppCredentials for OAuth zu überprüfen. :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

Parameter

Name Beschreibung
context
Erforderlich
connection_name
Erforderlich
magic_code
Standardwert: None
oauth_app_credentials
Standardwert: None

Gibt zurück

Typ Beschreibung
:<xref:class>:’TokenResponse`

Tokenantwort

Ausnahmen

Typ Beschreibung
An exception error

key_for_app_credentials

static key_for_app_credentials(app_id: str, scope: str)

Parameter

Name Beschreibung
app_id
Erforderlich
scope
Erforderlich

key_for_connector_client

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

Parameter

Name Beschreibung
service_url
Erforderlich
app_id
Erforderlich
scope
Erforderlich

parse_request

Analysiert und überprüft die Anforderung :p aram req: :return:

async static parse_request(req)

Parameter

Name Beschreibung
req
Erforderlich

process_activity

Erstellt einen Turnkontext und führt die Middlewarepipeline für eine eingehende Aktivität aus.

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

Parameter

Name Beschreibung
req
Erforderlich
<xref:typing.str>

Die eingehende Aktivität

auth_header
Erforderlich
<xref:typing.str>

Der HTTP-Authentifizierungsheader der Anforderung

logic
Erforderlich

Die Logik, die am Ende der Middlewarepipeline des Adapters ausgeführt werden soll.

Gibt zurück

Typ Beschreibung

Eine Aufgabe, die die auszuführende Arbeit in der Warteschlange darstellt.

Hinweise

Diese Klasse verarbeitet eine Aktivität, die vom Bots-Webserver empfangen wird. Dies schließt alle Nachrichten ein, die von einem Benutzer gesendet werden, und ist die Methode, die den häufig als reaktiven Bots-Nachrichtenfluss bezeichnet wird. Rufen Sie diese Methode auf, um reaktiv eine Nachricht an eine Unterhaltung zu senden. Wenn der Task erfolgreich abgeschlossen wird, wird ein InvokeResponse zurückgegeben, andernfalls. NULL wird zurückgegeben.

process_activity_with_identity

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

Parameter

Name Beschreibung
activity
Erforderlich
identity
Erforderlich
logic
Erforderlich

process_outgoing_activity

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

Parameter

Name Beschreibung
turn_context
Erforderlich
activity
Erforderlich

send_activities

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

Parameter

Name Beschreibung
context
Erforderlich
activities
Erforderlich

sign_out_user

Meldet den Benutzer mit dem Tokenserver ab.

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

Parameter

Name Beschreibung
context
Erforderlich

Kontext für den aktuellen Gesprächswechsel mit dem Benutzer

connection_name
str

Name der zu verwendenden Authentifizierungsverbindung

Standardwert: None
user_id
str

Benutzer-ID des abzumeldenden Benutzers

Standardwert: None
oauth_app_credentials
<xref:botframework.connector.auth.AppCredential>

(Optional) AppCredentials für OAuth.

Standardwert: None

update_activity

Ersetzt eine Aktivität, die zuvor an einen Kanal gesendet wurde. Beachten Sie, dass dieses Feature nicht von allen Kanälen unterstützt wird.

async update_activity(context: TurnContext, activity: Activity)

Parameter

Name Beschreibung
context
Erforderlich

Das Kontextobjekt für den Turn

activity
Erforderlich

Neue Ersetzungsaktivität

Gibt zurück

Typ Beschreibung

Eine Aufgabe, die die auszuführende Arbeit in der Warteschlange darstellt.

Ausnahmen

Typ Beschreibung
A generic exception error

Hinweise

Wenn die Aktivität erfolgreich gesendet wurde, enthält das Aufgabenergebnis ein ResourceResponse Objekt mit der ID, die der empfangende Kanal der Aktivität zugewiesen hat. Legen Sie vor dem Aufrufen dieser Funktion die ID der Ersetzungsaktivität auf die ID der zu ersetzenden Aktivität fest.