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


BotAdapter class

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

Комментарии

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

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

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

Свойства

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

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

Комментарии

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