티스토리 뷰

GPT5 Thinking으로 작성한 글입니다.

 

요약

  • 채널: @봇 멘션 → app_mention 이벤트 발생.
  • 1:1 DM(사람↔사람 대화): 여기에 봇이 없으면 어떤 이벤트도 안 옴. 멘션도 무효.
  • 해결: DM처럼 쓰고 싶다면 슬래시 커맨드를 쓰자. (예: /book …)
    • 또는 그룹 DM봇을 추가하고 message.mpim을 구독.

원인 쉽게 이해하기

  • 슬랙은 대화 참가자만 메시지를 볼 수 있어요.
    “사람 A ↔ 사람 B” DM에는 봇이 참가자가 아니므로 이벤트가 안 옵니다.

어떻게 하면 되나

1) 슬래시 커맨드로 받기 (권장)

  • 앱 설정: Slash Commands → Create New Command (예: /book)
  • 스코프: commands (변경 시 Reinstall)
  • 코드:
  • @app.command("/book") def handle_book(ack, respond, command): ack() text = (command.get("text") or "").strip() respond(f"접수: `{text}`")
  • 장점: 봇이 대화에 없어도 동작, DM/채널 어디서나 호출 가능.

2) 그룹 DM에서 멘션 받고 싶다면

  • DM에 봇을 초대해 “그룹 DM(mpim)”으로 만들기
  • 스코프: mpim:history
  • 이벤트 구독: message.mpim
  • 코드에서 channel_type == "mpim" 처리

3) 진짜 봇과 1:1 DM

  • App Home → Messages Tab “Allow users to send messages to this app” ON
  • 스코프: im:history
  • 이벤트 구독: message.im
    (이건 “나 ↔ 봇” DM일 때만 해당)

체크리스트(한 줄 요약)

  • “사람끼리 DM” → 봇 불참 → 이벤트 없음 → 슬래시 커맨드로 해결

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함