Skip to content

SuhJae/kkeutmal

Repository files navigation

kkeutmal / 끝말

kkeutmal은 디스코드 서버 내에서 끝말잇기 게임을 관리하는 봇입니다. 이 봇을 통해 사용자는 쉽게 끝말잇기 게임을 시작하고, 참여하며, 게임의 규칙을 관리할 수 있습니다. 공식 봇은 이 링크 를 통해 디스코드 서버에 초대할 수 있습니다.

명령어

  • /핑: 봇의 응답 속도(핑)를 확인합니다.
  • /설정: 현재 채널을 끝말잇기 게임 채널로 설정합니다. 이 작업은 관리자 권한을 요구합니다.
  • /재시작: 현재 진행 중인 끝말잇기 게임을 초기화하고 새 게임을 시작합니다.
  • /뜻풀이: 지정된 단어의 뜻을 조회합니다.
  • /도움말: 사용 가능한 모든 명령어의 목록을 표시합니다.
  • /프로필: 본인 또는 다른 사용자의 프로필 정보를 확인합니다.

프로젝트 구조

이 프로젝트는 다음과 같은 구조를 가지고 있습니다:

├── Dockerfile # 도커를 이용해 봇을 실행하기 위한 파이썬 코드가 포함된 이미지를 생성하는 파일
├── README.md # 현재 읽고 있는 문서 파일
├── bot
│   ├── db.py # 데이터베이스 작업을 담당하는 파일
│   ├── embeds.py # 디스코드 메시지 임베드를 생성하는 파일
│   ├── korean.py # 한국어 처리 관련 코드
│   ├── logger.py # 로깅 관련 코드
│   ├── main.py # 봇의 메인 실행 파일 (이걸 실행하면 봇이 작동함)
│   └── model.py # 데이터 모델 정의 파일
├── db_data
│   ├── backup
│   ├── backup.py # 데이터베이스 백업 스크립트
│   └── restore.py # 데이터베이스 복원 스크립트
├── docker-compose.yaml # 도커 컴포즈 설정 파일
├── parser
│   └── save_to_db.py # 데이터베이스 저장 스크립트
└── requirements.txt # 프로젝트 의존성 목록

실행 방법

이 프로젝트를 클론하고나서 bot/config.json 파일을 생성하고, 디그코드 봇 토큰을 다음과 같은 형식으로 입력하세요:

{
  "token": "디스코드 봇 토큰"
}

도커 사용

  1. docker-compose.yml 파일이 포함된 디렉토리에서 터미널을 열고, 다음 명령어를 입력하여 서비스를 시작합니다:
    docker-compose up -d
    
    이 명령어는 필요한 모든 컨테이너(봇과 MongoDB)를 백그라운드에서 실행합니다.
  2. 서비스가 성공적으로 실행되었다면, 봇이 정상적으로 작동할 준비가 완료된 것입니다.

로컬에서 직접 실행

  1. requirements.txt 파일에 명시된 의존성을 설치합니다:
    pip install -r requirements.txt
    
  2. MongoDB 서버를 실행하고, bot/main.py 파일을 실행합니다:
    python bot/main.py