BIG DRIFTER 2 IS WATCHING YOU
현재 기준으로 한 개의 봇으로 한 개의 클랜에 대해서만 대응이 가능합니다.
프로그램의 로그는 data/app.log
파일에 저장됩니다.
.env.example
파일을 수정해.env
파일을 생성합니다.BUNGIE_API_KEY
: 번지 API 키. 번지넷 개발자 포털 참조.DISCORD_TOKEN
: 디스코드 봇 토큰. 디스코드 개발자 포털GROUP_ID
: 클랜 id. 클랜 링크 맨 뒤에 붙는 숫자 입력.OFFLINE_CUT
:$미접
명령어에서 사용할 미접 커트라인 기본값. 단위는 '일'로 1 이상의 정수 입력.ONLINE_COMMAND_PREVIEW
:
- (선택)
data/push_list.json
파일을 생성해 클랜에 들어오고 나간 사람 알림을 받을 디스코드 채널들의 id를 입력합니다. 봇 가동 시작 이후 해당 채널에서$등록
명령어를 입력해 등록 및 등록 해제 가능.{ "alert_target": [ 123456789 // 디스코드 채널 ID ] }
docker-compose up -d
명령어로 도커 컨테이너를 실행합니다.
Python 3.10
또는 Python 3.11
버전을 권장합니다. discord.py
패키지의 버전은 반드시 1.x여야 합니다.
- 가상환경 생성 및 진입.
requirements.txt
파일 내 모듈 설치. (pip install -r requirements.txt
)main.py
파일을 데몬 형태로 실행.
- 별명 변경하기
- 메시지 읽기
- 메시지 보내기
- 공개 스레드 만들기
- 비공개 스레드 만들기
- 스레드에서 메시지 보내기
- 링크 첨부
- 파일 첨부
- @everyone, @here, 모든 역할 멘션하기
- 외부 이모지 사용
- 외부 스티커 사용
- 반응 추가하기
- 애플리케이션 명령어 사용
- 활동 사용하기
- 연결
- 말하기
- 영상
- 음성 감지 사용
- 발언권 요청하기
- 사운드보드 사용
- 외부 사운드 사용
Presense Intent, Server Members Intent, Message Content Intent
명령어 | 설명 |
---|---|
$정보 | 현재 봇의 버전, 작동 시간 등의 정보를 표시합니다. |
$미접 [커트라인] | 클랜 내부에서 일정 일 이상 접속하지 않은 플레이어를 모두 보여줍니다. 기본값은 settings.json 의 offline_cut 을 따릅니다. 단위는 일 입니다. |
$온라인 | 접속중인 클랜원 목록을 표시합니다. 샤를마뉴의 !clan online 명령어와 유사합니다. |
$등록 | 현재 체널에 클랜원 변동 알림을 받습니다. 디스코드 채널 관리자 권한이 필요합니다. |
$휴가 | 클랜 내 유저를 휴가 목록에 등록하거나 해제합니다. 휴가 목록에 등록된 유저는 $미접 명령어 사용시 취소선이 생깁니다. |
$차단 | 특정 유저를 차단 목록에 등록하거나 해제합니다. 차단 목록에 등록된 유저가 클랜에 가입한경우 경고를 해줍니다. |
- 여러 클랜 동시에 지원 (봇 1개, 여러 서버, 서버당 1개씩의 클랜)
- 다국어 지원
- prefix 변경 기능
- 휴가 기능 대폭 개선
- 휴가중인 클랜원 조회 기능 추가
- 휴가 등록에 번지 이름 사용 (띄어쓰기 포함된 닉네임도 사용 가능)
- 미접 목록, 휴가중 클랜원 목록 조회 메시지에서 번지넷 연결 URL 추가
- 게임 닉네임과 번지넷 닉네임이 같은 경우 번지넷 닉네임을 숨김 (컴패니언 앱 알림과 유사)
- 닉네임 출력 기능을 비롯한 내부 기능들의 구조 개선
- hotfix
- 차단 목록 추가
- 기본적으로 번지 이름 또는 스팀 ID로 등록 가능
- URL 첨부, 개행이 포함된 설명 추가 가능
- 등록한 유저가 클랜에 들어올 경우 클랜 가입 안내 메시지와 함께 추가 경고 메시지 전송
- 자잘한 버그 수정
- 기타 메시지 포맷 약간 개선
- Python 버전 업데이트 및 의존성 패키지 점검 (간이)
- 로깅 포맷 개선
- 디스코드 봇 시작 전 데스티니 Manifest을 불러오도록 개선
- 도커화
- 봇 설정에
settings.json
대신.env
파일을 사용하도록 변경 - json 파일들을
data/
폴더로 이동
- 봇 설정에
- discord.py 2버전 대응
- 클랜원 목록 업데이트 1분 -> 1시간