Teams용 봇을 만들려면 Teams 활동 처리기 클래스에서 봇을 파생합니다. 이러한 봇은 활동을 받으면 다양한 활동 처리기를 통해 활동을 라우팅합니다. 초기 기본 처리기는 턴 처리 기이며 활동의 형식에 따라 작업을 처리기로 라우팅합니다. 턴 처리기는 수신된 특정 유형의 작업을 처리하도록 설계된 처리기를 호출합니다. Teams 활동 처리기 클래스는 활동 처리기 클래스에서 파생됩니다. 활동 처리기가 처리할 수 있는 활동 유형 외에도 Teams 활동 처리기 클래스에는 Teams 특정 활동에 대한 추가 처리기가 포함됩니다.
Teams 활동 처리기에서 파생되는 봇은 활동 처리기 클래스에서 직접 파생되는 봇과 비슷합니다.
그러나 Teams는 활동에 추가 정보를 conversationUpdate 포함하고 Teams 관련 invoke 활동과 event 활동을 보냅니다.
Teams 활동 처리기-봇이 메시지 활동을 수신하는 경우 턴 처리기는 들어오는 메시지 활동을 OnMessageActivityAsync 해당 처리기로 라우팅합니다( 활동 처리기 기반 봇의 방식과 유사). 그러나 Teams 봇이 대화 업데이트 활동을 받으면 Teams 버전의 OnConversationUpdateActivityAsync 처리기가 활동을 처리합니다.
대부분의 Teams 특정 활동 처리기에 대한 기본 구현은 없습니다. 이러한 처리기를 재정의하고 봇에 적절한 논리를 제공해야 합니다.
Teams 활동 처리기-봇이 메시지 활동을 수신하는 경우 턴 처리기는 들어오는 메시지 활동을 onMessage 해당 처리기로 라우팅합니다( 활동 처리기 기반 봇의 방식과 유사). 그러나 Teams 봇이 대화 업데이트 활동을 받으면 Teams 버전의 dispatchConversationUpdateActivity 처리기가 활동을 처리합니다.
대부분의 Teams 특정 활동 처리기에 대한 기본 구현은 없습니다. 이러한 처리기를 재정의하고 봇에 적절한 논리를 제공해야 합니다.
이러한 Teams 특정 활동 처리기를 재정의하는 경우 봇 논리를 정의한 다음, 마지막에 호출 next() 해야 합니다. 호출 next()하여 다음 처리기가 실행되는지 확인합니다.
Teams 활동 처리기-봇이 메시지 활동을 수신하는 경우 턴 처리기는 들어오는 메시지 활동을 onMessageActivity 해당 처리기로 라우팅합니다( 활동 처리기 기반 봇의 방식과 유사). 그러나 Teams 봇이 대화 업데이트 활동을 받으면 Teams 버전의 onConversationUpdateActivity 처리기가 활동을 처리합니다.
대부분의 Teams 특정 활동 처리기에 대한 기본 구현은 없습니다. 이러한 처리기를 재정의하고 봇에 적절한 논리를 제공해야 합니다.
Teams 활동 처리기-봇이 메시지 활동을 수신하는 경우 턴 처리기는 들어오는 메시지 활동을 on_message_activity 해당 처리기로 라우팅합니다( 활동 처리기 기반 봇의 방식과 유사). 그러나 Teams 봇이 대화 업데이트 활동을 받으면 Teams 버전의 on_conversation_update_activity 처리기가 활동을 처리합니다.
대부분의 Teams 특정 활동 처리기에 대한 기본 구현은 없습니다. 이러한 처리기를 재정의하고 봇에 적절한 논리를 제공해야 합니다.
활동 처리기 문서를 사용하여 이벤트 기반 대화의 활동 처리 섹션에 설명된 모든 활동 처리기는 비 Teams 봇과 마찬가지로 계속 작동합니다. 단, 추가 및 제거된 활동을 처리하는 경우를 제외하고 이러한 활동은 메시지 스레드가 아닌 팀에 새 멤버가 추가되는 팀의 컨텍스트에서 다릅니다. 자세한 내용은 Teams 대화 업데이트 활동을 참조하세요.
이러한 Teams 특정 활동 처리기에 대한 논리를 구현하려면 봇에서 메서드를 재정의합니다.
Teams-봇 논리
봇 논리는 하나 이상의 봇 채널에서 들어오는 활동을 처리하고 응답에서 나가는 활동을 생성합니다. Teams 활동 처리기 클래스에서 파생된 봇은 여전히 마찬가지입니다. 이 클래스는 먼저 Teams 활동을 확인한 다음 다른 모든 활동을 Bot Framework의 활동 처리기에 전달합니다.
개발자는 다음 두 가지 방법을 통해 Microsoft Teams에서 보낸 대화 업데이트 활동을 처리할 수 있습니다.
콜백을 전달하려면 메서드로 on 시작하고 끝나는 Event 메서드(예: onTeamsMembersAddedEvent 메서드)를 사용합니다.
파생 클래스를 만들 때(예: 메서드)로 on시작하고 끝나지 Event 않는 메서드를 재정의 onTeamsMembersAdded 합니다.
개발자는 동일한 작업에 대해 둘 다 사용하지 않고 1 또는 2 옵션 중 하나만 사용해야 합니다. 즉, 개발자는 메서드에 콜백을 onTeamsMembersAddedEvent 전달하거나 파생 클래스에서 메서드를 재정의 onTeamsMembersAdded 해야 하며 둘 다 수행하지 않아야 합니다.
콜백을 등록하는 메서드
다음은 Teams 활동 처리기의 메서드에서 호출된 dispatchConversationUpdateActivity 모든 Teams 활동 내보내기 목록입니다.
Teams 활동 처리기에서 OnEventActivityAsync호출된 Teams 관련 이벤트 활동 처리기입니다.
이벤트 유형
처리기
설명
application/vnd.microsoft.meetingEnd
OnTeamsMeetingEndAsync
봇은 방금 종료된 모임과 연결됩니다.
application/vnd.microsoft.meetingStart
OnTeamsMeetingStartAsync
봇은 방금 시작된 모임과 연결됩니다.
Teams 활동 처리기에서 onEventActivity호출된 Teams 관련 이벤트 활동 처리기입니다.
이벤트 유형
처리기
설명
application/vnd.microsoft.meetingEnd
onTeamsMeetingEnd
봇은 방금 종료된 모임과 연결됩니다.
application/vnd.microsoft.meetingStart
onTeamsMeetingStart
봇은 방금 시작된 모임과 연결됩니다.
Teams 활동 처리기에서 onEventActivity호출된 Teams 관련 이벤트 활동 처리기입니다.
이벤트 유형
처리기
설명
application/vnd.microsoft.meetingEnd
onTeamsMeetingEnd
봇은 방금 종료된 모임과 연결됩니다.
application/vnd.microsoft.meetingStart
onTeamsMeetingStart
봇은 방금 시작된 모임과 연결됩니다.
Teams 활동 처리기에서 on_event_activity호출된 Teams 관련 이벤트 활동 처리기입니다.
이벤트 유형
처리기
설명
application/vnd.microsoft.meetingEnd
on_teams_meeting_end_event
봇은 방금 종료된 모임과 연결됩니다.
application/vnd.microsoft.meetingStart
on_teams_meeting_start_event
봇은 방금 시작된 모임과 연결됩니다.
Teams 호출 활동
다음 표에서는 Teams가 봇에 보내는 Teams별 호출 활동을 나열합니다.
나열된 호출 활동은 Teams의 대화형 봇을 위한 것입니다. 또한 Bot Framework SDK는 메시징 확장과 관련된 호출도 지원합니다. 자세한 내용은 Teams 메시징 확장 프로그램 문서를 참조하세요.
참고 항목
Microsoft Teams 플랫폼 설명서 및 TeamsJS(Teams JavaScript 클라이언트 라이브러리)는 작업 모듈을 모달 대화 상자로 참조합니다. 자세한 내용은 대화 상자를 참조하세요.