다음을 통해 공유


ActivityHandler 클래스

정의

추가 서브클래싱을 위한 IBot 인터페이스의 구현입니다.

public class ActivityHandler : Microsoft.Bot.Builder.IBot
type ActivityHandler = class
    interface IBot
Public Class ActivityHandler
Implements IBot
상속
ActivityHandler
파생
구현

설명

이 클래스에서 파생되어 코드를 플러그 인하여 특정 활동 형식을 처리합니다. 파생 클래스에서 기본 클래스 구현을 호출하여 Activity 개체의 사전 및 후처리를 추가할 수 있습니다.

생성자

ActivityHandler()

추가 서브클래싱을 위한 IBot 인터페이스의 구현입니다.

메서드

CreateInvokeResponse(Object)

전달된 매개 변수로 본문을 초기화하고 상태가 OK와 같은 InvokeResponse 팩터리입니다.

OnAdaptiveCardInvokeAsync(ITurnContext<IInvokeActivity>, AdaptiveCardInvokeValue, CancellationToken)

봇이 적응형 카드 동작 실행을 보낼 때 호출됩니다.

OnCommandActivityAsync(ITurnContext<ICommandActivity>, CancellationToken)

OnTurnAsync(ITurnContext, CancellationToken) 기본 동작을 사용할 때 명령 작업이 수신될 때 호출됩니다. 명령은 작업을 수행하기 위한 요청이며 수신기는 일반적으로 하나 이상의 commandResult 활동으로 응답합니다. 또한 수신기는 지원되지 않는 명령 작업을 명시적으로 거부해야 합니다.

OnCommandResultActivityAsync(ITurnContext<ICommandResultActivity>, CancellationToken)

OnTurnAsync(ITurnContext, CancellationToken) 기본 동작을 사용할 때 CommandResult 작업이 수신될 때 호출됩니다. CommandResult 활동을 사용하여 명령 실행 결과를 전달할 수 있습니다.

OnConversationUpdateActivityAsync(ITurnContext<IConversationUpdateActivity>, CancellationToken)

OnTurnAsync(ITurnContext, CancellationToken) 기본 동작이 사용될 때 채널에서 대화 업데이트 작업을 수신할 때 호출됩니다. 대화 업데이트 활동은 대화에 추가되거나 제거되는 사용자에게 응답할 때 유용합니다. 예를 들어 봇은 사용자에게 인사말을 하여 추가되는 사용자에 응답할 수 있습니다. 기본적으로 이 메서드는 사용자가 추가된 경우 OnMembersAddedAsync(IList<ChannelAccount>, ITurnContext<IConversationUpdateActivity>, CancellationToken) 호출하거나 사용자가 제거된 경우 OnMembersRemovedAsync(IList<ChannelAccount>, ITurnContext<IConversationUpdateActivity>, CancellationToken). 이 메서드는 멤버 ID를 확인하여 봇 자체 이외의 멤버에 대한 업데이트에만 응답합니다.

OnEndOfConversationActivityAsync(ITurnContext<IEndOfConversationActivity>, CancellationToken)

파생 클래스에서 이를 재정의하여 대화 논리와 같은 EndOfConversation 작업에 특정한 논리를 제공합니다.

OnEventActivityAsync(ITurnContext<IEventActivity>, CancellationToken)

OnTurnAsync(ITurnContext, CancellationToken) 기본 동작을 사용할 때 커넥터에서 이벤트 활동을 수신할 때 호출됩니다. 이벤트 활동은 다양한 것을 전달하는 데 사용할 수 있습니다. 기본적으로 이 메서드는 활동의 이름이 tokens/response 경우 OnTokenResponseEventAsync(ITurnContext<IEventActivity>, CancellationToken) 호출하거나 그렇지 않으면 OnEventAsync(ITurnContext<IEventActivity>, CancellationToken). OAuthCard tokens/response 이벤트를 트리거할 수 있습니다.

OnEventAsync(ITurnContext<IEventActivity>, CancellationToken)

OnEventActivityAsync(ITurnContext<IEventActivity>, CancellationToken) 기본 동작을 사용할 때 tokens/response 이외의 이벤트가 수신될 때 호출됩니다. 봇이 기타 이벤트를 처리하려는 경우 이 메서드를 선택적으로 재정의할 수 있습니다. 기본적으로 이 메서드는 아무 작업도 수행하지 않습니다.

OnInstallationUpdateActivityAsync(ITurnContext<IInstallationUpdateActivity>, CancellationToken)

파생 클래스에서 이를 재정의하여 InstallationUpdate 작업에 특정한 논리를 제공합니다.

OnInstallationUpdateAddAsync(ITurnContext<IInstallationUpdateActivity>, CancellationToken)

파생 클래스에서 이를 재정의하여 'action'이 'add'로 설정된 InstallationUpdate 작업에 특정한 논리를 제공합니다.

OnInstallationUpdateRemoveAsync(ITurnContext<IInstallationUpdateActivity>, CancellationToken)

파생 클래스에서 이를 재정의하여 'action'이 'remove'로 설정된 InstallationUpdate 작업과 관련된 논리를 제공합니다.

OnInvokeActivityAsync(ITurnContext<IInvokeActivity>, CancellationToken)

OnTurnAsync(ITurnContext, CancellationToken) 기본 동작이 사용될 때 커넥터에서 호출 작업을 수신할 때 호출됩니다. 호출 활동을 사용하여 다양한 것을 전달할 수 있습니다. 기본적으로 이 메서드는 활동의 이름이 signin/verifyState 또는 signin/tokenExchange경우 OnSignInInvokeAsync(ITurnContext<IInvokeActivity>, CancellationToken) 호출합니다. OAuthCard signin/verifyState 또는 signin/tokenExchange 호출을 트리거할 수 있습니다.

OnMembersAddedAsync(IList<ChannelAccount>, ITurnContext<IConversationUpdateActivity>, CancellationToken)

봇이 아닌 멤버가 대화에 참가하는 경우(예: 봇의 시작 논리)에 대한 논리를 제공하도록 파생 클래스에서 이를 재정의합니다.

OnMembersRemovedAsync(IList<ChannelAccount>, ITurnContext<IConversationUpdateActivity>, CancellationToken)

봇 이외의 멤버가 대화를 떠날 때(예: 봇의 good-bye 논리) 논리를 제공하기 위해 파생 클래스에서 이를 재정의합니다.

OnMessageActivityAsync(ITurnContext<IMessageActivity>, CancellationToken)

파생 클래스에서 이를 재정의하여 대화 논리와 같은 Message 작업에 특정한 논리를 제공합니다.

OnMessageDeleteActivityAsync(ITurnContext<IMessageDeleteActivity>, CancellationToken)

파생 클래스에서 이를 재정의하여 대화 논리와 같은 MessageDelete 작업에 특정한 논리를 제공합니다.

OnMessageReactionActivityAsync(ITurnContext<IMessageReactionActivity>, CancellationToken)

OnTurnAsync(ITurnContext, CancellationToken) 기본 동작을 사용할 때 커넥터에서 이벤트 활동을 수신할 때 호출됩니다. 메시지 반응은 이전에 보낸 활동에 'like' 또는 'sad' 등(종종 이모지)을 추가하는 사용자에 해당합니다. 메시지 반응은 일부 채널에서만 지원됩니다. 메시지 반응에 해당하는 활동은 replyToId 속성에 표시됩니다. 이 속성의 값은 보내기 호출의 응답으로 봇에 다시 제공된 이전에 보낸 활동의 활동 ID입니다.

OnMessageUpdateActivityAsync(ITurnContext<IMessageUpdateActivity>, CancellationToken)

파생 클래스에서 이를 재정의하여 대화 논리와 같은 MessageUpdate 작업에 특정한 논리를 제공합니다.

OnReactionsAddedAsync(IList<MessageReaction>, ITurnContext<IMessageReactionActivity>, CancellationToken)

이전 활동에 대한 반응이 대화에 추가되는 경우에 대한 논리를 제공하도록 파생 클래스에서 이를 재정의합니다.

OnReactionsRemovedAsync(IList<MessageReaction>, ITurnContext<IMessageReactionActivity>, CancellationToken)

이전 활동에 대한 반응이 대화에서 제거되는 경우에 대한 논리를 제공하도록 파생 클래스에서 이를 재정의합니다.

OnSearchInvokeAsync(ITurnContext<IInvokeActivity>, SearchInvokeValue, CancellationToken)

봇이 'application/search'라는 이름을 가진 'invoke' 활동을 보낼 때 호출됩니다.

OnSignInInvokeAsync(ITurnContext<IInvokeActivity>, CancellationToken)

OnInvokeActivityAsync(ITurnContext<IInvokeActivity>, CancellationToken) 기본 동작을 사용할 때 signin/verifyState 또는 signin/tokenExchange 이벤트가 수신될 때 호출됩니다. OAuthPrompt사용하는 경우 이 Activity 현재 대화 상자로 전달하도록 이 메서드를 재정의합니다. 기본적으로 이 메서드는 아무 작업도 수행하지 않습니다.

OnTokenResponseEventAsync(ITurnContext<IEventActivity>, CancellationToken)

OnEventActivityAsync(ITurnContext<IEventActivity>, CancellationToken) 기본 동작을 사용할 때 tokens/response 이벤트가 수신될 때 호출됩니다. OAuthPrompt사용하는 경우 이 Activity 현재 대화 상자로 전달하도록 이 메서드를 재정의합니다. 기본적으로 이 메서드는 아무 작업도 수행하지 않습니다.

OnTurnAsync(ITurnContext, CancellationToken)

인바운드 Activity처리하기 위해 런타임 시 어댑터(예: BotFrameworkAdapter)에서 호출됩니다.

OnTypingActivityAsync(ITurnContext<ITypingActivity>, CancellationToken)

파생 클래스에서 이를 재정의하여 대화 논리와 같은 Typing 작업에 특정한 논리를 제공합니다.

OnUnrecognizedActivityTypeAsync(ITurnContext, CancellationToken)

메시지, 대화 업데이트 또는 이벤트 이외의 활동이 OnTurnAsync(ITurnContext, CancellationToken) 기본 동작을 사용할 때 수신될 때 호출됩니다. 재정의되는 경우 ContactRelationUpdate 또는 EndOfConversation같은 다른 활동 유형에 응답할 수 있습니다. 기본적으로 이 메서드는 아무 작업도 수행하지 않습니다.

적용 대상