다음을 통해 공유


BotFrameworkAdapter class

경고

이 API는 이제 사용되지 않습니다.

Use CloudAdapter instead.

Extends

BotAdapter

생성자

BotFrameworkAdapter(Partial<BotFrameworkAdapterSettings>)

BotFrameworkAdapter 클래스의 새 인스턴스를 만듭니다.

속성

isStreamingConnectionOpen

스트리밍 컨텍스트에서 봇이 활동을 보낼 수 있도록 스트리밍 연결이 여전히 열려 있는지 확인하는 데 사용됩니다.

TokenApiClientCredentialsKey

상속된 속성

BotIdentityKey
ConnectorClientKey
OAuthScopeKey
onTurnError

메서드

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

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

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

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

createConnectorClient(string)

커넥터 클라이언트를 만듭니다.

createConnectorClientWithIdentity(string, ClaimsIdentity)

ClaimsIdentity를 사용하여 ConnectorClient를 만듭니다.

createConnectorClientWithIdentity(string, ClaimsIdentity, string)

ClaimsIdentity 및 명시적 대상 그룹을 사용하여 ConnectorClient를 만듭니다.

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

채널에서 사용자와 대화를 비동기적으로 만들고 시작합니다.

createConversation(Partial<ConversationReference>, Partial<ConversationParameters>, (context: TurnContext) => Promise<void>)

채널에서 사용자와 대화를 비동기적으로 만들고 시작합니다.

deleteActivity(TurnContext, Partial<ConversationReference>)

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

deleteConversationMember(TurnContext, string)

현재 대화에서 멤버를 비동기적으로 제거합니다.

emulateOAuthCards(TurnContext | string, boolean)

채널에 대해 에뮬레이트된 OAuth 카드를 비동기적으로 보냅니다. 이 메서드는 프레임워크를 지원하며 코드에 대해 직접 호출할 수 없습니다.

exchangeToken(TurnContext, string, string, TokenExchangeRequest, CoreAppCredentials)

Single Sign-On과 같은 토큰 교환 작업을 비동기적으로 수행합니다.

getAadTokens(TurnContext, string, string[])

토큰 서버에서 사용자를 비동기적으로 로그아웃합니다.

getAadTokens(TurnContext, string, string[], CoreAppCredentials)
getActivityMembers(TurnContext, string)

지정된 활동의 멤버를 비동기적으로 나열합니다.

getConversationMembers(TurnContext)

현재 대화의 멤버를 비동기적으로 나열합니다.

getConversations(TurnContext | string, string)

지정된 채널의 경우 이 봇이 참여한 대화의 페이지를 비동기적으로 가져옵니다.

getSignInLink(TurnContext, string, AppCredentials, string, string)

SigninCard의 일부로 보낼 수 있는 토큰 서버에서 로그인 링크를 비동기적으로 가져옵니다.

getSignInLink(TurnContext, string, CoreAppCredentials, string, string)
getSignInResource(TurnContext, string, string, string, CoreAppCredentials)

로그인을 위해 사용자에게 보낼 원시 로그인 리소스를 비동기적으로 가져옵니다.

getTokenStatus(TurnContext, string, string)

지정된 사용자에 대해 구성된 각 연결에 대한 토큰 상태를 비동기적으로 검색합니다.

getTokenStatus(TurnContext, string, string, CoreAppCredentials)
getUserToken(TurnContext, string, string)

로그인 흐름에 있는 사용자의 토큰을 비동기적으로 검색하려고 시도합니다.

getUserToken(TurnContext, string, string, CoreAppCredentials)
process(Request, INodeSocket, INodeBuffer, (context: TurnContext) => Promise<void>)

각 스트리밍 요청에 논리 함수를 적용하여 웹 소켓 연결을 처리합니다.

process(Request, Response, (context: TurnContext) => Promise<void>)

논리 함수를 적용하여 웹 요청을 처리합니다.

processActivity(WebRequest, WebResponse, (context: TurnContext) => Promise<any>)

턴 컨텍스트를 비동기적으로 만들고 들어오는 작업에 대한 미들웨어 파이프라인을 실행합니다.

processActivityDirect(Activity, (context: TurnContext) => Promise<any>)

턴 컨텍스트를 비동기적으로 만들고 들어오는 작업에 대한 미들웨어 파이프라인을 실행합니다.

processRequest(IReceiveRequest)

요청의 유효성을 확인하고 올바른 가상 엔드포인트에 매핑한 다음, 적절한 경우 응답을 생성하고 반환합니다.

sendActivities(TurnContext, Partial<Activity>[])

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

signOutUser(TurnContext, string, string)

토큰 서버에서 사용자를 비동기적으로 로그아웃합니다.

signOutUser(TurnContext, string, string, CoreAppCredentials)
updateActivity(TurnContext, Partial<Activity>)

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

useNamedPipe((context: TurnContext) => Promise<any>, string, number, () => void)

처리기를 명명된 파이프 서버에 연결하고 들어오는 요청을 수신 대기하기 시작합니다.

useWebSocket(WebRequest, INodeSocket, INodeBuffer, (context: TurnContext) => Promise<any>)

스트리밍 서버를 통해 수명이 긴 연결을 설정하도록 초기 요청을 처리합니다.

상속된 메서드

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>)

지정된 채널에 대화를 만듭니다.

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

어댑터의 파이프라인에 미들웨어를 추가합니다.

생성자 세부 정보

BotFrameworkAdapter(Partial<BotFrameworkAdapterSettings>)

BotFrameworkAdapter 클래스의 새 인스턴스를 만듭니다.

new BotFrameworkAdapter(settings?: Partial<BotFrameworkAdapterSettings>)

매개 변수

settings

Partial<BotFrameworkAdapterSettings>

선택 사항입니다. 이 어댑터 인스턴스에 사용할 설정입니다.

설명

매개 변수에 settingschannelService 또는 openIdMetadata 값이 포함되지 않은 경우 생성자는 프로세스의 환경 변수에서 이러한 값을 확인합니다. 이러한 값은 봇이 Azure에서 프로비전되고 필요한 경우 봇이 글로벌 클라우드 또는 국가별 클라우드에서 제대로 작동하도록 설정할 수 있습니다.

BotFrameworkAdapterSettings 클래스는 사용 가능한 어댑터 설정을 정의합니다.

속성 세부 정보

isStreamingConnectionOpen

스트리밍 컨텍스트에서 봇이 활동을 보낼 수 있도록 스트리밍 연결이 여전히 열려 있는지 확인하는 데 사용됩니다.

boolean isStreamingConnectionOpen

속성 값

boolean

스트리밍 연결이 열려 있으면 True이고, 그렇지 않으면 false입니다.

TokenApiClientCredentialsKey

TokenApiClientCredentialsKey: symbol

속성 값

symbol

상속된 속성 세부 정보

BotIdentityKey

BotIdentityKey: symbol

속성 값

symbol

상속된 위치에서 BotAdapter.BotIdentityKey

ConnectorClientKey

ConnectorClientKey: symbol

속성 값

symbol

상속된 위치에서 BotAdapter.ConnectorClientKey

OAuthScopeKey

OAuthScopeKey: symbol

속성 값

symbol

상속된 위치에서 BotAdapter.OAuthScopeKey

onTurnError

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

속성 값

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

상속된 위치에서 BotAdapter.onTurnError

메서드 세부 정보

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

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

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

매개 변수

reference

Partial<ConversationReference>

계속할 대화에 대한 참조입니다.

logic

(context: TurnContext) => Promise<void>

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

반환

Promise<void>

설명

이를 사전 알림이라고도 하며, 봇은 들어오는 메시지를 기다리지 않고 대화 또는 사용자에게 메시지를 사전에 보낼 수 있습니다. 예를 들어 봇은 이 방법을 사용하여 사용자에게 알림 또는 쿠폰을 보낼 수 있습니다.

자동 관리 메시지를 보내려면 다음을 수행합니다.

  1. 들어오는 활동에서 ConversationReference 의 복사본을 저장합니다. 예를 들어 대화 참조를 데이터베이스에 저장할 수 있습니다.
  2. 나중에 대화를 다시 시작하려면 이 메서드를 호출합니다. 저장된 참조를 사용하여 대화에 액세스합니다.
  3. 성공하면 어댑터는 TurnContext 개체를 생성하고 함수 처리기를 logic 호출합니다. 함수를 logic 사용하여 자동 관리 메시지를 보냅니다.

대화에서 들어오는 작업에서 참조를 복사하려면 TurnContext.getConversationReference 메서드를 사용합니다.

이 메서드는 processActivity 메서드와 비슷합니다. 어댑터는 TurnContext 를 만들고 처리기를 호출하기 전에 미들웨어를 logic 통해 라우팅합니다. 생성된 활동에는 'event' 형식 과 'continueConversation'의 이름이 있습니다.

예:

server.post('/api/notifyUser', async (req, res) => {
   // Lookup previously saved conversation reference.
   const reference = await findReference(req.body.refId);

   // Proactively notify the user.
   if (reference) {
      await adapter.continueConversation(reference, async (context) => {
         await context.sendActivity(req.body.message);
      });
      res.send(200);
   } else {
      res.send(404);
   }
});

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

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

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

매개 변수

reference

Partial<ConversationReference>

(xref:botframework-schema. ConversationReference) 계속할 대화의 입니다.

oAuthScope

string

대화를 계속하기 위해 호출할 모든 보낸 활동 또는 함수의 의도된 수신자입니다.

logic

(context: TurnContext) => Promise<void>

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

반환

Promise<void>

createConnectorClient(string)

커넥터 클라이언트를 만듭니다.

function createConnectorClient(serviceUrl: string): ConnectorClient

매개 변수

serviceUrl

string

클라이언트의 서비스 URL입니다.

반환

ConnectorClient

ConnectorClient 인스턴스입니다.

설명

파생 클래스에서 이를 재정의하여 단위 테스트를 위한 모의 커넥터 클라이언트를 만듭니다.

createConnectorClientWithIdentity(string, ClaimsIdentity)

ClaimsIdentity를 사용하여 ConnectorClient를 만듭니다.

function createConnectorClientWithIdentity(serviceUrl: string, identity: ClaimsIdentity): Promise<ConnectorClient>

매개 변수

serviceUrl

string

클라이언트의 서비스 URL입니다.

identity

ClaimsIdentity

ClaimsIdentity

반환

Promise<ConnectorClient>

설명

ClaimsIdentity에 Skills 요청에 대한 클레임이 포함된 경우 Skills와 함께 사용할 ConnectorClient를 만듭니다. ClaimsIdentity 또는 인스턴스의 자격 증명 속성에서 올바른 대상 그룹을 파생합니다.

createConnectorClientWithIdentity(string, ClaimsIdentity, string)

ClaimsIdentity 및 명시적 대상 그룹을 사용하여 ConnectorClient를 만듭니다.

function createConnectorClientWithIdentity(serviceUrl: string, identity: ClaimsIdentity, audience: string): Promise<ConnectorClient>

매개 변수

serviceUrl

string

클라이언트의 서비스 URL입니다.

identity

ClaimsIdentity

ClaimsIdentity

audience

string

ConnectorClient 메시지의 받는 사람입니다. 일반적으로 Bot Framework 채널 서비스 또는 다른 봇의 AppId입니다.

반환

Promise<ConnectorClient>

설명

트리밍된 대상 그룹이 길이가 0이 아닌 문자열이 아닌 경우 대상 그룹은 ClaimsIdentity 또는 인스턴스의 자격 증명 속성에서 파생됩니다.

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

채널에서 사용자와 대화를 비동기적으로 만들고 시작합니다.

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

매개 변수

reference

Partial<ConversationReference>

만들 대화에 대한 참조입니다.

logic

(context: TurnContext) => Promise<void>

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

반환

Promise<void>

비동기 작업을 나타내는 promise

createConversation(Partial<ConversationReference>, Partial<ConversationParameters>, (context: TurnContext) => Promise<void>)

채널에서 사용자와 대화를 비동기적으로 만들고 시작합니다.

function createConversation(reference: Partial<ConversationReference>, parameters: Partial<ConversationParameters>, logic: (context: TurnContext) => Promise<void>): Promise<void>

매개 변수

reference

Partial<ConversationReference>

만들 대화에 대한 참조입니다.

parameters

Partial<ConversationParameters>

대화를 만들 때 사용되는 매개 변수

logic

(context: TurnContext) => Promise<void>

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

반환

Promise<void>

비동기 작업을 나타내는 promise

deleteActivity(TurnContext, Partial<ConversationReference>)

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

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

매개 변수

context

TurnContext

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

reference

Partial<ConversationReference>

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

반환

Promise<void>

설명

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

deleteConversationMember(TurnContext, string)

현재 대화에서 멤버를 비동기적으로 제거합니다.

function deleteConversationMember(context: TurnContext, memberId: string): Promise<void>

매개 변수

context

TurnContext

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

memberId

string

대화에서 제거할 멤버의 ID입니다.

반환

Promise<void>

설명

대화에서 멤버의 ID 정보를 제거합니다.

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

emulateOAuthCards(TurnContext | string, boolean)

채널에 대해 에뮬레이트된 OAuth 카드를 비동기적으로 보냅니다. 이 메서드는 프레임워크를 지원하며 코드에 대해 직접 호출할 수 없습니다.

function emulateOAuthCards(contextOrServiceUrl: TurnContext | string, emulate: boolean): Promise<void>

매개 변수

contextOrServiceUrl

TurnContext | string

에뮬레이터의 URL입니다.

emulate

boolean

true 에뮬레이터에 에뮬레이트된 OAuth 카드를 보내려면 이고, 또는 false 카드를 보내지 않습니다.

반환

Promise<void>

설명

Bot Framework Emulator 봇을 테스트할 때 이 메서드는 OAuth 카드 상호 작용을 에뮬레이트할 수 있습니다.

exchangeToken(TurnContext, string, string, TokenExchangeRequest, CoreAppCredentials)

Single Sign-On과 같은 토큰 교환 작업을 비동기적으로 수행합니다.

function exchangeToken(context: TurnContext, connectionName: string, userId: string, tokenExchangeRequest: TokenExchangeRequest, appCredentials?: CoreAppCredentials): Promise<TokenResponse>

매개 변수

context

TurnContext

사용자와의 현재 대화 전환에 대한 컨텍스트입니다.

connectionName

string

사용할 인증 연결의 이름입니다.

userId

string

토큰과 연결할 사용자 ID입니다.

tokenExchangeRequest

TokenExchangeRequest

교환 요청 세부 정보( 교환할 토큰 또는 교환할 URI)입니다.

appCredentials

CoreAppCredentials

선택 사항입니다. OAuth용 CoreAppCredentials입니다.

반환

Promise<TokenResponse>

getAadTokens(TurnContext, string, string[])

토큰 서버에서 사용자를 비동기적으로 로그아웃합니다.

function getAadTokens(context: TurnContext, connectionName: string, resourceUrls: string[]): Promise<[key: string]: TokenResponse>

매개 변수

context

TurnContext

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

connectionName

string

사용할 인증 연결의 이름입니다.

resourceUrls

string[]

토큰을 검색할 리소스 URL 목록입니다.

반환

Promise<[key: string]: TokenResponse>

리소스 URL별 TokenResponse 개체의 맵입니다.

getAadTokens(TurnContext, string, string[], CoreAppCredentials)

function getAadTokens(context: TurnContext, connectionName: string, resourceUrls: string[], oAuthAppCredentials?: CoreAppCredentials): Promise<[key: string]: TokenResponse>

매개 변수

context

TurnContext

connectionName

string

resourceUrls

string[]

oAuthAppCredentials

CoreAppCredentials

반환

Promise<[key: string]: TokenResponse>

getActivityMembers(TurnContext, string)

지정된 활동의 멤버를 비동기적으로 나열합니다.

function getActivityMembers(context: TurnContext, activityId?: string): Promise<ChannelAccount[]>

매개 변수

context

TurnContext

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

activityId

string

선택 사항입니다. 멤버를 가져올 활동의 ID입니다. 지정하지 않으면 현재 활동 ID가 사용됩니다.

반환

Promise<ChannelAccount[]>

지정된 활동에 관련된 사용자를 위한 ChannelAccount 개체의 배열입니다.

설명

지정된 활동에 관련된 사용자에 대한 ChannelAccount 개체의 배열을 반환합니다.

이는 getConversationMembers 와 다릅니다. 대화의 모든 멤버가 아니라 활동에 직접 관련된 사용자만 반환한다는 것입니다.

getConversationMembers(TurnContext)

현재 대화의 멤버를 비동기적으로 나열합니다.

function getConversationMembers(context: TurnContext): Promise<ChannelAccount[]>

매개 변수

context

TurnContext

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

반환

Promise<ChannelAccount[]>

현재 대화에 참여하는 모든 사용자에 대한 ChannelAccount 개체의 배열입니다.

설명

현재 대화에 관련된 모든 사용자에 대한 ChannelAccount 개체의 배열을 반환합니다.

이는 특정 활동에 직접 관련된 멤버뿐만 아니라 대화의 모든 멤버를 반환한다는 측면에서 getActivityMembers 와 다릅니다.

getConversations(TurnContext | string, string)

지정된 채널의 경우 이 봇이 참여한 대화의 페이지를 비동기적으로 가져옵니다.

function getConversations(contextOrServiceUrl: TurnContext | string, continuationToken?: string): Promise<ConversationsResult>

매개 변수

contextOrServiceUrl

TurnContext | string

채널의 대화에서 쿼리할 채널 서버의 URL 또는 TurnContext 개체입니다.

continuationToken

string

선택 사항입니다. 결과의 이전 페이지의 연속 토큰입니다. 이 매개 변수를 생략하거나 를 사용하여 undefined 결과의 첫 번째 페이지를 검색합니다.

반환

Promise<ConversationsResult>

결과 페이지와 연속 토큰을 포함하는 ConversationsResult 개체입니다.

설명

반환 값의 conversation 속성에는 ConversationMembers 개체의 페이지가 포함됩니다. 각 개체의 ID 는 봇이 이 채널에 참여한 대화의 ID입니다. 이 메서드는 봇의 서비스 URL 및 자격 증명만 필요하므로 대화 컨텍스트 외부에서 호출할 수 있습니다.

채널 일괄 처리로 인해 페이지가 생성됩니다. 결과의 continuationToken 속성이 비어 있지 않으면 가져올 페이지가 더 있습니다. 반환된 토큰을 사용하여 결과의 다음 페이지를 가져옵니다. 매개 변수가 contextOrServiceUrlTurnContext이면 채널 서버의 URL이 에서 contextOrServiceUrl검색됩니다. 활동.serviceUrl.

SigninCard의 일부로 보낼 수 있는 토큰 서버에서 로그인 링크를 비동기적으로 가져옵니다.

function getSignInLink(context: TurnContext, connectionName: string, oAuthAppCredentials?: AppCredentials, userId?: string, finalRedirect?: string): Promise<string>

매개 변수

context

TurnContext

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

connectionName

string

사용할 인증 연결의 이름입니다.

oAuthAppCredentials

AppCredentials

OAuth용 AppCredentials입니다.

userId

string

토큰과 연결할 사용자 ID입니다.

finalRedirect

string

OAuth 흐름이 리디렉션할 최종 URL입니다.

반환

Promise<string>

function getSignInLink(context: TurnContext, connectionName: string, oAuthAppCredentials?: CoreAppCredentials, userId?: string, finalRedirect?: string): Promise<string>

매개 변수

context

TurnContext

connectionName

string

oAuthAppCredentials

CoreAppCredentials

userId

string

finalRedirect

string

반환

Promise<string>

getSignInResource(TurnContext, string, string, string, CoreAppCredentials)

로그인을 위해 사용자에게 보낼 원시 로그인 리소스를 비동기적으로 가져옵니다.

function getSignInResource(context: TurnContext, connectionName: string, userId?: string, finalRedirect?: string, appCredentials?: CoreAppCredentials): Promise<SignInUrlResponse>

매개 변수

context

TurnContext

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

connectionName

string

사용할 인증 연결의 이름입니다.

userId

string

토큰과 연결할 사용자 ID입니다.

finalRedirect

string

OAuth 흐름이 리디렉션할 최종 URL입니다.

appCredentials

CoreAppCredentials

선택 사항입니다. OAuth용 CoreAppCredentials입니다.

반환

Promise<SignInUrlResponse>

BotSignInGetSignInResourceResponse 개체입니다.

getTokenStatus(TurnContext, string, string)

지정된 사용자에 대해 구성된 각 연결에 대한 토큰 상태를 비동기적으로 검색합니다.

function getTokenStatus(context: TurnContext, userId?: string, includeFilter?: string): Promise<TokenStatus[]>

매개 변수

context

TurnContext

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

userId

string

선택 사항입니다. 있는 경우 토큰 상태를 검색할 사용자의 ID입니다. 그렇지 않으면 현재 활동을 보낸 사용자의 ID가 사용됩니다.

includeFilter

string

선택 사항입니다. 포함할 연결의 쉼표로 구분된 목록입니다. 있는 경우 매개 변수는 includeFilter 이 메서드가 반환하는 토큰을 제한합니다.

반환

Promise<TokenStatus[]>

검색된 TokenStatus 개체입니다.

getTokenStatus(TurnContext, string, string, CoreAppCredentials)

function getTokenStatus(context: TurnContext, userId?: string, includeFilter?: string, oAuthAppCredentials?: CoreAppCredentials): Promise<TokenStatus[]>

매개 변수

context

TurnContext

userId

string

includeFilter

string

oAuthAppCredentials

CoreAppCredentials

반환

Promise<TokenStatus[]>

getUserToken(TurnContext, string, string)

로그인 흐름에 있는 사용자의 토큰을 비동기적으로 검색하려고 시도합니다.

function getUserToken(context: TurnContext, connectionName: string, magicCode?: string): Promise<TokenResponse>

매개 변수

context

TurnContext

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

connectionName

string

사용할 인증 연결의 이름입니다.

magicCode

string

선택 사항입니다. 사용자가 입력한 유효성 검사 코드입니다.

반환

Promise<TokenResponse>

사용자 토큰을 포함하는 TokenResponse 개체입니다.

getUserToken(TurnContext, string, string, CoreAppCredentials)

function getUserToken(context: TurnContext, connectionName: string, magicCode?: string, oAuthAppCredentials?: CoreAppCredentials): Promise<TokenResponse>

매개 변수

context

TurnContext

connectionName

string

magicCode

string

oAuthAppCredentials

CoreAppCredentials

반환

Promise<TokenResponse>

process(Request, INodeSocket, INodeBuffer, (context: TurnContext) => Promise<void>)

각 스트리밍 요청에 논리 함수를 적용하여 웹 소켓 연결을 처리합니다.

function process(req: Request, socket: INodeSocket, head: INodeBuffer, logic: (context: TurnContext) => Promise<void>): Promise<void>

매개 변수

req
Request

들어오는 HTTP 요청

socket

INodeSocket

해당 INodeSocket

head

INodeBuffer

해당 INodeBuffer

logic

(context: TurnContext) => Promise<void>

적용할 논리 함수

반환

Promise<void>

비동기 작업을 나타내는 promise입니다.

process(Request, Response, (context: TurnContext) => Promise<void>)

논리 함수를 적용하여 웹 요청을 처리합니다.

function process(req: Request, res: Response, logic: (context: TurnContext) => Promise<void>): Promise<void>

매개 변수

req
Request

들어오는 HTTP 요청

res
Response

해당 HTTP 응답

logic

(context: TurnContext) => Promise<void>

적용할 논리 함수

반환

Promise<void>

비동기 작업을 나타내는 promise입니다.

processActivity(WebRequest, WebResponse, (context: TurnContext) => Promise<any>)

턴 컨텍스트를 비동기적으로 만들고 들어오는 작업에 대한 미들웨어 파이프라인을 실행합니다.

function processActivity(req: WebRequest, res: WebResponse, logic: (context: TurnContext) => Promise<any>): Promise<void>

매개 변수

req
WebRequest

Express 또는 Restify 스타일 요청 개체입니다.

res
WebResponse

Express 또는 Restify 스타일 응답 개체입니다.

logic

(context: TurnContext) => Promise<any>

미들웨어 파이프라인의 끝에서 호출할 함수입니다.

반환

Promise<void>

설명

이는 봇이 들어오는 메시지를 수신하고 대화의 차례를 정의하는 주요 방법입니다. 이 메서드는 다음과 같습니다.

  1. 들어오는 요청을 구문 분석하고 인증합니다.
    • 활동은 들어오는 요청의 본문에서 읽습니다. 작업을 구문 분석할 수 없는 경우 오류가 반환됩니다.
    • 보낸 사람의 ID는 봇 appId 의 및 를 사용하여 에뮬레이터 또는 유효한 Microsoft 서버로 인증됩니다 appPassword. 보낸 사람의 ID가 확인되지 않으면 요청이 거부됩니다.
  2. 수신된 작업에 대한 TurnContext 개체를 만듭니다.
  3. 어댑터의 미들웨어 파이프라인을 통해 턴 컨텍스트를 보냅니다.
  4. 함수에 턴 컨텍스트를 보냅니다 logic .
    • 봇은 현재 추가 라우팅 또는 처리를 수행할 수 있습니다. 프라미스를 반환하거나 처리기를 async 제공하면 어댑터가 비동기 작업이 완료될 때까지 기다립니다.
    • 함수가 logic 완료되면 미들웨어에서 설정한 프라미스 체인이 확인됩니다.

봇의 콘솔 출력에 오류가 TypeError: Cannot perform 'set' on a proxy that has been revoked 표시되면 키워드를 사용하지 await 않고 비동기 함수가 사용되었을 가능성이 높습니다. 모든 비동기 함수에서 await!

미들웨어는 턴을 단락 할 수 있습니다. 이 경우 후속 미들웨어와 logic 함수가 호출되지 않습니다. 그러나 이 시점 이전의 모든 미들웨어는 여전히 완료까지 실행됩니다. 미들웨어 파이프라인에 대한 자세한 내용은 봇 작동 방식미들웨어 문서를 참조하세요. 어댑터의 사용 방법을 사용하여 어댑터에 미들웨어를 추가합니다.

예:

server.post('/api/messages', (req, res) => {
   // Route received request to adapter for processing
   adapter.processActivity(req, res, async (context) => {
       // Process any messages received
       if (context.activity.type === ActivityTypes.Message) {
           await context.sendActivity(`Hello World`);
       }
   });
});

processActivityDirect(Activity, (context: TurnContext) => Promise<any>)

턴 컨텍스트를 비동기적으로 만들고 들어오는 작업에 대한 미들웨어 파이프라인을 실행합니다.

function processActivityDirect(activity: Activity, logic: (context: TurnContext) => Promise<any>): Promise<void>

매개 변수

activity

Activity

처리할 활동입니다.

logic

(context: TurnContext) => Promise<any>

미들웨어 파이프라인의 끝에서 호출할 함수입니다.

반환

Promise<void>

설명

이는 봇이 들어오는 메시지를 수신하고 대화의 차례를 정의하는 주요 방법입니다. 이 메서드는 다음과 같습니다.

  1. 수신된 작업에 대한 TurnContext 개체를 만듭니다.
  2. 어댑터의 미들웨어 파이프라인을 통해 턴 컨텍스트를 보냅니다.
  3. 함수에 턴 컨텍스트를 보냅니다 logic .
    • 봇은 현재 추가 라우팅 또는 처리를 수행할 수 있습니다. 프라미스를 반환하거나 처리기를 async 제공하면 어댑터가 비동기 작업이 완료될 때까지 기다립니다.
    • 함수가 logic 완료되면 미들웨어에서 설정한 프라미스 체인이 확인됩니다.

미들웨어는 턴을 단락 할 수 있습니다. 이 경우 후속 미들웨어와 logic 함수가 호출되지 않습니다. 그러나 이 시점 이전의 모든 미들웨어는 여전히 완료까지 실행됩니다. 미들웨어 파이프라인에 대한 자세한 내용은 봇 작동 방식미들웨어 문서를 참조하세요. 어댑터의 사용 방법을 사용하여 어댑터에 미들웨어를 추가합니다.

processRequest(IReceiveRequest)

요청의 유효성을 확인하고 올바른 가상 엔드포인트에 매핑한 다음, 적절한 경우 응답을 생성하고 반환합니다.

function processRequest(request: IReceiveRequest): Promise<StreamingResponse>

매개 변수

request

IReceiveRequest

연결된 채널의 ReceiveRequest입니다.

반환

Promise<StreamingResponse>

요청을 시작한 클라이언트로 보낼 BotAdapter에서 만든 응답입니다.

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가 포함됩니다.

signOutUser(TurnContext, string, string)

토큰 서버에서 사용자를 비동기적으로 로그아웃합니다.

function signOutUser(context: TurnContext, connectionName?: string, userId?: string): Promise<void>

매개 변수

context

TurnContext

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

connectionName

string

사용할 인증 연결의 이름입니다.

userId

string

로그아웃할 사용자의 ID입니다.

반환

Promise<void>

signOutUser(TurnContext, string, string, CoreAppCredentials)

function signOutUser(context: TurnContext, connectionName?: string, userId?: string, oAuthAppCredentials?: CoreAppCredentials): Promise<void>

매개 변수

context

TurnContext

connectionName

string

userId

string

oAuthAppCredentials

CoreAppCredentials

반환

Promise<void>

updateActivity(TurnContext, Partial<Activity>)

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

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

매개 변수

context

TurnContext

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

activity

Partial<Activity>

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

반환

Promise<ResourceResponse | void>

Promise 작업에 대한 ResourceResponse를 나타내는 입니다.

설명

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

useNamedPipe((context: TurnContext) => Promise<any>, string, number, () => void)

처리기를 명명된 파이프 서버에 연결하고 들어오는 요청을 수신 대기하기 시작합니다.

function useNamedPipe(logic: (context: TurnContext) => Promise<any>, pipeName?: string, retryCount?: number, onListen?: () => void): Promise<void>

매개 변수

logic

(context: TurnContext) => Promise<any>

들어오는 요청을 처리할 논리입니다.

pipeName

string

서버를 만들 때 사용할 명명된 파이프의 이름입니다.

retryCount

number

들어오고 나가는 파이프를 바인딩하려고 시도하는 횟수

onListen

() => void

서버가 들어오는 파이프와 나가는 파이프 모두에서 수신 대기할 때 한 번 발생하는 선택적 콜백

반환

Promise<void>

useWebSocket(WebRequest, INodeSocket, INodeBuffer, (context: TurnContext) => Promise<any>)

스트리밍 서버를 통해 수명이 긴 연결을 설정하도록 초기 요청을 처리합니다.

function useWebSocket(req: WebRequest, socket: INodeSocket, head: INodeBuffer, logic: (context: TurnContext) => Promise<any>): Promise<void>

매개 변수

req
WebRequest

연결 요청입니다.

socket

INodeSocket

봇(서버)과 채널/호출자(클라이언트) 간의 원시 소켓 연결입니다.

head

INodeBuffer

업그레이드된 스트림의 첫 번째 패킷입니다.

logic

(context: TurnContext) => Promise<any>

WebSocket 연결의 수명 동안 들어오는 스트리밍 요청을 처리하는 논리입니다.

반환

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

상속된 위치에서 BotAdapter.continueConversationAsync

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

상속된 위치에서 BotAdapter.continueConversationAsync

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

상속된 위치에서 BotAdapter.continueConversationAsync

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가 포함됩니다.

상속된 위치에서 BotAdapter.createConversationAsync

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

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

설명

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

상속된 위치에서 BotAdapter.use