docs: Slack ID 변경 시 수정 파일 목록 및 슬랙 명령어 설계 추가
- gmail_tokens 컬럼 변경 시 수정해야 할 4개 파일 명시 - 슬랙에서 뉴스 키워드 설정하는 명령어 설계 - 일반 메시지 명령어와 슬래시 명령어 대안 제시 - 코드 제거하고 설명으로 대체
This commit is contained in:
parent
faa9ce7ba9
commit
3069b2cdf5
@ -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 구현
|
||||
|
||||
---
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user