Go to file
mineseo-kim 5280f1987b chore(scripts): add systemd ExecStartPre for kord log directory
When StandardOutput=append points under ~/kord/logs, systemd opens the
file before ExecStart; a missing directory causes status 209/STDOUT.
Inject mkdir -p via ExecStartPre so restarts survive a deleted logs folder.

Made-with: Cursor
2026-04-09 09:56:46 +09:00
.agents/rules Remove Redis and replace with in-memory caches 2026-04-09 08:50:53 +09:00
Docs fix(i18n): restore ko locale and remove UTF-8 BOM 2026-04-09 09:23:14 +09:00
prisma Merge branch 'feautre/minigame' 2026-03-31 10:16:01 +09:00
resource Add fishing rarity rewards and result art 2026-04-01 17:19:23 +09:00
scripts chore(scripts): add systemd ExecStartPre for kord log directory 2026-04-09 09:56:46 +09:00
src fix(db): honor DATABASE_URL schema for pg Pool and PrismaPg 2026-04-09 09:45:10 +09:00
tests fix(i18n): restore ko locale and remove UTF-8 BOM 2026-04-09 09:23:14 +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 fix(logging): clarify LOG_DIR creation and bootstrap errors 2026-04-09 09:38:59 +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 feat: Initialize Discord bot project with core client, event handlers, services, database, caching, and infrastructure. 2026-03-27 09:40:50 +09:00
README.md Remove Redis and replace with in-memory caches 2026-04-09 08:50:53 +09:00
docker-compose.yml Remove Redis and replace with in-memory caches 2026-04-09 08:50:53 +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.json feat(logging): switch to log4js with file output and env-driven level 2026-04-09 09:34:15 +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(logging): switch to log4js with file output and env-driven level 2026-04-09 09:34:15 +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를 통해 PostgreSQL 등 로컬 인프라를 실행할 수 있습니다.

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): 한국어와 영어를 포함한 다국어 환경을 지원합니다.