Поделиться через


BotAdapter class

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

Комментарии

Адаптер ботов инкапсулирует процессы проверки подлинности, а также отправляет и получает действия от службы Bot Connector. Когда бот получает действие, адаптер создает объект контекста поворота, передает его логике приложения бота и отправляет ответы обратно в канал пользователя.

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

Дополнительные сведения см. в статьях о работе ботов и ПО промежуточного слоя.

Свойства

BotIdentityKey
ConnectorClientKey
OAuthScopeKey
onTurnError

Возвращает или задает обработчик ошибок, который может перехватывать исключения в ПО промежуточного слоя или приложении. Задает обработчик ошибок, который может перехватывать исключения в ПО промежуточного слоя или приложении.

Методы

continueConversation(Partial<ConversationReference>, (revocableContext: TurnContext) => Promise<void>)

Асинхронно возобновляет беседу с пользователем, возможно, через некоторое время.

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

Асинхронно возобновляет беседу с пользователем, возможно, через некоторое время.

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)

Асинхронно возобновляет беседу с пользователем, возможно, через некоторое время.

continueConversationAsync(string, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

Асинхронно возобновляет беседу с пользователем, возможно, через некоторое время.

createConversationAsync(string, string, string, string, ConversationParameters, (context: TurnContext) => Promise<void>)

Создает беседу в указанном канале.

deleteActivity(TurnContext, Partial<ConversationReference>)

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

sendActivities(TurnContext, Partial<Activity>[])

Асинхронно отправляет набор исходящих действий на сервер канала. Этот метод поддерживает платформу и не предназначен для вызова непосредственно для кода. Используйте метод sendActivity или sendActivities контекста поворота из кода бота.

updateActivity(TurnContext, Partial<Activity>)

Асинхронно заменяет предыдущее действие обновленной версией. Этот интерфейс поддерживает платформу и не предназначен для вызова непосредственно для кода. Используйте TurnContext.updateActivity для обновления действия из кода бота.

use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])

Добавляет ПО промежуточного слоя в конвейер адаптера.

Сведения о свойстве

BotIdentityKey

BotIdentityKey: symbol

Значение свойства

symbol

ConnectorClientKey

ConnectorClientKey: symbol

Значение свойства

symbol

OAuthScopeKey

OAuthScopeKey: symbol

Значение свойства

symbol

onTurnError

Возвращает или задает обработчик ошибок, который может перехватывать исключения в ПО промежуточного слоя или приложении. Задает обработчик ошибок, который может перехватывать исключения в ПО промежуточного слоя или приложении.

(context: TurnContext, error: Error) => Promise<void> onTurnError

Значение свойства

(context: TurnContext, error: Error) => Promise<void>

Обещание, представляющее асинхронную операцию.

Комментарии

Обработчик ошибок вызывается со следующими параметрами:

Имя Тип Описание
context TurnContext Объект контекста для шага.
error Error Возникает ошибка Node.js.

Сведения о методе

continueConversation(Partial<ConversationReference>, (revocableContext: TurnContext) => Promise<void>)

Асинхронно возобновляет беседу с пользователем, возможно, через некоторое время.

function continueConversation(reference: Partial<ConversationReference>, logic: (revocableContext: TurnContext) => Promise<void>): Promise<void>

Параметры

reference

Partial<ConversationReference>

Ссылка на беседу для продолжения.

logic

(revocableContext: TurnContext) => Promise<void>

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

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

Promise<void>

Комментарии

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

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

Асинхронно возобновляет беседу с пользователем, возможно, через некоторое время.

function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>

Параметры

claimsIdentity

ClaimsIdentity

Свойство ClaimsIdentity для диалога.

reference

Partial<ConversationReference>

Частичная ссылка ConversationReference для продолжения беседы.

logic

(context: TurnContext) => Promise<void>

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

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

Promise<void>

обещание, представляющее асинхронную операцию

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)

Асинхронно возобновляет беседу с пользователем, возможно, через некоторое время.

function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, audience: string, logic: (context: TurnContext) => Promise<void>): Promise<void>

Параметры

claimsIdentity

ClaimsIdentity

Свойство ClaimsIdentity для диалога.

reference

Partial<ConversationReference>

Частичная ссылка ConversationReference для продолжения беседы.

audience

string

Значение , обозначающее получателя упреждающего сообщения.

logic

(context: TurnContext) => Promise<void>

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

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

Promise<void>

обещание, представляющее асинхронную операцию

continueConversationAsync(string, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

Асинхронно возобновляет беседу с пользователем, возможно, через некоторое время.

function continueConversationAsync(botAppId: string, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>

Параметры

botAppId

string

Идентификатор приложения бота. Этот параметр игнорируется в адаптерах с одним клиентом (консоль, тест и т. д.), но имеет решающее значение для BotFrameworkAdapter, который поддерживает несколько клиентов.

reference

Partial<ConversationReference>

Частичная ссылка ConversationReference для продолжения беседы.

logic

(context: TurnContext) => Promise<void>

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

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

Promise<void>

обещание, представляющее асинхронную операцию

createConversationAsync(string, string, string, string, ConversationParameters, (context: TurnContext) => Promise<void>)

Создает беседу в указанном канале.

function createConversationAsync(_botAppId: string, _channelId: string, _serviceUrl: string, _audience: string, _conversationParameters: ConversationParameters, _logic: (context: TurnContext) => Promise<void>): Promise<void>

Параметры

_botAppId

string

Идентификатор приложения бота.

_channelId

string

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

_serviceUrl

string

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

_audience

string

Аудитория соединителя.

_conversationParameters

ConversationParameters

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

_logic

(context: TurnContext) => Promise<void>

Метод, вызываемый для результирующего поворота бота.

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

Promise<void>

Обещание, представляющее асинхронную операцию

Комментарии

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

Адаптер пытается создать новую беседу в канале, а затем отправляет conversationUpdate действие через конвейер ПО промежуточного слоя в логический метод.

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

deleteActivity(TurnContext, Partial<ConversationReference>)

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

function deleteActivity(context: TurnContext, reference: Partial<ConversationReference>): Promise<void>

Параметры

context
TurnContext

Объект контекста для шага.

reference

Partial<ConversationReference>

Справочные сведения о беседах для удаляемого действия.

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

Promise<void>

Комментарии

Не все каналы поддерживают эту операцию. Для каналов, которые этого не сделали, этот вызов может вызвать исключение.

sendActivities(TurnContext, Partial<Activity>[])

Асинхронно отправляет набор исходящих действий на сервер канала. Этот метод поддерживает платформу и не предназначен для вызова непосредственно для кода. Используйте метод sendActivity или sendActivities контекста поворота из кода бота.

function sendActivities(context: TurnContext, activities: Partial<Activity>[]): Promise<ResourceResponse[]>

Параметры

context
TurnContext

Объект контекста для шага.

activities

Partial<Activity>[]

Отправляемые действия.

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

Promise<ResourceResponse[]>

Массив ResourceResponse

Комментарии

Действия будут отправляться друг за другом в том порядке, в котором они получены. Объект ответа будет возвращен для каждого отправленного действия. Для message действий это будет содержать идентификатор доставленного сообщения.

updateActivity(TurnContext, Partial<Activity>)

Асинхронно заменяет предыдущее действие обновленной версией. Этот интерфейс поддерживает платформу и не предназначен для вызова непосредственно для кода. Используйте TurnContext.updateActivity для обновления действия из кода бота.

function updateActivity(context: TurnContext, activity: Partial<Activity>): Promise<ResourceResponse | void>

Параметры

context
TurnContext

Объект контекста для шага.

activity

Partial<Activity>

Обновленная версия заменяемого действия.

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

Promise<ResourceResponse | void>

Комментарии

Не все каналы поддерживают эту операцию. Для каналов, которые этого не сделали, этот вызов может вызвать исключение.

use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])

Добавляет ПО промежуточного слоя в конвейер адаптера.

function use(middlewares: (context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]): this

Параметры

middlewares

(context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]

Добавляемый обработчик ПО промежуточного слоя или ПО промежуточного слоя.

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

this

Обновленный объект адаптера.

Комментарии

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