더 이상 멘션(Mentions)이 대화를 계속 이끌어갈 필요가 없습니다. 스레드(Thread)에 활성 세션(Active Session)이 있으면, 에이전트(Agent)가 스스로 답변할 수 있습니다.
라우팅(Routing)이 스레드에 누가 참여했는지에 따라 결정되는 경우, 새로운 헬퍼(Helper)는 첫 등장 순서대로 고유한 인간 Slack 사용자 ID를 반환합니다. 공개 채널 메시지에는 message.channels 트리거 이벤트 유형과 channels:history 봇 스코프(Bot Scope)가 필요합니다. 비공개 채널에는 message.groups와 groups:history도 필요합니다.
메시지 훅(Message Hooks)은 또한 스레드에 종속된 두 가지 세션 헬퍼를 받습니다.
세션을 유지하면서 현재 턴(Turn)을 중단하려면 ctx.cancel({ auth })를 호출하세요. 이를 반환하기 전에 호출하면 새 메시지를 교체 입력으로 큐(Queue)에 대기시키므로, 턴 중간의 수정 사항이 오래된 작업을 폐기하고 에이전트가 최신 메시지에 응답하게 합니다.
대화가 처음부터 다시 시작되어야 하는 경우에는 스레드를 소유한 세션을 종결적으로 은퇴(Terminally retires)시킵니다. 다음에 전달되는 메시지는 새로운 히스토리(History), 상태(State), 샌드박스(Sandbox)와 함께 새로운 세션을 시작합니다. 디스패치 로직(Dispatch logic) 내부에서 리셋(Reset) 명령은 세 줄이면 충분합니다: onMessage 내에서 ctx.reset()을 호출하세요.
새로운 훅은 reaction_added, team_join, channel_created와 같은 원시 이벤트(Raw events)를 받습니다. 훅 내부에서 ctx.receive()를 호출하여 에이전트 턴을 시작하거나, 여러 번 호출하여 하나의 이벤트를 여러 대상에 팬아웃(Fan out)할 수 있습니다. 예를 들어, team_join 이벤트는 각 웰컴 채널(Welcome channels)에서 온보딩(Onboarding)을 시작할 수 있습니다.
시작하려면 Slack 채널 문서를 읽거나, eve channels add slack으로 Eve 에이전트에 채널을 추가하세요.
더 읽어보기
반복적인 멘션 없이 대화 이어가기
턴 취소 또는 대화 리셋하기
모든 Events API 콜백 처리하기