다음을 통해 공유


BotAdapter class

봇을 서비스 엔드포인트에 연결할 수 있는 봇 어댑터의 핵심 동작을 정의합니다.

설명

봇 어댑터는 인증 프로세스를 캡슐화하고 Bot Connector Service와 작업을 주고받습니다. 봇이 작업을 받으면 어댑터는 턴 컨텍스트 개체를 만들고, 봇 애플리케이션 논리에 전달하고, 응답을 사용자의 채널로 다시 보냅니다.

어댑터는 봇 미들웨어 파이프라인을 통해 들어오는 활동을 처리하고 봇 논리로 전달한 다음 다시 내보낼 수 있습니다. 각 작업이 봇으로 들어가고 나올 때 미들웨어의 각 부분은 봇 논리가 실행되기 전과 후에 작업을 검사하거나 작업에 따라 작동합니다. use 메서드를 사용하여 어댑터의 미들웨어 컬렉션에 미들웨어 개체를 추가합니다.

자세한 내용은 봇 작동 방식미들웨어에 대한 문서를 참조하세요.

속성

BotIdentityKey
ConnectorClientKey
OAuthScopeKey
onTurnError

미들웨어 또는 애플리케이션에서 예외를 catch할 수 있는 오류 처리기를 가져오거나 설정합니다. 미들웨어 또는 애플리케이션에서 예외를 catch할 수 있는 오류 처리기를 설정합니다.

메서드

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

미들웨어 또는 애플리케이션에서 예외를 catch할 수 있는 오류 처리기를 가져오거나 설정합니다. 미들웨어 또는 애플리케이션에서 예외를 catch할 수 있는 오류 처리기를 설정합니다.

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

속성 값

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

비동기 작업을 나타내는 프라미스입니다.

설명

오류 처리기는 다음 매개 변수를 사용하여 호출됩니다.

Name 유형 설명
context TurnContext 턴에 대한 컨텍스트 개체입니다.
error Error throw된 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>

비동기 작업을 나타내는 promise

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>

비동기 작업을 나타내는 promise

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

시간이 지나면 사용자와의 대화를 비동기적으로 다시 시작합니다.

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

매개 변수

botAppId

string

봇의 애플리케이션 ID입니다. 이 매개 변수는 어댑터(콘솔, 테스트 등)의 단일 테넌트에서 무시되지만 다중 테넌트 인식인 BotFrameworkAdapter에 매우 중요합니다.

reference

Partial<ConversationReference>

계속하려면 대화에 대한 부분 ConversationReference 입니다.

logic

(context: TurnContext) => Promise<void>

어댑터 미들웨어가 실행된 후 호출할 비동기 메서드입니다.

반환

Promise<void>

비동기 작업을 나타내는 promise

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

봇의 애플리케이션 ID입니다.

_channelId

string

채널의 ID입니다.

_serviceUrl

string

채널의 ID입니다.

_audience

string

커넥터의 대상 그룹입니다.

_conversationParameters

ConversationParameters

대화를 만드는 데 사용할 대화 정보

_logic

(context: TurnContext) => Promise<void>

결과 봇 턴을 호출할 메서드입니다.

반환

Promise<void>

비동기 작업을 나타내는 프라미스

설명

대화를 시작하려면 봇이 해당 채널의 계정 정보와 사용자의 계정 정보를 알고 있어야 합니다. 대부분의 _channels 직접 메시지(그룹이 아닌) 대화 시작만 지원합니다.

어댑터는 채널에서 새 대화를 만든 다음, 미들웨어 파이프라인을 conversationUpdate 통해 논리 메서드로 활동을 보냅니다.

지정된 사용자와 대화가 설정된 경우 활동 대화의 ID에 새 대화의 ID가 포함됩니다.

deleteActivity(TurnContext, Partial<ConversationReference>)

기존 활동을 비동기적으로 삭제합니다. 이 인터페이스는 프레임워크를 지원하며 코드에 대해 직접 호출할 수 없습니다. TurnContext.deleteActivity를 사용하여 봇 코드에서 활동을 삭제합니다.

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

매개 변수

context
TurnContext

턴에 대한 컨텍스트 개체입니다.

reference

Partial<ConversationReference>

삭제할 활동에 대한 대화 참조 정보입니다.

반환

Promise<void>

설명

모든 채널이 이 작업을 지원하는 것은 아닙니다. 그렇지 않은 채널의 경우 이 호출이 예외를 throw할 수 있습니다.

sendActivities(TurnContext, Partial<Activity>[])

채널 서버에 보내는 활동 집합을 비동기적으로 보냅니다. 이 메서드는 프레임워크를 지원하며 코드에 대해 직접 호출할 수 없습니다. 봇 코드에서 턴 컨텍스트의 sendActivity 또는 sendActivities 메서드를 사용합니다.

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

매개 변수

context
TurnContext

턴에 대한 컨텍스트 개체입니다.

activities

Partial<Activity>[]

보낼 활동입니다.

반환

Promise<ResourceResponse[]>

ResourceResponse의 배열

설명

활동은 받은 순서대로 1회씩 전송됩니다. 전송된 각 작업에 대해 응답 개체가 반환됩니다. 활동의 경우 message 배달된 메시지의 ID가 포함됩니다.

updateActivity(TurnContext, Partial<Activity>)

이전 작업을 업데이트된 버전으로 비동기적으로 대체합니다. 이 인터페이스는 프레임워크를 지원하며 코드에 대해 직접 호출할 수 없습니다. TurnContext.updateActivity를 사용하여 봇 코드에서 활동을 업데이트합니다.

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

매개 변수

context
TurnContext

턴에 대한 컨텍스트 개체입니다.

activity

Partial<Activity>

바꿀 활동의 업데이트된 버전입니다.

반환

Promise<ResourceResponse | void>

설명

모든 채널이 이 작업을 지원하는 것은 아닙니다. 그렇지 않은 채널의 경우 이 호출이 예외를 throw할 수 있습니다.

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

업데이트된 어댑터 개체입니다.

설명

미들웨어는 초기화 시 어댑터에 추가됩니다. 턴마다 어댑터는 추가한 순서대로 미들웨어를 호출합니다.