Tools
반응
에이전트는 message 도구의 react 액션으로 이모지 반응을 추가하고 제거합니다. 동작은 채널에 따라 다릅니다.
작동 방식
{ "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가 여전히 필요합니다.
- 빈
emoji는 봇 반응을 제거합니다. remove: true는 내부적으로 빈 이모지에 매핑됩니다(도구 호출에는 여전히emoji가 필요함).- WhatsApp에서는 메시지당 봇 반응 슬롯이 하나뿐이므로, 새 반응을 보내면 여러 이모지가 누적되는 대신 기존 반응이 교체됩니다.
Zalo Personal (zalouser)
- 추가와 제거 모두 비어 있지 않은
emoji가 필요합니다. remove: true는 해당 특정 이모지 반응을 제거합니다.
Feishu/Lark
- 별도 도구가 아니라 다른 채널과 동일한
react액션을 사용합니다(메시지 반응 ID를 통한 추가/제거/목록 조회). - 추가하려면 비어 있지 않은
emoji가 필요합니다(Feishuemoji_type에 매핑됨. 예:SMILE,THUMBSUP,HEART). remove: true에는 비어 있지 않은emoji가 필요하며, 해당 이모지 유형과 일치하는 봇 자체의 반응을 제거합니다.- 빈
emoji와clearAll: 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입니다.
- Telegram 반응 알림 -
channels.telegram.reactionLevel(기본값minimal) - WhatsApp 반응 수준 -
channels.whatsapp.reactionLevel(기본값minimal) - Signal 반응 -
channels.signal.reactionLevel(기본값minimal)
관련 항목
Was this useful?