BotFrameworkAdapter Klasse
Definiert einen Adapter, um einen Bot mit einem Dienstendpunkt zu verbinden.
Initialisiert eine neue Instanz der BotFrameworkAdapter Klasse.
Konstruktor
BotFrameworkAdapter(settings: BotFrameworkAdapterSettings)
Parameter
| Name | Beschreibung |
|---|---|
|
settings
Erforderlich
|
Die Einstellungen zum Initialisieren des Adapters |
Hinweise
Der Botadapter kapselt Authentifizierungsprozesse und sendet Aktivitäten an und empfängt Aktivitäten vom Bot Connector-Dienst. Wenn Ihr Bot eine Aktivität empfängt, erstellt der Adapter ein Kontextobjekt, übergibt es an die Anwendungslogik Ihres Bots und sendet Antworten an den Kanal des Benutzers. Der Adapter verarbeitet und leitet eingehende Aktivitäten über die Bot-Middleware-Pipeline an die Logik Ihres Bots weiter und wieder heraus. Da jede Aktivität in und aus dem Bot fließt, kann jeder Teil der Middleware die Aktivität sowohl vor als auch nach ausführung der Botlogik überprüfen oder darauf reagieren.
Methoden
| can_process_outgoing_activity | |
| continue_conversation |
Setzt eine Unterhaltung mit einem Benutzer fort. und wird in der Regel im MicrosoftAppId Parameter in config.pygefunden. :type bot_id: <xref:typing.str> :p aram claims_identity: Die Bot-Anspruchsidentität :type :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 eine Nachricht an ein Mitglied einer Gruppe zu leiten. |
| delete_activity |
Löscht eine Aktivität, die zuvor an einen Kanal gesendet wurde. Es sollte beachtet werden, dass nicht alle Kanäle dieses Feature unterstützen. Anmerkung 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 in einer konfigurierten Verbindung ab. aus der Aktivität im TurnContext aus. :type user_id: str :p aram oauth_app_credentials: (Optional) AppCredentials für OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential> |
| get_activity_members |
Listet die Mitglieder einer bestimmten Aktivität auf. Wenn sie nicht angegeben wird, wird die aktuelle Aktivitäts-ID verwendet. |
| get_conversation_member |
Dient zum Abrufen eines Mitglieds einer aktuellen Unterhaltung. |
| get_conversation_members |
Listet die Mitglieder einer aktuellen Unterhaltung auf. |
| get_conversations |
Listet die Unterhaltungen auf, 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 den Tokenstatus für jede konfigurierte Verbindung für den angegebenen Benutzer ab. Leer gibt den Tokenstatus für alle konfigurierten Verbindungen zurück. :type include_filter: str :p aram oauth_app_credentials: (Optional) AppCredentials für 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 Anmeldeablauf befindet. :p aram magic_code" (Optional) vom Benutzer eingegeben, um :str magic_code" str :p aram oauth_app_credentials: (Optional) AppCredentials für 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 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. Es sollte beachtet werden, dass nicht alle Kanäle dieses Feature unterstützen. |
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 in der Regel im MicrosoftAppId Parameter in config.pygefunden. :type bot_id: <xref:typing.str> :p aram claims_identity: Die Bot-Anspruchsidentität :type :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 Arbeitswarteschlange darstellt. |
Ausnahmen
| Typ | Beschreibung |
|---|---|
|
It raises an argument null exception.
|
Hinweise
Dies wird häufig als Bots bezeichnet, proaktives Messaging Ablauf, da der Bot Nachrichten proaktiv an eine Unterhaltung oder einen Benutzer senden kann, die sich bereits in einer Kommunikation befinden. Szenarien wie das Senden von Benachrichtigungen oder Coupons an einen Benutzer werden von dieser 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 eine Nachricht an ein Mitglied einer Gruppe zu leiten.
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
|
Die Unterhaltungsreferenz, die den Mandanten enthält |
|
logic
|
Die Logik, die für die Erstellung der Unterhaltung 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 Dienst-URL-Endpunkt des Kanals. Standardwert: None
|
|
credentials
|
<xref:botframework.connector.auth.AppCredentials>
Die Anwendungsanmeldeinformationen für den Bot. Standardwert: None
|
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Eine Aufgabe, die die auszuführende Arbeitswarteschlange 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 direkten Nachricht (nicht gruppenbezogene) Unterhaltung. Der Adapter versucht, eine neue Unterhaltung im Kanal zu erstellen, und sendet dann eine Unterhaltungsaktualisierungsaktivität über die Middleware-Pipeline 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. Es sollte beachtet werden, dass nicht alle Kanäle dieses Feature unterstützen.
Anmerkung
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 die Drehung |
|
reference
Erforderlich
|
Unterhaltungsverweis für die zu löschende Aktivität |
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Eine Aufgabe, die die auszuführende Arbeitswarteschlange 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 die Drehung |
|
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 Arbeitswarteschlange darstellt.</returns |
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 in einer konfigurierten Verbindung ab.
aus der Aktivität im TurnContext aus. :type user_id: str :p aram oauth_app_credentials: (Optional) AppCredentials für 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 zur entsprechenden :class:'botbuilder.schema.TokenResponse' |
get_activity_members
Listet die Mitglieder einer bestimmten Aktivität auf.
Wenn sie nicht angegeben wird, 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
Dient zum Abrufen eines Mitglieds einer aktuellen Unterhaltung.
async get_conversation_member(context: TurnContext, member_id: str) -> ChannelAccount
Parameter
| Name | Beschreibung |
|---|---|
|
context
Erforderlich
|
Das Kontextobjekt für die Drehung |
|
member_id
Erforderlich
|
Die Member-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
Listet die Mitglieder einer aktuellen Unterhaltung auf.
async get_conversation_members(context: TurnContext)
Parameter
| Name | Beschreibung |
|---|---|
|
context
Erforderlich
|
Das Kontextobjekt für die Drehung |
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Liste der Mitglieder der aktuellen Unterhaltung |
Ausnahmen
| Typ | Beschreibung |
|---|---|
|
TypeError if missing service_url or conversation.id
|
get_conversations
Listet die Unterhaltungen auf, 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 Arbeitswarteschlange darstellt |
Ausnahmen
| Typ | Beschreibung |
|---|---|
|
A generic exception error
|
Hinweise
Der Kanalserver gibt Ergebnisse in Seiten zurück, und jede Seite enthält ein continuationToken, mit dem die nächste Seite der Ergebnisse vom Server abgerufen werden kann. Wenn die Aufgabe erfolgreich abgeschlossen wird, enthält das Ergebnis eine Seite der Mitglieder der aktuellen Unterhaltung. Diese Überladung kann außerhalb des Kontexts einer Unterhaltung aufgerufen werden, da nur die Dienst-URL und Anmeldeinformationen des Bots 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 die aktuelle Unterhaltungswende mit dem Benutzer |
|
connection_name
Erforderlich
|
Name der zu verwendenden Authentifizierungsverbindung |
|
final_redirect
|
Die endgültige URL, zu der der OAuth-Fluss 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 den Tokenstatus für jede konfigurierte Verbindung für den angegebenen Benutzer ab.
Leer gibt den Tokenstatus für alle konfigurierten Verbindungen zurück. :type include_filter: str :p aram oauth_app_credentials: (Optional) AppCredentials für 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 |
|---|---|
|
Array von <xref:botframework.connector.token_api.modelsTokenStatus> |
get_user_token
Versucht, das Token für einen Benutzer abzurufen, der sich in einem Anmeldeablauf befindet.
:p aram magic_code" (Optional) vom Benutzer eingegeben, um :str magic_code" str :p aram oauth_app_credentials: (Optional) AppCredentials für 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 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 Middleware-Pipeline des Adapters ausgeführt werden soll. |
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Eine Aufgabe, die die auszuführende Arbeitswarteschlange 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 häufig als Bots bezeichnet wird, reaktives Messaging Ablauf. Rufen Sie diese Methode auf, um eine Nachricht reaktiv an eine Unterhaltung zu senden. Wenn der Vorgang erfolgreich abgeschlossen wird, wird ein InvokeResponse zurückgegeben; sonst. 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 die aktuelle Unterhaltungswende mit dem Benutzer |
|
connection_name
|
Name der zu verwendenden Authentifizierungsverbindung Standardwert: None
|
|
user_id
|
Benutzer-ID des Benutzers zum Abmelden 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. Es sollte beachtet werden, dass nicht alle Kanäle dieses Feature unterstützen.
async update_activity(context: TurnContext, activity: Activity)
Parameter
| Name | Beschreibung |
|---|---|
|
context
Erforderlich
|
Das Kontextobjekt für die Drehung |
|
activity
Erforderlich
|
Neue Ersatzaktivität |
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Eine Aufgabe, die die auszuführende Arbeitswarteschlange darstellt |
Ausnahmen
| Typ | Beschreibung |
|---|---|
|
A generic exception error
|
Hinweise
Wenn die Aktivität erfolgreich gesendet wird, 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.