Kord/Docs/Plans/Feature_Roadmap.md

5.9 KiB

Kord - 기능 로드맵 (Feature Roadmap)

체인지로그 (Changelog)

  • 2026-03-27: 로드맵 최초 작성 — 6개 기능 등록

개요

임시 음성 채널 기능 완성 이후, Kord 봇을 프로덕션 수준의 서비스로 발전시키기 위한 향후 기능 로드맵입니다. 각 항목은 구현에 앞서 별도 기획서(Docs/Plans/)를 작성·확정한 뒤 개발에 착수합니다.

상태 범례

아이콘 의미
미착수 (Not Started)
📝 기획 중 (Planning)
🔨 개발 중 (In Progress)
완료 (Done)

로드맵 항목

1. 다국어 지원 (i18n / Internationalization)

항목 내용
목표 봇의 모든 사용자 표시 텍스트(명령어 응답, 에러 메시지, UI 라벨 등)를 다국어로 제공
기본 언어 영어 (English) — fallback 언어
계층별 언어 설정 서버(Guild) 단위 → 사용자(User) 단위로 우선순위 적용
기획서 i18n_Plan.md

핵심 고려사항

  • Locale 키-값 구조 설계 (JSON / YAML 등)
  • discord.js interaction.locale / interaction.guildLocale 활용 여부
  • 번역 파일 관리 전략 (디렉터리 구조, 네임스페이스)
  • DB에 서버·사용자별 언어 설정 저장 (Prisma 스키마 확장)

2. 권한 검사 (Permission Audit)

항목 내용
목표 봇이 각 기능을 수행하기 위해 충분한 권한을 가지고 있는지 진단하고 보고서를 생성
트리거 슬래시 명령어 (/audit-permissions 등)
출력 실행한 채널에 Embed 형태의 권한 진단 보고서 전송
기획서 Permission_Audit_Plan.md

핵심 고려사항

  • 기능별 필요 권한 매핑 테이블 (Feature → Required Permissions)
  • 서버 수준 / 카테고리 수준 / 채널 수준 권한 검사
  • 충족 / ⚠️ 부족 항목을 시각적으로 구분하는 Embed 디자인
  • 관리자 전용 명령어로 제한

3. 감사 채널 (Audit Log Channel)

항목 내용
목표 관리자가 지정한 텍스트 채널에 봇의 이벤트·문제 상황·서비스 상태 변동을 자동 기록
등록 방식 관리자가 명령어로 채널 생성 또는 기존 채널 등록
기록 대상 에러 발생, 봇 재시작, 기능 status 변동, 권한 이슈 감지 등
기획서 Audit_Channel_Plan.md

핵심 고려사항

  • 감사 로그 메시지 분류 체계 (severity: info / warn / error)
  • 서버당 감사 채널 수 제한 (티어 연동 가능성)
  • DB 스키마: AuditChannel 모델 설계
  • Rate Limit 대응 (대량 이벤트 발생 시 배치 전송 or 쓰로틀링)

4. 에러 안내 (Error Guidance UX)

항목 내용
목표 사용자 인터랙션 중 오류 발생 시, 친절한 메시지/모달로 안내하여 재시도 또는 관리자 문의를 유도
표시 형태 Ephemeral 메시지 또는 Modal
기획서 Docs/Plans/Error_Guidance_Plan.md (미작성)

핵심 고려사항

  • 에러 유형 분류 (사용자 입력 오류 / 권한 부족 / 봇 내부 오류 / Discord API 오류)
  • 유형별 안내 메시지 템플릿 설계
  • "재시도" 버튼 / "관리자에게 알리기" 버튼 등 액션 컴포넌트
  • 다국어 지원(i18n)과의 통합 — i18n 완료 후 연동
  • 에러 코드 체계 (추적·디버깅 용도)

5. 봇 상태 메시지 (Bot Presence / Activity)

항목 내용
목표 봇의 Discord Presence에 n개 서버에서 활동 중 등의 동적 상태 메시지 표시
갱신 주기 주기적 (예: 5분마다) 또는 서버 join/leave 이벤트 트리거
기획서 Docs/Plans/Bot_Presence_Plan.md (미작성)

핵심 고려사항

  • client.user.setActivity() / client.user.setPresence() 활용
  • 상태 메시지 로테이션 (여러 메시지를 순환 표시)
  • ActivityType 선택 (Playing, Watching, Listening, Competing)
  • 샤딩(Sharding) 환경에서의 전체 서버 수 집계 방법

6. 봇 설정 도우미 (Setup Wizard)

항목 내용
목표 서버 관리자가 인터랙션 기반으로 봇의 주요 설정을 단계별로 완료할 수 있는 설정 마법사 제공
트리거 슬래시 명령어 (/setup 등)
UI 형태 Embed + Button + Select Menu 조합의 스텝 바이 스텝 인터랙션
기획서 Setup_Wizard_Plan.md

핵심 고려사항

  • 설정 항목 정의 (언어, 감사 채널, 임시 음성 채널 생성기 등)
  • 단계(Step) 흐름 설계 (이전/다음/건너뛰기)
  • 설정 완료 시 요약 Embed 표시
  • 이미 설정된 항목 감지 및 스킵/변경 옵션
  • 다국어 지원(i18n)과의 통합

권장 구현 순서

[!NOTE] 순서는 기능 간 의존성과 인프라 우선도를 기준으로 제안합니다. 확정 전 논의가 필요합니다.

1. 에러 안내 (Error Guidance UX)        ← 모든 기능의 UX 품질 기반
2. 다국어 지원 (i18n)                    ← 이후 모든 텍스트에 적용
3. 봇 상태 메시지 (Bot Presence)         ← 독립적, 비교적 간단
4. 권한 검사 (Permission Audit)          ← 운영 안정성 확보
5. 감사 채널 (Audit Log Channel)         ← 운영 모니터링 인프라
6. 봇 설정 도우미 (Setup Wizard)         ← 위 기능들이 갖춰진 뒤 통합 설정

의존성 관계:

  • 에러 안내 → 다국어 지원 적용 시 메시지 템플릿이 i18n 키로 전환
  • 다국어 지원 → 이후 모든 기능의 사용자 텍스트가 이 시스템을 사용
  • 설정 도우미 → 다국어, 감사 채널 등 설정 가능한 기능이 먼저 존재해야 의미 있음