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
|
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
|
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
|
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.
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.
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
|
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
|
Nazwa połączenia uwierzytelniania do użycia Domyślna wartość: None
|
|
user_id
|
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ć.