Kord/Docs/Plans/Bot_Presence_Plan.md

1.5 KiB

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 키를 각각 정의하거나, 순차적으로 여러 언어를 보여줄 수도 있습니다. (우선은 기본 영어 사용)