Go to file
mineseo-kim 1f91bfb9bf Merge branch 'main' into delete-redis
# Conflicts:
#	package.json
#	yarn.lock
2026-03-31 09:29:49 +09:00
.agents/rules docs: update project documentation and agent routine guidelines 2026-03-30 10:31:04 +09:00
Docs Merge branch 'main' into delete-redis 2026-03-31 09:29:49 +09:00
prisma Implement event scheduling workflow 2026-03-30 17:37:32 +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 Merge branch 'main' into delete-redis 2026-03-31 09:29:49 +09:00
tests Implement YouTube music playback workflow 2026-03-31 02:12:27 +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 레디스 제거 버전 작업 2026-03-30 20:48:03 +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.json Implement YouTube music playback workflow 2026-03-31 02:12:27 +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 Implement YouTube music playback workflow 2026-03-31 02:12:27 +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를 제공합니다.
  • 다국어 지원 (i18n): 한국어와 영어를 포함한 다국어 환경을 지원합니다.