콘텐츠로 이동

채널별 리액션 기능을 하나로 관리하기

여러 메시징 채널을 통합하다 보면 가장 번거로운 것 중 하나가 리액션 처리예요. 채널마다 API 규격이 다르고 리액션을 수정하거나 삭제하는 방식도 제각각이라 개발자 입장에서는 코드가 복잡해지기 쉽거든요.

이런 파편화된 리액션 로직을 어떻게 일관된 방식으로 다룰 수 있는지 핵심만 정리해 드릴게요.

  • emoji: 리액션을 추가하거나 특정 리액션을 지정할 때 필요한 필수 파라미터예요.
  • channels.signal.reactionNotifications: Signal 채널에서 인바운드 리액션 알림을 받으려면 이 설정이 활성화되어 있어야 해요.

모든 채널에서 공통으로 사용하는 리액션 문법이에요. 딱 두 가지만 기억하면 돼요.

  1. 리액션 추가하기 emoji 파라미터에 원하는 이모지를 넣으세요. 리액션을 추가할 때 이 값은 필수예요.

  2. 리액션 삭제하기

    • 모든 리액션 제거: emoji="" (빈 문자열)을 전달하세요.
    • 특정 리액션 제거: emoji와 함께 remove: true를 전달하세요.

채널마다 리액션이 동작하는 세부 방식이 조금씩 달라요. 문제가 생기면 아래 내용을 확인해 보세요.

  • emoji=""를 사용하면 해당 메시지에 달린 봇의 모든 리액션이 사라져요.
  • 특정 리액션만 지우고 싶다면 remove: true를 설정하세요.
  • 빈 emoji 값은 앱이 추가한 모든 리액션을 삭제해요.
  • remove: true를 쓰면 지정한 특정 이모지만 삭제할 수 있어요.
  • 리액션을 삭제할 때도 Tool validation을 위해 비어 있지 않은 emoji 값이 필요해요. remove: true와 함께 실제 이모지 값을 꼭 넣어주세요.
  • 리액션 삭제 시 remove: true를 설정하면 내부적으로 빈 이모지 값으로 매핑되어 처리돼요. 이때도 emoji 값은 필수로 포함해야 해요.
  • Signal은 시스템 이벤트를 통해 리액션 알림을 보내요. 알림이 오지 않는다면 channels.signal.reactionNotifications 설정이 켜져 있는지 확인해 보세요.

궁금한 점이 더 있다면 AI Setup Assistant에게 물어보세요.

OpenClaw

OpenClaw Expert

아직 막혀 있나요?

이 문서에서 답을 못 찾았다면 OpenClaw Expert에게 바로 물어보세요.