- 7-8월 초기 구축 문서 12개를 _archive/troubleshooting/2025_07-08_initial_setup/로 이동 - book/300_architecture/390_human_in_the_loop_intent_learning.md를 journey/research/intent_classification/로 이동 (개발 여정 문서) - 빈 폴더 제거 (journey/assets/*)
1.7 KiB
1.7 KiB
Slack 메시지 처리 문제 해결
문제 상황들
1. 일반 채널에서 멘션 없이도 응답하는 문제
- 증상: 채널에서 멘션 없이 "안녕"이라고 해도 로빙이 응답
- 원인: Slack 이벤트 핸들러가 모든 메시지에 반응하도록 설정됨
2. 멘션 포함 메시지 처리 시 422 에러
- 증상: "@로빙 넌 누구니" 같은 메시지에서 LLM 서비스 422 에러 발생
- 원인: 멘션(
<@U096JGL9011>)이 포함된 채로 LLM 서비스로 전송됨
3. Slack 메시지 전송 실패 (404 Not Found)
- 증상: 응답 생성 후 Slack으로 전송 시 404 에러
- 원인: 잘못된 API 엔드포인트 사용
해결 방법
1. DM 전용 처리로 변경
# /home/heejae/rb10408_test/app/router/slack_handler.py
@slack_app.event("message")
async def handle_message_events(event, say, ack):
await ack()
# DM이 아닌 경우 무시
if event.get("channel_type") != "im":
return
2. 멘션 제거 로직 추가
# /home/heejae/rb10408_test/main.py
message = event.get("text", "")
# 멘션 제거 (예: <@U123ABC> 형식)
import re
message = re.sub(r'<@[A-Z0-9]+>', '', message).strip()
3. Slack API 엔드포인트 수정
# 변경 전
"http://localhost:8502/send"
# 변경 후
"http://localhost:8502/api/v1/send"
추가 발견 사항
- Slack 스킬 서비스는 포트 8502 사용 (8503 아님)
- API는
/api/v1prefix 필요 - 서비스 위치:
/home/heejae/skill-slack/
관련 파일
/home/heejae/rb10408_test/app/router/slack_handler.py/home/heejae/rb10408_test/main.py/home/heejae/rb10408_test/app/core/config.py