Tools

반응

에이전트는 message 도구의 react 액션으로 이모지 반응을 추가하고 제거합니다. 동작은 채널에 따라 다릅니다.

작동 방식

json
{  "action": "react",  "messageId": "msg-123",  "emoji": "thumbsup"}
  • 반응을 추가할 때는 emoji가 필수입니다.
  • 이를 지원하는 채널에서 봇의 반응을 제거하려면 emoji를 빈 문자열("")로 설정합니다.
  • 특정 이모지 하나를 제거하려면 remove: true를 설정합니다(비어 있지 않은 emoji 필요).
  • 상태 반응을 지원하는 채널에서는 반응에 trackToolCalls: true를 설정하면 런타임이 같은 턴의 후속 도구 진행 상황 반응에 해당 반응 메시지를 재사용할 수 있습니다.

채널별 동작

Discord 및 Slack
  • emoji는 메시지에서 봇의 모든 반응을 제거합니다.
  • remove: true는 지정한 이모지만 제거합니다.
Nextcloud Talk
  • 반응 추가만 지원합니다. emoji는 필수이며 비어 있지 않아야 합니다.
  • 반응 제거는 아직 삭제 호출에 연결되어 있지 않습니다. remove: true는 아무 작업도 하지 않고 넘어가는 대신 명시적인 오류와 함께 거부됩니다.
  • reaction 기능으로 등록된 Talk 봇이 필요합니다(Nextcloud Talk 채널 문서 참조).
Telegram
  • emoji는 봇의 반응을 제거합니다.
  • remove: true도 반응을 제거하지만, 도구 검증을 위해 비어 있지 않은 emoji가 여전히 필요합니다.
WhatsApp
  • emoji는 봇 반응을 제거합니다.
  • remove: true는 내부적으로 빈 이모지에 매핑됩니다(도구 호출에는 여전히 emoji가 필요함).
  • WhatsApp에서는 메시지당 봇 반응 슬롯이 하나뿐이므로, 새 반응을 보내면 여러 이모지가 누적되는 대신 기존 반응이 교체됩니다.
Zalo Personal (zalouser)
  • 추가와 제거 모두 비어 있지 않은 emoji가 필요합니다.
  • remove: true는 해당 특정 이모지 반응을 제거합니다.
Feishu/Lark
  • 별도 도구가 아니라 다른 채널과 동일한 react 액션을 사용합니다(메시지 반응 ID를 통한 추가/제거/목록 조회).
  • 추가하려면 비어 있지 않은 emoji가 필요합니다(Feishu emoji_type에 매핑됨. 예: SMILE, THUMBSUP, HEART).
  • remove: true에는 비어 있지 않은 emoji가 필요하며, 해당 이모지 유형과 일치하는 봇 자체의 반응을 제거합니다.
  • emojiclearAll: true를 함께 사용하면 메시지에서 봇의 모든 반응을 제거합니다.
Signal
  • 수신 반응 알림은 channels.signal.reactionNotifications로 제어합니다. "off"는 알림을 비활성화하고, "own"(기본값)은 사용자가 봇 메시지에 반응할 때 이벤트를 발생시키며, "all"은 모든 반응에 대해 이벤트를 발생시키고, "allowlist"channels.signal.reactionAllowlist에 있는 발신자의 반응에 대해서만 이벤트를 발생시킵니다.
iMessage
  • 발신 반응은 iMessage 탭백(love, like, dislike, laugh, emphasize, question)입니다. 반응을 추가하려면 emoji가 이 유형 중 하나에 매핑되어야 합니다.
  • 인식되는 탭백 유형 없이 remove: true를 사용하면 모든 탭백 유형을 제거하고, 인식되는 유형과 함께 사용하면 해당 유형만 제거합니다.

반응 수준

채널별 reactionLevel은 에이전트가 자체 반응을 보내는 빈도를 제한합니다. 값은 off, ack, minimal, extensive입니다.

관련 항목

Was this useful?
On this page

On this page