BotFrameworkAdapter Klasa

Definiuje kartę w celu połączenia bota z punktem końcowym usługi.

Inicjuje nowe wystąpienie klasy BotFrameworkAdapter.

Konstruktor

BotFrameworkAdapter(settings: BotFrameworkAdapterSettings)

Parametry

Nazwa Opis
settings
Wymagane

Ustawienia inicjowania karty

Uwagi

Karta bota hermetyzuje procesy uwierzytelniania i wysyła działania do i odbiera działania z usługi Bot Connector Service. Gdy bot odbiera działanie, karta tworzy obiekt kontekstu, przekazuje go do logiki aplikacji bota i wysyła odpowiedzi z powrotem do kanału użytkownika. Adapter przetwarza i kieruje przychodzące działania za pośrednictwem potoku oprogramowania pośredniczącego bota do logiki bota, a następnie ponownie powraca. Gdy każde działanie przepływa do i z bota, każdy element oprogramowania pośredniczącego może sprawdzać działanie lub wykonywać działania, zarówno przed, jak i po uruchomieniu logiki bota.

Metody

can_process_outgoing_activity
continue_conversation

Kontynuuje konwersację z użytkownikiem.

parametr MicrosoftAppId znajduje się w config.py. :type bot_id: <xref:typing.str> :p aram claims_identity: tożsamość oświadczenia bota:type claims_identity: <xref:botframework.connector.auth.ClaimsIdentity> :p aram audience: :type audience: <xref:typing.str>

create_connector_client

Implementacja ConnectorClientProvider.create_connector_client.

create_conversation

Rozpoczyna nową konwersację z użytkownikiem. Służy do kierowania wiadomości do członka grupy.

delete_activity

Usuwa działanie, które zostało wcześniej wysłane do kanału. Należy zauważyć, że nie wszystkie kanały obsługują tę funkcję.

Nuta

Activity_id ConversationReference identyfikuje działanie do usunięcia.

delete_conversation_member

Usuwa członka z bieżącej konwersacji.

exchange_token
exchange_token_from_credentials
get_aad_tokens

Pobiera tokeny usługi Azure Active Directory dla określonych zasobów w skonfigurowanym połączeniu.

z działania w obiekcie TurnContext. :type user_id: str :p aram oauth_app_credentials: (Opcjonalnie) AppCredentials for OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

get_activity_members

Wyświetla listę członków danego działania.

Jeśli nie określono bieżącego identyfikatora działań, zostanie użyty.

get_conversation_member

Pobierz członka bieżącej konwersacji.

get_conversation_members

Wyświetla listę członków bieżącej konwersacji.

get_conversations

Wyświetla listę konwersacji, w których ten bot brał udział w danym serwerze kanału.

context.activity.serviceUrl :type service_url: str

get_oauth_sign_in_link

Pobiera nieprzetworzone łącze logowania, które ma zostać wysłane do użytkownika w celu zalogowania się w celu uzyskania nazwy połączenia.

get_sign_in_resource_from_user
get_sign_in_resource_from_user_and_credentials
get_token_status

Pobiera stan tokenu dla każdego skonfigurowanego połączenia dla danego użytkownika.

Pole Puste zwróci stan tokenu dla wszystkich skonfigurowanych połączeń. :type include_filter: str :p aram oauth_app_credentials: (Opcjonalnie) AppCredentials for OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

get_user_token

Próbuje pobrać token dla użytkownika, który znajduje się w przepływie logowania.

:p aram magic_code" (opcjonalnie) użytkownik wprowadził kod w celu zweryfikowania ciągu :str magic_code" :p aram oauth_app_credentials: (opcjonalnie) AppCredentials for OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

key_for_app_credentials
key_for_connector_client
parse_request

Analizuje i weryfikuje żądanie :p aram req: :return:

process_activity

Tworzy kontekst kolei i uruchamia potok oprogramowania pośredniczącego dla działania przychodzącego.

process_activity_with_identity
process_outgoing_activity
send_activities
sign_out_user

Podpisuje użytkownika przy użyciu serwera tokenów.

update_activity

Zastępuje działanie, które zostało wcześniej wysłane do kanału. Należy zauważyć, że nie wszystkie kanały obsługują tę funkcję.

can_process_outgoing_activity

can_process_outgoing_activity(activity: Activity) -> bool

Parametry

Nazwa Opis
activity
Wymagane

continue_conversation

Kontynuuje konwersację z użytkownikiem.

parametr MicrosoftAppId znajduje się w config.py. :type bot_id: <xref:typing.str> :p aram claims_identity: tożsamość oświadczenia bota: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)

Parametry

Nazwa Opis
reference
Wymagane
callback
Wymagane
bot_id
Domyślna wartość: None
claims_identity
Domyślna wartość: None
audience
Domyślna wartość: None

Zwraca

Typ Opis

Zadanie reprezentujące pracę w kolejce do wykonania.

Wyjątki

Typ Opis
It raises an argument null exception.

Uwagi

Jest to często określane jako boty proaktywne komunikaty przepływ, ponieważ umożliwia botowi proaktywne wysyłanie wiadomości do konwersacji lub użytkownika, które są już w komunikacji. Scenariusze, takie jak wysyłanie powiadomień lub kuponów do użytkownika, są włączone przez tę funkcję.

create_connector_client

Implementacja ConnectorClientProvider.create_connector_client.

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

Parametry

Nazwa Opis
service_url
Wymagane

Adres URL usługi

identity

Tożsamość oświadczeń

Domyślna wartość: None
audience
Domyślna wartość: None

Zwraca

Typ Opis

Wystąpienie klasy <xref:botbuilder.core.ConnectorClient>

create_conversation

Rozpoczyna nową konwersację z użytkownikiem. Służy do kierowania wiadomości do członka grupy.

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)

Parametry

Nazwa Opis
reference
Wymagane

Odwołanie do konwersacji zawierające dzierżawę

logic

Logika używana do tworzenia konwersacji

Domyślna wartość: None
conversation_parameters

Informacje używane do tworzenia konwersacji

Domyślna wartość: None
channel_id
<xref:typing.str>

Identyfikator kanału.

Domyślna wartość: None
service_url
<xref:typing.str>

Punkt końcowy adresu URL usługi kanału.

Domyślna wartość: None
credentials
<xref:botframework.connector.auth.AppCredentials>

Poświadczenia aplikacji bota.

Domyślna wartość: None

Zwraca

Typ Opis

Zadanie reprezentujące pracę w kolejce do wykonania.

Wyjątki

Typ Opis
It raises a generic exception error.

Uwagi

Aby rozpocząć konwersację, bot musi znać informacje o swoim koncie i informacje o koncie użytkownika w tym kanale. Większość kanałów obsługuje tylko inicjowanie bezpośredniej konwersacji (niegrupowej). Karta próbuje utworzyć nową konwersację w kanale, a następnie wysyła działanie aktualizacji konwersacji za pośrednictwem potoku oprogramowania pośredniczącego do metody wywołania zwrotnego. Jeśli konwersacja zostanie nawiązana z określonymi użytkownikami, identyfikator działania będzie zawierać identyfikator nowej konwersacji.

delete_activity

Usuwa działanie, które zostało wcześniej wysłane do kanału. Należy zauważyć, że nie wszystkie kanały obsługują tę funkcję.

Nuta

Activity_id ConversationReference identyfikuje działanie do usunięcia.

async delete_activity(context: TurnContext, reference: ConversationReference)

Parametry

Nazwa Opis
context
Wymagane

Obiekt kontekstu dla kolei

reference
Wymagane

Odwołanie do konwersacji dla działania do usunięcia

Zwraca

Typ Opis

Zadanie reprezentujące pracę w kolejce do wykonania

Wyjątki

Typ Opis
A exception error

delete_conversation_member

Usuwa członka z bieżącej konwersacji.

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

Parametry

Nazwa Opis
context
Wymagane

Obiekt kontekstu dla kolei

member_id
Wymagane
str

Identyfikator członka do usunięcia z konwersacji

Zwraca

Typ Opis

Zadanie reprezentujące pracę w kolejce do wykonania.</returns

Wyjątki

Typ Opis
A exception error

exchange_token

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

Parametry

Nazwa Opis
turn_context
Wymagane
connection_name
Wymagane
user_id
Wymagane
exchange_request
Wymagane

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

Parametry

Nazwa Opis
turn_context
Wymagane
oauth_app_credentials
Wymagane
connection_name
Wymagane
user_id
Wymagane
exchange_request
Wymagane

get_aad_tokens

Pobiera tokeny usługi Azure Active Directory dla określonych zasobów w skonfigurowanym połączeniu.

z działania w obiekcie TurnContext. :type user_id: str :p aram oauth_app_credentials: (Opcjonalnie) 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]

Parametry

Nazwa Opis
context
Wymagane
connection_name
Wymagane
resource_urls
Wymagane
user_id
Domyślna wartość: None
oauth_app_credentials
Domyślna wartość: None

Zwraca

Typ Opis

Słownik adresów URL zasobów do odpowiedniego elementu :class:'botbuilder.schema.TokenResponse'

get_activity_members

Wyświetla listę członków danego działania.

Jeśli nie określono bieżącego identyfikatora działań, zostanie użyty.

async get_activity_members(context: TurnContext, activity_id: str)

Parametry

Nazwa Opis
context
Wymagane
activity_id
Wymagane

Zwraca

Typ Opis

Lista członków działania

Wyjątki

Typ Opis
An exception error

get_conversation_member

Pobierz członka bieżącej konwersacji.

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

Parametry

Nazwa Opis
context
Wymagane

Obiekt kontekstu dla kolei

member_id
Wymagane
str

Identyfikator elementu członkowskiego

Zwraca

Typ Opis

Członek bieżącej konwersacji

Wyjątki

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

get_conversation_members

Wyświetla listę członków bieżącej konwersacji.

async get_conversation_members(context: TurnContext)

Parametry

Nazwa Opis
context
Wymagane

Obiekt kontekstu dla kolei

Zwraca

Typ Opis

Lista członków bieżącej konwersacji

Wyjątki

Typ Opis
TypeError if missing service_url or conversation.id

get_conversations

Wyświetla listę konwersacji, w których ten bot brał udział w danym serwerze kanału.

context.activity.serviceUrl :type service_url: str

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

Parametry

Nazwa Opis
continuation_token
str

Token kontynuacji z poprzedniej strony wyników

Domyślna wartość: None
service_url
Wymagane
credentials
Wymagane

Zwraca

Typ Opis

Zadanie reprezentujące pracę w kolejce do wykonania

Wyjątki

Typ Opis
A generic exception error

Uwagi

Serwer kanału zwraca wyniki na stronach, a każda strona będzie zawierać kontynuacjiToken, których można użyć do pobrania następnej strony wyników z serwera. Jeśli zadanie zakończy się pomyślnie, wynik zawiera stronę członków bieżącej konwersacji. To przeciążenie może być wywoływane spoza kontekstu konwersacji, ponieważ wymagany jest tylko adres URL usługi bota i poświadczenia.

Pobiera nieprzetworzone łącze logowania, które ma zostać wysłane do użytkownika w celu zalogowania się w celu uzyskania nazwy połączenia.

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

Parametry

Nazwa Opis
context
Wymagane

Kontekst bieżącej rozmowy z użytkownikiem

connection_name
Wymagane
str

Nazwa połączenia uwierzytelniania do użycia

final_redirect

Końcowy adres URL, do którego zostanie przekierowany przepływ OAuth.

Domyślna wartość: None
oauth_app_credentials
<xref:botframework.connector.auth.AppCredential>

(Opcjonalnie) AppCredentials for OAuth.AppCredentials for OAuth (Tworzenie aplikacji dla protokołu OAuth).

Domyślna wartość: None

Zwraca

Typ Opis

Jeśli zadanie zakończy się pomyślnie, wynik zawiera nieprzetworzone łącze logowania

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

Parametry

Nazwa Opis
turn_context
Wymagane
connection_name
Wymagane
user_id
Wymagane
final_redirect
Domyślna wartość: 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

Parametry

Nazwa Opis
turn_context
Wymagane
oauth_app_credentials
Wymagane
connection_name
Wymagane
user_id
Wymagane
final_redirect
Domyślna wartość: None

get_token_status

Pobiera stan tokenu dla każdego skonfigurowanego połączenia dla danego użytkownika.

Pole Puste zwróci stan tokenu dla wszystkich skonfigurowanych połączeń. :type include_filter: str :p aram oauth_app_credentials: (Opcjonalnie) 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]

Parametry

Nazwa Opis
context
Wymagane
connection_name
Domyślna wartość: None
user_id
Domyślna wartość: None
include_filter
Domyślna wartość: None
oauth_app_credentials
Domyślna wartość: None

Zwraca

Typ Opis

Tablica <xref:botframework.connector.token_api.modelsTokenStatus>

get_user_token

Próbuje pobrać token dla użytkownika, który znajduje się w przepływie logowania.

:p aram magic_code" (opcjonalnie) użytkownik wprowadził kod w celu zweryfikowania ciągu :str magic_code" :p aram oauth_app_credentials: (opcjonalnie) AppCredentials for 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

Parametry

Nazwa Opis
context
Wymagane
connection_name
Wymagane
magic_code
Domyślna wartość: None
oauth_app_credentials
Domyślna wartość: None

Zwraca

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

Odpowiedź tokenu

Wyjątki

Typ Opis
An exception error

key_for_app_credentials

static key_for_app_credentials(app_id: str, scope: str)

Parametry

Nazwa Opis
app_id
Wymagane
scope
Wymagane

key_for_connector_client

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

Parametry

Nazwa Opis
service_url
Wymagane
app_id
Wymagane
scope
Wymagane

parse_request

Analizuje i weryfikuje żądanie :p aram req: :return:

async static parse_request(req)

Parametry

Nazwa Opis
req
Wymagane

process_activity

Tworzy kontekst kolei i uruchamia potok oprogramowania pośredniczącego dla działania przychodzącego.

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

Parametry

Nazwa Opis
req
Wymagane
<xref:typing.str>

Działanie przychodzące

auth_header
Wymagane
<xref:typing.str>

Nagłówek uwierzytelniania HTTP żądania

logic
Wymagane

Logika do wykonania na końcu potoku oprogramowania pośredniczącego karty.

Zwraca

Typ Opis

Zadanie reprezentujące pracę w kolejce do wykonania.

Uwagi

Ta klasa przetwarza działanie odebrane przez serwer internetowy botów. Obejmuje to wszelkie komunikaty wysyłane przez użytkownika i jest metodą, która często określa to, co jest często określane jako boty reaktywne komunikaty przepływ. Wywołaj tę metodę, aby reaktywnie wysłać wiadomość do konwersacji. Jeśli zadanie zakończy się pomyślnie, zostanie zwrócona InvokeResponse; inaczej. jest zwracana o wartości null.

process_activity_with_identity

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

Parametry

Nazwa Opis
activity
Wymagane
identity
Wymagane
logic
Wymagane

process_outgoing_activity

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

Parametry

Nazwa Opis
turn_context
Wymagane
activity
Wymagane

send_activities

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

Parametry

Nazwa Opis
context
Wymagane
activities
Wymagane

sign_out_user

Podpisuje użytkownika przy użyciu serwera tokenów.

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

Parametry

Nazwa Opis
context
Wymagane

Kontekst bieżącej rozmowy z użytkownikiem

connection_name
str

Nazwa połączenia uwierzytelniania do użycia

Domyślna wartość: None
user_id
str

Identyfikator użytkownika do wylogowania

Domyślna wartość: None
oauth_app_credentials
<xref:botframework.connector.auth.AppCredential>

(Opcjonalnie) AppCredentials for OAuth.AppCredentials for OAuth (Tworzenie aplikacji dla protokołu OAuth).

Domyślna wartość: None

update_activity

Zastępuje działanie, które zostało wcześniej wysłane do kanału. Należy zauważyć, że nie wszystkie kanały obsługują tę funkcję.

async update_activity(context: TurnContext, activity: Activity)

Parametry

Nazwa Opis
context
Wymagane

Obiekt kontekstu dla kolei

activity
Wymagane

Nowe działanie zastępcze

Zwraca

Typ Opis

Zadanie reprezentujące pracę w kolejce do wykonania

Wyjątki

Typ Opis
A generic exception error

Uwagi

Jeśli działanie zostało pomyślnie wysłane, wynik zadania zawiera obiekt ResourceResponse zawierający identyfikator, który kanał odbierający został przypisany do działania. Przed wywołaniem tej funkcji ustaw identyfikator działania zastępczego na identyfikator działania, który ma zastąpić.