docs: Slack ID 변경 시 수정 파일 목록 및 슬랙 명령어 설계 추가

- gmail_tokens 컬럼 변경 시 수정해야 할 4개 파일 명시
- 슬랙에서 뉴스 키워드 설정하는 명령어 설계
- 일반 메시지 명령어와 슬래시 명령어 대안 제시
- 코드 제거하고 설명으로 대체
This commit is contained in:
Claude-51124 2025-08-26 22:22:27 +09:00
parent faa9ce7ba9
commit 3069b2cdf5

View File

@ -17,6 +17,8 @@
| conversation_logs | slack_user_id | VARCHAR(100) |
### 해결 방안
#### DB 스키마 변경
```sql
-- gmail_tokens 컬럼명 변경
ALTER TABLE gmail_tokens ADD COLUMN slack_user_id VARCHAR(100);
@ -24,6 +26,14 @@ UPDATE gmail_tokens SET slack_user_id = slack_id;
ALTER TABLE gmail_tokens DROP COLUMN slack_id;
```
#### 코드 수정 필요
| 파일 경로 | 변경 내용 |
|-----------|----------|
| auth-server/models.py | slack_id → slack_user_id |
| robeing-monitor/database.py | slack_id → slack_user_id |
| skill-email/db_client.py | slack_id → slack_user_id |
| rb8001/app/brain/state_client.py | gmail_tokens 조회 시 컬럼명 |
---
## 2. 뉴스 키워드 하드코딩 문제
@ -47,20 +57,31 @@ CREATE TABLE user_preferences (
);
```
```python
# rb8001/dm_skill.py 수정
async def get_user_keywords(slack_user_id: str) -> List[str]:
db = SessionLocal()
result = db.execute(
text("SELECT news_keywords FROM user_preferences WHERE slack_user_id = :sid"),
{"sid": slack_user_id}
).fetchone()
return result[0] if result else ["AI", "기술", "IT"]
```
### rb8001 코드 수정
- dm_skill.py의 get_news_content() 메서드에서 사용자별 키워드 조회
- 하드코딩된 ["AI", "기술", "IT"] 대신 user_preferences 테이블에서 조회
- 없으면 기본값 사용
### 슬랙 명령어 설계
#### 일반 메시지 명령어
- **설정**: "@로빙 뉴스 키워드 설정: 삼성, 반도체, AI"
- **확인**: "@로빙 내 뉴스 키워드"
- **초기화**: "@로빙 뉴스 키워드 초기화"
#### 슬래시 명령어 (대안)
- **/news-keywords set** 삼성, 반도체, AI
- **/news-keywords list**
- **/news-keywords reset**
#### 구현 방법
1. rb8001이 메시지에서 "뉴스 키워드 설정:" 패턴 감지
2. user_preferences 테이블에 키워드 저장 (INSERT ON CONFLICT UPDATE)
3. 다음 브리핑부터 해당 키워드로 뉴스 검색
### 프론트엔드 연동
- ActivityPanel 설정 UI 활용 (250825 문서 참조)
- Gateway API로 user_preferences CRUD 구현
- ActivityPanel 설정 UI에서도 동일하게 user_preferences 수정
- Gateway API 엔드포인트로 CRUD 구현
---