Go to file
이정수 f3f882cd06 feat(autorole): implement multi-role UX, persistence and automatic toggle logic 2026-04-06 18:05:33 +09:00
.agents/rules docs: update project documentation and agent routine guidelines 2026-03-30 10:31:04 +09:00
Docs docs: add project structure documentation and update main index file 2026-04-06 14:28:57 +09:00
prisma feat(autorole): implement multi-role UX, persistence and automatic toggle logic 2026-04-06 18:05:33 +09:00
resource Add fishing rarity rewards and result art 2026-04-01 17:19:23 +09:00
scripts feat: Introduce a script to identify hardcoded i18n strings in test files, add a `check-i18n` command to package.json, and include ignore comments in i18n tests. 2026-03-27 17:38:07 +09:00
src feat(autorole): implement multi-role UX, persistence and automatic toggle logic 2026-04-06 18:05:33 +09:00
tests 빌드 성공 2026-04-01 17:41:09 +09:00
.cursorrules feat: Implement dynamic bot presence with i18n, guild count display, and rotation. 2026-03-27 14:58:41 +09:00
.editorconfig feat: Initialize Discord bot project with core client, event handlers, services, database, caching, and infrastructure. 2026-03-27 09:40:50 +09:00
.env.example 레디스 제거 버전 작업 2026-03-30 20:48:03 +09:00
.eslintrc.js feat: Initialize Discord bot project with core client, event handlers, services, database, caching, and infrastructure. 2026-03-27 09:40:50 +09:00
.gitattributes feat: Initialize Discord bot project with core client, event handlers, services, database, caching, and infrastructure. 2026-03-27 09:40:50 +09:00
.gitignore Initial commit 2026-03-26 17:39:18 +09:00
.prettierrc feat: Initialize Discord bot project with core client, event handlers, services, database, caching, and infrastructure. 2026-03-27 09:40:50 +09:00
.windsurfrules feat: Implement dynamic bot presence with i18n, guild count display, and rotation. 2026-03-27 14:58:41 +09:00
.yarnrc.yml feat: Initialize Discord bot project with core client, event handlers, services, database, caching, and infrastructure. 2026-03-27 09:40:50 +09:00
Dockerfile 레디스 제거 버전 작업 2026-03-30 20:48:03 +09:00
README.md Merge remote-tracking branch 'origin/main' into delete-redis 2026-03-31 10:27:05 +09:00
docker-compose.yml 레디스 제거 버전 작업 2026-03-30 20:48:03 +09:00
jest.config.js feat: Initialize Discord bot project with core client, event handlers, services, database, caching, and infrastructure. 2026-03-27 09:40:50 +09:00
package-lock.json 빌드성공 2026-03-31 10:49:35 +09:00
package.json Merge branch 'delete-redis' 2026-04-02 11:18:10 +09:00
package_feature.json feat: initialize project structure with documentation and modular Prisma schemas 2026-03-31 10:16:07 +09:00
package_main.json feat: initialize project structure with documentation and modular Prisma schemas 2026-03-31 10:16:07 +09:00
prisma.config.ts feat: externalize refinement and battle balance configurations to database with runtime caching 2026-03-30 18:00:46 +09:00
schema_base.prisma feat: initialize project structure with documentation and modular Prisma schemas 2026-03-31 10:16:07 +09:00
schema_feature.prisma feat: initialize project structure with documentation and modular Prisma schemas 2026-03-31 10:16:07 +09:00
schema_main.prisma feat: initialize project structure with documentation and modular Prisma schemas 2026-03-31 10:16:07 +09:00
tsconfig.json feat: Implement dynamic voice channels with new database models, service logic, interaction handling, and supporting documentation. 2026-03-27 10:38:46 +09:00
yarn.lock feat: add invite command to manage role-based invite code mappings 2026-04-06 15:05:23 +09:00

README.md

Kord

Kord는 Discord 서버 관리를 돕는 강력하고 유연한 다기능 봇입니다.

1. 개요 (Overview)

Kord는 효율적인 서버 운영을 위해 설계된 Discord 봇입니다. TypeScript와 Discord.js를 기반으로 구축되었으며, Prisma(PostgreSQL)를 활용하여 안정적이고 확장 가능한 아키텍처를 제공합니다. 임시 음성 채널 관리, 상세 감사 로그, 권한 진단 등의 핵심 기능을 통해 서버 관리자의 부담을 줄여줍니다.

2. 요구사항 (Requirements)

  • Runtime: Node.js v20 이상
  • Package Manager: Yarn v4 (Berry)
  • Database: PostgreSQL (Prisma 사용)
  • Discord: Bot Token 및 Client ID (Slash Command 등록용)

3. 테스트 방법 (Test Methods)

본 프로젝트는 Jest를 사용하여 유닛 테스트 및 통합 테스트를 수행합니다.

  • 전체 테스트 실행:

    yarn test
    
  • i18n 번역 누락 확인:

    yarn check-i18n
    

4. 구동 방법 (Running Methods)

로컬 개발 환경

  1. 의존성 설치:

    yarn install
    
  2. 환경 변수 설정: .env.example 파일을 복사하여 .env 파일을 생성하고 필수 값을 입력합니다.

  3. 데이터베이스 초기화:

    npx prisma migrate dev
    npx prisma generate
    
  4. 개발 서버 실행:

    yarn dev
    

프로덕션 환경

  1. 빌드: yarn build
  2. 실행: yarn start
  3. Docker: docker-compose up -d를 통해 전체 스택(Bot, DB)을 실행할 수 있습니다.

5. 기능 목록 (Feature List)

  • 임시 음성 채널 (Voice): 생성기(Generator) 채널을 통해 동적인 음성 채널 생성 및 관리 기능을 제공합니다.
  • 감사 로그 (Audit Log): 서버 내 주요 이벤트를 카테고리별(VOICE, PERMISSION, SYSTEM 등)로 세분화하여 기록합니다.
  • 서버 설정 (Config): 따라하기(Mimic), 큰 이모지(Big Emoji) 등 봇의 기능을 서버별 환경에 맞게 토글하거나 설정할 수 있습니다.
  • 권한 감사 (Permission Audit): 봇의 정상 작동을 방해하는 권한 문제를 즉시 진단하고 해결 방법을 안내합니다.
  • 초기 설정 마법사 (Setup Wizard): 봇 도입 초기 기능을 한눈에 설정할 수 있는 직관적인 UI를 제공합니다.
  • 미니게임 시스템 (Mini-Games): 서버 내에서 즐길 수 있는 다양한 미니게임을 제공하며, 관리자가 게임별 활성화 및 전용 채널을 설정할 수 있습니다.
  • 재련 (Refinement): 무기를 강화하고 다른 유저와 전투하며 골드를 획득하는 성장형 미니게임입니다.
  • 피버 타임 (Fever Time): 서버 활동량을 자동으로 분석하여 가장 활발한 시간대에 재련 성공 확률 보너스를 제공합니다.
  • 다국어 지원 (i18n): 한국어와 영어를 포함한 다국어 환경을 지원합니다.