프로그래밍/파이썬

파이썬을 이용한 디스코드 PUBG 전적 봇 만들기(1) - 서론

Xaviere 2022. 2. 23. 14:48

과거 배그가 나오고 아직 한창일 때

학교 커뮤니티에서 사람들이 모여 배그 디코 서버를 만들었었다.

처음엔 각 방 사람들이 "어디어디 방에서 몇 명 구해요~" 하는 식으로 구인을 하기도하고

"누구누구 스쿼드 자리 찾아요~" 하고 구직을 하기도 했다.

그러던 어느날 유저 중 한 명이 파이썬을 이용해서 명령어를 넣으면 자동으로

'어느 채널에서 몇 명 구인합니다.'

'누구누구 구직합니다.'

라는 메시지를 띄워주는 봇을 만들었다.

이 후 사람을 구하기도, 자리를 구하기도 훨씬 쉬워졌는데, 문제가 있다면

해당 유저가 컴퓨터를 24/7 켜놓을 수가 없었다는 점.

처음엔 HEROKU같은 서비스가 있다는 걸 몰랐어서

결국 연구실에 개인컴을 소지하고 있는 내가 해당 파일을 물려받아 내 컴퓨터에서 돌려놓기 시작했다.

그런데 사용하다보니 뭔가 아쉬운 부분들이 있어 결국은 코딩까지 건들게 됐고,

처음엔 다른 디코채널(롤 채널 등)의 주소를 알려주는 코드를 만들기도하고, PUBG 공식 카페 주소를 알려주는 코드,

로또 번호 생성해주는 코드, 그리고 최종적으론 전적을 검색해서 핵쟁이인가 아닌가를 판단(물론 이 부분은 개인이 판단할 수 밖에 없었다.)하는 코드도 만들었다.

 

이후 잘 사용하다가 필요한 라이브러리인 discord.py가 업데이트 되기도하고 해서

중간중간 코드를 수정하면서 잘 쓰고 있었는데

어느순간 디스코드자체에서 명령어를 제공하고 해당 명령어의 prefix가 '/'가 되어

우리 서버에서 쓰던 명령어의 prefix와 겹치게됐다.

사실 코드를 보면 prefix로 지정한 것도 아니지만

 

그래서 이 참에 아예 prefix를 사용한 봇을 새로 만들기로 생각하고

이를 만들면서 중간중간 진행상황, 그리고 왜 이렇게 코드를 작성했는지를 남겨보려 한다.

 

기존코드는 

https://github.com/XaviereKU/KU-PUBG

 

GitHub - XaviereKU/KU-PUBG

Contribute to XaviereKU/KU-PUBG development by creating an account on GitHub.

github.com

여기서 볼 수 있다.