BotFrameworkAdapter Klasse
Definiert einen Adapter, um einen Bot mit einem Dienstendpunkt zu verbinden.
Initialisiert eine neue Instanz der BotFrameworkAdapter-Klasse.
- Vererbung
-
BotFrameworkAdapterBotFrameworkAdapterBotFrameworkAdapter
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
|
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
|
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
|
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.
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.
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
|
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
|
Name der zu verwendenden Authentifizierungsverbindung Standardwert: None
|
user_id
|
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.