Freigeben über


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
str

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
str

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
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 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.

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
str

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
str

Name der zu verwendenden Authentifizierungsverbindung

Standardwert: None
user_id
str

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.