Skip to content

bdh0404/big-drifter-2

 
 

Repository files navigation

BIG DRIFTER 2

BIG DRIFTER 2 IS WATCHING YOU

How to use

현재 기준으로 한 개의 봇으로 한 개의 클랜에 대해서만 대응이 가능합니다.

프로그램의 로그는 data/app.log 파일에 저장됩니다.

공통

  1. .env.example 파일을 수정해 .env 파일을 생성합니다.
    • BUNGIE_API_KEY: 번지 API 키. 번지넷 개발자 포털 참조.
    • DISCORD_TOKEN: 디스코드 봇 토큰. 디스코드 개발자 포털
    • GROUP_ID: 클랜 id. 클랜 링크 맨 뒤에 붙는 숫자 입력.
    • OFFLINE_CUT: $미접 명령어에서 사용할 미접 커트라인 기본값. 단위는 '일'로 1 이상의 정수 입력.
    • ONLINE_COMMAND_PREVIEW:
  2. (선택) data/push_list.json 파일을 생성해 클랜에 들어오고 나간 사람 알림을 받을 디스코드 채널들의 id를 입력합니다. 봇 가동 시작 이후 해당 채널에서 $등록 명령어를 입력해 등록 및 등록 해제 가능.
    {
      "alert_target": [
        123456789 // 디스코드 채널 ID
      ]
    }

Docker

  1. docker-compose up -d 명령어로 도커 컨테이너를 실행합니다.

Old guide

Python 3.10 또는 Python 3.11 버전을 권장합니다. discord.py 패키지의 버전은 반드시 1.x여야 합니다.

  1. 가상환경 생성 및 진입.
  2. requirements.txt 파일 내 모듈 설치. (pip install -r requirements.txt)
  3. main.py 파일을 데몬 형태로 실행.

Discord 권한

  1. 별명 변경하기
  2. 메시지 읽기
  3. 메시지 보내기
  4. 공개 스레드 만들기
  5. 비공개 스레드 만들기
  6. 스레드에서 메시지 보내기
  7. 링크 첨부
  8. 파일 첨부
  9. @everyone, @here, 모든 역할 멘션하기
  10. 외부 이모지 사용
  11. 외부 스티커 사용
  12. 반응 추가하기
  13. 애플리케이션 명령어 사용
  14. 활동 사용하기
  15. 연결
  16. 말하기
  17. 영상
  18. 음성 감지 사용
  19. 발언권 요청하기
  20. 사운드보드 사용
  21. 외부 사운드 사용

Presense Intent, Server Members Intent, Message Content Intent

Commands

명령어 설명
$정보 현재 봇의 버전, 작동 시간 등의 정보를 표시합니다.
$미접 [커트라인] 클랜 내부에서 일정 일 이상 접속하지 않은 플레이어를 모두 보여줍니다. 기본값은 settings.jsonoffline_cut을 따릅니다. 단위는 입니다.
$온라인 접속중인 클랜원 목록을 표시합니다. 샤를마뉴의 !clan online 명령어와 유사합니다.
$등록 현재 체널에 클랜원 변동 알림을 받습니다. 디스코드 채널 관리자 권한이 필요합니다.
$휴가 클랜 내 유저를 휴가 목록에 등록하거나 해제합니다. 휴가 목록에 등록된 유저는 $미접 명령어 사용시 취소선이 생깁니다.
$차단 특정 유저를 차단 목록에 등록하거나 해제합니다. 차단 목록에 등록된 유저가 클랜에 가입한경우 경고를 해줍니다.

TODO

  • 여러 클랜 동시에 지원 (봇 1개, 여러 서버, 서버당 1개씩의 클랜)
  • 다국어 지원
  • prefix 변경 기능

PatchNote

v0.3.0

  • 휴가 기능 대폭 개선
    • 휴가중인 클랜원 조회 기능 추가
    • 휴가 등록에 번지 이름 사용 (띄어쓰기 포함된 닉네임도 사용 가능)
  • 미접 목록, 휴가중 클랜원 목록 조회 메시지에서 번지넷 연결 URL 추가
  • 게임 닉네임과 번지넷 닉네임이 같은 경우 번지넷 닉네임을 숨김 (컴패니언 앱 알림과 유사)
  • 닉네임 출력 기능을 비롯한 내부 기능들의 구조 개선

v0.3.1

  • hotfix

v0.4.0 / v0.4.1

  • 차단 목록 추가
    • 기본적으로 번지 이름 또는 스팀 ID로 등록 가능
    • URL 첨부, 개행이 포함된 설명 추가 가능
    • 등록한 유저가 클랜에 들어올 경우 클랜 가입 안내 메시지와 함께 추가 경고 메시지 전송
  • 자잘한 버그 수정
  • 기타 메시지 포맷 약간 개선

v0.5.0

  • Python 버전 업데이트 및 의존성 패키지 점검 (간이)
  • 로깅 포맷 개선
  • 디스코드 봇 시작 전 데스티니 Manifest을 불러오도록 개선
  • 도커화
    • 봇 설정에 settings.json 대신 .env 파일을 사용하도록 변경
    • json 파일들을 data/ 폴더로 이동

v0.6.0

  • discord.py 2버전 대응
  • 클랜원 목록 업데이트 1분 -> 1시간

About

BIG DRIFTER 2 IS WATCHING YOU

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.9%
  • Dockerfile 1.1%