BotFrameworkAdapter Класс

Определяет адаптер для подключения бота к конечной точке службы.

Инициализирует новый экземпляр класса BotFrameworkAdapter.

Конструктор

BotFrameworkAdapter(settings: BotFrameworkAdapterSettings)

Параметры

Имя Описание
settings
Обязательно

Параметры для инициализации адаптера

Комментарии

Адаптер бота инкапсулирует процессы проверки подлинности и отправляет действия и получает действия из службы Соединителя Бота. Когда бот получает действие, адаптер создает объект контекста, передает его логике приложения бота и отправляет ответы обратно в канал пользователя. Адаптер обрабатывает и направляет входящие действия через конвейер ПО промежуточного слоя бота в логику бота, а затем снова возвращается. По мере того как каждое действие выполняется в боте, каждый элемент ПО промежуточного слоя может проверять или действовать в действии как до, так и после выполнения логики бота.

Методы

can_process_outgoing_activity
continue_conversation

Продолжает беседу с пользователем.

и обычно находится в параметре MicrosoftAppId в config.py. :type bot_id: <xref:typing.str> :p aram claims_identity: удостоверение утверждения бота :type claims_identity: <xref:botframework.connector.auth.ClaimsIdentity> :p aram аудитория: :type audience: <xref:typing.str>

create_connector_client

Реализация ConnectorClientProvider.create_connector_client.

create_conversation

Запускает новую беседу с пользователем. Используется для направления сообщения участнику группы.

delete_activity

Удаляет действие, которое ранее было отправлено в канал. Следует отметить, что не все каналы поддерживают эту функцию.

Заметка

Activity_id ConversationReference определяет действие для удаления.

delete_conversation_member

Удаляет члена из текущей беседы.

exchange_token
exchange_token_from_credentials
get_aad_tokens

Извлекает маркеры Azure Active Directory для определенных ресурсов в настроенном подключении.

из действия в TurnContext. :type user_id: str :p aram oauth_app_credentials: (необязательно) AppCredentials для OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

get_activity_members

Выводит список членов заданного действия.

Если не указан идентификатор текущей активности, будет использоваться.

get_conversation_member

Получение члена текущей беседы.

get_conversation_members

Выводит список членов текущей беседы.

get_conversations

Выводит список бесед, в которых этот бот принимал участие для заданного сервера каналов.

context.activity.serviceUrl :type service_url: str

get_oauth_sign_in_link

Возвращает необработанную ссылку на вход, отправляемую пользователю для входа в имя подключения.

get_sign_in_resource_from_user
get_sign_in_resource_from_user_and_credentials
get_token_status

Извлекает состояние токена для каждого настроенного подключения для данного пользователя.

Пустой возвращает состояние маркера для всех настроенных подключений. :type include_filter: str :p aram oauth_app_credentials: (необязательно) AppCredentials для OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

get_user_token

Пытается получить маркер для пользователя, который находится в потоке входа.

:p aram magic_code" (необязательно) ввел код для проверки :str magic_code" str :p aram oauth_app_credentials: (необязательно) AppCredentials для OAuth. :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>

key_for_app_credentials
key_for_connector_client
parse_request

Анализирует и проверяет запрос :p aram req: :return:

process_activity

Создает контекст поворота и запускает конвейер ПО промежуточного слоя для входящего действия.

process_activity_with_identity
process_outgoing_activity
send_activities
sign_out_user

Подписывает пользователя с помощью сервера токенов.

update_activity

Заменяет действие, которое ранее было отправлено в канал. Следует отметить, что не все каналы поддерживают эту функцию.

can_process_outgoing_activity

can_process_outgoing_activity(activity: Activity) -> bool

Параметры

Имя Описание
activity
Обязательно

continue_conversation

Продолжает беседу с пользователем.

и обычно находится в параметре MicrosoftAppId в config.py. :type bot_id: <xref:typing.str> :p aram claims_identity: удостоверение утверждения бота :type claims_identity: <xref:botframework.connector.auth.ClaimsIdentity> :p aram аудитория: :type audience: <xref:typing.str>

async continue_conversation(reference: ConversationReference, callback: Callable, bot_id: str = None, claims_identity: ClaimsIdentity = None, audience: str = None)

Параметры

Имя Описание
reference
Обязательно
callback
Обязательно
bot_id
Default value: None
claims_identity
Default value: None
audience
Default value: None

Возвращаемое значение

Тип Описание

Задача, представляющая выполняемую рабочую очередь.

Исключения

Тип Описание
It raises an argument null exception.

Комментарии

Это часто называется ботами, упреждающим обменом сообщениями потоком, так как он позволяет боту заранее отправлять сообщения в беседу или пользователя, которые уже находятся в обмене данными. Такие сценарии, как отправка уведомлений или купонов пользователю, включены этой функцией.

create_connector_client

Реализация ConnectorClientProvider.create_connector_client.

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

Параметры

Имя Описание
service_url
Обязательно

URL-адрес службы

identity

Удостоверение утверждений

Default value: None
audience
Default value: None

Возвращаемое значение

Тип Описание

Экземпляр класса <xref:botbuilder.core.ConnectorClient>

create_conversation

Запускает новую беседу с пользователем. Используется для направления сообщения участнику группы.

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)

Параметры

Имя Описание
reference
Обязательно

Ссылка на беседу, содержащая клиент

logic

Логика, используемая для создания беседы

Default value: None
conversation_parameters

Сведения, используемые для создания беседы

Default value: None
channel_id
<xref:typing.str>

Идентификатор канала.

Default value: None
service_url
<xref:typing.str>

Конечная точка URL-адреса службы канала.

Default value: None
credentials
<xref:botframework.connector.auth.AppCredentials>

Учетные данные приложения для бота.

Default value: None

Возвращаемое значение

Тип Описание

Задача, представляющая рабочую очередь для выполнения.

Исключения

Тип Описание
It raises a generic exception error.

Комментарии

Чтобы начать беседу, бот должен знать сведения о своей учетной записи и сведения об учетной записи пользователя в этом канале. Большинство каналов поддерживают только инициирование прямой беседы (негрупповой). Адаптер пытается создать новую беседу в канале, а затем отправляет действие обновления беседы через конвейер по промежуточному слоям в метод обратного вызова. Если беседа установлена с указанными пользователями, идентификатор действия будет содержать идентификатор нового диалога.

delete_activity

Удаляет действие, которое ранее было отправлено в канал. Следует отметить, что не все каналы поддерживают эту функцию.

Заметка

Activity_id ConversationReference определяет действие для удаления.

async delete_activity(context: TurnContext, reference: ConversationReference)

Параметры

Имя Описание
context
Обязательно

Объект контекста для поворота

reference
Обязательно

Справочник по беседам для удаления действия

Возвращаемое значение

Тип Описание

Задача, представляющая рабочую очередь для выполнения

Исключения

Тип Описание
A exception error

delete_conversation_member

Удаляет члена из текущей беседы.

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

Параметры

Имя Описание
context
Обязательно

Объект контекста для поворота

member_id
Обязательно
str

Идентификатор участника, который нужно удалить из беседы

Возвращаемое значение

Тип Описание

Задача, представляющая выполняемую рабочую очередь.</returns

Исключения

Тип Описание
A exception error

exchange_token

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

Параметры

Имя Описание
turn_context
Обязательно
connection_name
Обязательно
user_id
Обязательно
exchange_request
Обязательно

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

Параметры

Имя Описание
turn_context
Обязательно
oauth_app_credentials
Обязательно
connection_name
Обязательно
user_id
Обязательно
exchange_request
Обязательно

get_aad_tokens

Извлекает маркеры Azure Active Directory для определенных ресурсов в настроенном подключении.

из действия в TurnContext. :type user_id: str :p aram oauth_app_credentials: (необязательно) AppCredentials для 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]

Параметры

Имя Описание
context
Обязательно
connection_name
Обязательно
resource_urls
Обязательно
user_id
Default value: None
oauth_app_credentials
Default value: None

Возвращаемое значение

Тип Описание

Словарь URL-адресов ресурсов для соответствующего класса :'botbuilder.schema.TokenResponse'

get_activity_members

Выводит список членов заданного действия.

Если не указан идентификатор текущей активности, будет использоваться.

async get_activity_members(context: TurnContext, activity_id: str)

Параметры

Имя Описание
context
Обязательно
activity_id
Обязательно

Возвращаемое значение

Тип Описание

Список членов действия

Исключения

Тип Описание
An exception error

get_conversation_member

Получение члена текущей беседы.

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

Параметры

Имя Описание
context
Обязательно

Объект контекста для поворота

member_id
Обязательно
str

Идентификатор члена

Возвращаемое значение

Тип Описание

Член текущей беседы

Исключения

Тип Описание
<xref:A TypeError if missing member_id>, <xref:service_url>, <xref:or conversation.id>

get_conversation_members

Выводит список членов текущей беседы.

async get_conversation_members(context: TurnContext)

Параметры

Имя Описание
context
Обязательно

Объект контекста для поворота

Возвращаемое значение

Тип Описание

Список членов текущей беседы

Исключения

Тип Описание
TypeError if missing service_url or conversation.id

get_conversations

Выводит список бесед, в которых этот бот принимал участие для заданного сервера каналов.

context.activity.serviceUrl :type service_url: str

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

Параметры

Имя Описание
continuation_token
str

Маркер продолжения из предыдущей страницы результатов

Default value: None
service_url
Обязательно
credentials
Обязательно

Возвращаемое значение

Тип Описание

Задача, представляющая рабочую очередь для выполнения

Исключения

Тип Описание
A generic exception error

Комментарии

Сервер каналов возвращает результаты на страницах, и каждая страница будет включать продолженияToken, которые можно использовать для получения следующей страницы результатов с сервера. Если задача выполнена успешно, результат содержит страницу членов текущей беседы. Эта перегрузка может вызываться извне контекста беседы, так как требуются только URL-адрес службы бота и учетные данные.

Возвращает необработанную ссылку на вход, отправляемую пользователю для входа в имя подключения.

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

Параметры

Имя Описание
context
Обязательно

Контекст для текущего шага беседы с пользователем

connection_name
Обязательно
str

Имя используемого подключения проверки подлинности

final_redirect

Окончательный URL-адрес, на который будет перенаправлен поток OAuth.

Default value: None
oauth_app_credentials
<xref:botframework.connector.auth.AppCredential>

(Необязательно) AppCredentials для OAuth.

Default value: None

Возвращаемое значение

Тип Описание

Если задача выполнена успешно, результат содержит ссылку на необработанный вход

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

Параметры

Имя Описание
turn_context
Обязательно
connection_name
Обязательно
user_id
Обязательно
final_redirect
Default value: 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

Параметры

Имя Описание
turn_context
Обязательно
oauth_app_credentials
Обязательно
connection_name
Обязательно
user_id
Обязательно
final_redirect
Default value: None

get_token_status

Извлекает состояние токена для каждого настроенного подключения для данного пользователя.

Пустой возвращает состояние маркера для всех настроенных подключений. :type include_filter: str :p aram oauth_app_credentials: (необязательно) AppCredentials для 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]

Параметры

Имя Описание
context
Обязательно
connection_name
Default value: None
user_id
Default value: None
include_filter
Default value: None
oauth_app_credentials
Default value: None

Возвращаемое значение

Тип Описание

Массив <xref:botframework.connector.token_api.modelsTokenStatus>

get_user_token

Пытается получить маркер для пользователя, который находится в потоке входа.

:p aram magic_code" (необязательно) ввел код для проверки :str magic_code" str :p aram oauth_app_credentials: (необязательно) AppCredentials для 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

Параметры

Имя Описание
context
Обязательно
connection_name
Обязательно
magic_code
Default value: None
oauth_app_credentials
Default value: None

Возвращаемое значение

Тип Описание
:<xref:class>:’TokenResponse`

Ответ маркера

Исключения

Тип Описание
An exception error

key_for_app_credentials

static key_for_app_credentials(app_id: str, scope: str)

Параметры

Имя Описание
app_id
Обязательно
scope
Обязательно

key_for_connector_client

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

Параметры

Имя Описание
service_url
Обязательно
app_id
Обязательно
scope
Обязательно

parse_request

Анализирует и проверяет запрос :p aram req: :return:

async static parse_request(req)

Параметры

Имя Описание
req
Обязательно

process_activity

Создает контекст поворота и запускает конвейер ПО промежуточного слоя для входящего действия.

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

Параметры

Имя Описание
req
Обязательно
<xref:typing.str>

Входящее действие

auth_header
Обязательно
<xref:typing.str>

Заголовок проверки подлинности HTTP запроса

logic
Обязательно

Логика, выполняемая в конце конвейера ПО промежуточного слоя адаптера.

Возвращаемое значение

Тип Описание

Задача, представляющая выполняемую рабочую очередь.

Комментарии

Этот класс обрабатывает действие, полученное веб-сервером ботов. Это включает все сообщения, отправленные пользователем, и является методом, который часто называется ботами, реактивного обмена сообщениями потока. Вызовите этот метод для реактивной отправки сообщения в беседу. Если задача выполнена успешно, возвращается InvokeResponse; иначе. возвращается null.

process_activity_with_identity

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

Параметры

Имя Описание
activity
Обязательно
identity
Обязательно
logic
Обязательно

process_outgoing_activity

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

Параметры

Имя Описание
turn_context
Обязательно
activity
Обязательно

send_activities

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

Параметры

Имя Описание
context
Обязательно
activities
Обязательно

sign_out_user

Подписывает пользователя с помощью сервера токенов.

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

Параметры

Имя Описание
context
Обязательно

Контекст для текущего шага беседы с пользователем

connection_name
str

Имя используемого подключения проверки подлинности

Default value: None
user_id
str

Идентификатор пользователя для выхода

Default value: None
oauth_app_credentials
<xref:botframework.connector.auth.AppCredential>

(Необязательно) AppCredentials для OAuth.

Default value: None

update_activity

Заменяет действие, которое ранее было отправлено в канал. Следует отметить, что не все каналы поддерживают эту функцию.

async update_activity(context: TurnContext, activity: Activity)

Параметры

Имя Описание
context
Обязательно

Объект контекста для поворота

activity
Обязательно

Новое действие замены

Возвращаемое значение

Тип Описание

Задача, представляющая рабочую очередь для выполнения

Исключения

Тип Описание
A generic exception error

Комментарии

Если действие успешно отправлено, результат задачи содержит объект ResourceResponse, содержащий идентификатор, назначенный принимающему каналу действия. Перед вызовом этой функции задайте идентификатор действия замены идентификатору действия для замены.