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
Обязательно
|
Идентификатор участника, который нужно удалить из беседы |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Задача, представляющая выполняемую рабочую очередь.</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
Обязательно
|
Идентификатор члена |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Член текущей беседы |
Исключения
| Тип | Описание |
|---|---|
|
<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
|
Маркер продолжения из предыдущей страницы результатов Default value: None
|
|
service_url
Обязательно
|
|
|
credentials
Обязательно
|
|
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Задача, представляющая рабочую очередь для выполнения |
Исключения
| Тип | Описание |
|---|---|
|
A generic exception error
|
Комментарии
Сервер каналов возвращает результаты на страницах, и каждая страница будет включать продолженияToken, которые можно использовать для получения следующей страницы результатов с сервера. Если задача выполнена успешно, результат содержит страницу членов текущей беседы. Эта перегрузка может вызываться извне контекста беседы, так как требуются только URL-адрес службы бота и учетные данные.
get_oauth_sign_in_link
Возвращает необработанную ссылку на вход, отправляемую пользователю для входа в имя подключения.
async get_oauth_sign_in_link(context: TurnContext, connection_name: str, final_redirect: str = None, oauth_app_credentials: AppCredentials = None) -> str
Параметры
| Имя | Описание |
|---|---|
|
context
Обязательно
|
Контекст для текущего шага беседы с пользователем |
|
connection_name
Обязательно
|
Имя используемого подключения проверки подлинности |
|
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
|
Имя используемого подключения проверки подлинности Default value: None
|
|
user_id
|
Идентификатор пользователя для выхода 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, содержащий идентификатор, назначенный принимающему каналу действия. Перед вызовом этой функции задайте идентификатор действия замены идентификатору действия для замены.