Kord/Docs/Plans/Bot_Presence_Plan.md

32 lines
1.5 KiB
Markdown

# Kord - 봇 상태 메시지 기획 (Bot Presence / Activity)
## 1. 개요
봇의 Discord Presence(활동 상태)를 동적으로 변경하여 사용자에게 생동감 있는 정보를 제공하고, 주요 명령어 및 서버 규모를 안내합니다.
## 2. 기능 상세
- **동적 상태 메시지**: `{guildCount}개의 서버에서 활동 중`, `/help 명령어를 입력하세요` 등을 순환 표시.
- **자동 갱신**: 5분 간격으로 메시지 교체 (Rotation).
- **이벤트 트리거**: 봇이 새로운 서버에 추가(guildCreate)되거나 나갈(guildDelete) 때 즉시 서버 수를 업데이트하여 정확한 정보 표시.
## 3. 메시지 리스트 (Templates)
1. `{guildCount}개의 서버에서 활동 중` (Watching)
2. `/help 전용 안내` (Listening)
3. `임시 음성 채널 관리 중` (Playing)
4. `Kord v1.0.0` (Competing) — 버전 정보 등
## 4. 기술 설계
- **핵심 모듈**: `src/services/PresenceService.ts`
- **로직**:
- `startActivePresence(client: KordClient)`: 주기적 갱신 타이머 시작.
- `updatePresence(client: KordClient)`: 즉시 현재 상태 갱신 (서버 수 집계).
- **연동 이벤트**:
- `ready`: 봇 부팅 시 서비스 시작.
- `guildCreate`, `guildDelete`: 서버 수 변동 시 `updatePresence()` 호출.
## 5. i18n 통합
상태 메시지는 전역적으로 표시됩니다. 다국어 지원 시스템을 위해 `en`, `ko` 키를 각각 정의하거나, 순차적으로 여러 언어를 보여줄 수도 있습니다. (우선은 기본 영어 사용)