BotAdapter class
봇을 서비스 엔드포인트에 연결할 수 있는 봇 어댑터의 핵심 동작을 정의합니다.
설명
봇 어댑터는 인증 프로세스를 캡슐화하고 Bot Connector Service와 작업을 주고받습니다. 봇이 작업을 받으면 어댑터는 턴 컨텍스트 개체를 만들고, 봇 애플리케이션 논리에 전달하고, 응답을 사용자의 채널로 다시 보냅니다.
어댑터는 봇 미들웨어 파이프라인을 통해 들어오는 활동을 처리하고 봇 논리로 전달한 다음 다시 내보낼 수 있습니다. 각 작업이 봇으로 들어가고 나올 때 미들웨어의 각 부분은 봇 논리가 실행되기 전과 후에 작업을 검사하거나 작업에 따라 작동합니다. use 메서드를 사용하여 어댑터의 미들웨어 컬렉션에 미들웨어 개체를 추가합니다.
자세한 내용은 봇 작동 방식 및 미들웨어에 대한 문서를 참조하세요.
속성
Bot |
|
Connector |
|
OAuth |
|
on |
미들웨어 또는 애플리케이션에서 예외를 catch할 수 있는 오류 처리기를 가져오거나 설정합니다. 미들웨어 또는 애플리케이션에서 예외를 catch할 수 있는 오류 처리기를 설정합니다. |
메서드
속성 세부 정보
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
업데이트된 어댑터 개체입니다.
설명
미들웨어는 초기화 시 어댑터에 추가됩니다. 턴마다 어댑터는 추가한 순서대로 미들웨어를 호출합니다.