본문 바로가기

Projects6

[Slack AI Bot] Redis로 부재 감지 시간 조정 Redis를 사용해 슬랙 사용자의 활동을 추적하는 서비스 생성 주요 필드KEY_PREFIX = "activity:" -> Redis 키 접두사ttlHours = 4 -> 데이터 자동 삭제 시간(4시간)redisTemplate -> Redis 작업용objectMapper -> Java, JSON 변환 recordActivity(userId, channelId) /** * 사용자 활동 기록 -> 메시지 받을 때 마다 실행 * @param userId 사용자 ID * @param channelId 채널 ID */ public void recordActivity(String userId, String channelId) { String key = createK.. 2025. 12. 7.
[Slack AI Bot] 사용자 부재 이벤트 감지 방법 -> Redis? 사용자의 부재 시간을 감지하는 방법 고르기 방법 1. 메시지 이벤트로 활동 추적(+) 구현 간단(+) 실시간 추적(+) 슬랙 API 호출 불필요 (-) 메시지를 안 보내도 채널을 보고 있는 사람은 감지할 수 없음(-) 읽음 여부를 알 수 없음 방법 2. Slack Presence API 사용(+) 실제 온/오프라인 상태 감지(+) 메시지를 안 보내도 "보고 있는" 사람 감지 가능 (-) Slack API 호출 필요 -> Rate Limit 고려...(-) 모든 사용자를 추적해야 함 -> 리소스 우려... 방법 3. 데이터베이스 기반 추적(+) 데이터 영구 보존(+) 서버 재시작 시에도 데이터 유지 (-) DB 설정 및 관리 필요(-) 메시지마다 DB Write -> 부하 우려... 방법 4. .. 2025. 11. 30.
[Slack AI Bot] 슬랙 메시지 수집 & 디엠 전송 기능 점검 1. Slack 메시지 수집1-1. Slack AI Bot 확인 1-2. 테스트 채널 생성 후, slack ai bot 초대 1-3. 도커 이미지 배포 및 ngrok 설정이 된 상태에서, 스프링 애플리케이션으로 슬랙에 작성된 메시지 수집* 임시 엔드포인트 설정하여 확인2. 디엠 전송* 위와 마찬가지로 임시 엔드포인트 생성해 확인 2025. 11. 23.
[Slack AI Bot] ngrok으로 로컬 서버 외부 노출 ngrok로컬 서버를 인터넷에 임시로 노출시켜주는 터널링 서비스Slack 서버가 localhost:8080에 직접 접근 불가하므로 ngrok 사용ngrok 설정ngrok 접속 로컬호스트가 떠있는지 확인 Slack Event Subscriptions 설정Slack API 설정 : https://api.slack.com/apps -> ngrok에서 포워딩된 url 입력 verified 확인 : Request URL 입력 시 슬랙이 바로 검증 요청을 보내기에 스프링에서 임시 엔드포인트 설정package com.group.slack_ai_summary.slack.api.controller;import org.springframework.web.bind.annotation.PostMapping;im.. 2025. 11. 23.
[Slack AI Bot] Slack 애플리케이션 설정 슬랙 앱 생성Bot Token Scopes 설정channels:history - 채널 메시지 읽기channels:read - 채널 목록 보기chat:write - 메시지 보내기users:read - 유저 정보 읽기im:write - DM 보내기 slack 키 값 관리docker-compose.yml -> .env 파일로 관리services: # 메인 애플리케이션 (모든 profile에서 실행) app: build: . container_name: slack-absence-summary ports: - "8080:8080" env_file: - .env # .env 파일 로드 environment: - SPRING_AI_OPENAI_API_KEY=.. 2025. 11. 23.
[Slack AI Bot] 스프링 부트 CI/CD 파이프라인 구축 Slack 부재 메시지 AI 요약카카오톡에서 제공하는 AI 요약기능을 슬랙에 붙이면 어떨까? 하는 생각에서 시작된 사이드 프로젝트이다. [MVP] 주 기능메시지 수집 : 슬랙 채널의 메시지를 실시간 수집부재 감지 : 사용자가 24시간 이상 메시지를 읽지 않으면 감지(우선 24시간으로 설정)AI 요약 : 놓친 메시지를 Open API로 요약DM 전송 : 요약 내용을 슬랙 DM으로 전송모니터링 : Prometheus로 메트릭 수집 & Grafana로 시각화CI/CD 파이프라인 구축1. Spring Boot 애플리케이션 생성프로젝트명 : Slack AI SummaryJava 17, Spring Boot 3.5.7 2. Docker 컨테이너화Dockerfile & docker-compose.yml & .env .. 2025. 11. 18.