친구들과 같이 사용하는 디스코드 서버에서 사용할 만한 봇을 제작해보기 위해
공부한 자료들을 정리, 저장하고 공유 목적으로 글을 작성한다.
참고로 본인은 컴퓨터 관련과가 아닌 관계로 그나마 만만해보이는 파이썬을 이용해서 봇을 제작해 볼것이다.
2019년도에 디스코드 봇을 제작해본적이 있었는데 2023년도에 다시 찾아보니
discord.py 가 업데이트 되면서 과거 코드들은 동작하지 않아 재정리 하기 위해서 글을 작성해 본다.
디스코드 봇 개발 #1 (사전 준비)
https://newanewq.tistory.com/3
디스코드 봇 개발 #2 (Slash)
https://newanewq.tistory.com/4
디스코드 봇 개발 #3 (Embed)
https://newanewq.tistory.com/5
디스코드 봇 개발 #4-1 (modal)
https://newanewq.tistory.com/7
디스코드 봇 개발 #4-1 (Select Menu)
https://newanewq.tistory.com/9
Part #1-1 / 개발 환경 구축
우선 코드를 작성할 툴을 설치해야한다.
본인은 VS Code 라는 툴을 설치하였으나 원한다면 메모장으로 작성해도 문제는 없다.
VS Code 기준으로 설치를 완료했다면 좌측 Extentions 탭에 python을 검색해
install을 눌러 설치를 완료한다.
설치 후 다시 좌측의 Exporer 탭으로 돌아온다
win + E 키를 눌러 파일 탐색창에서 봇의 파일들을 저장할 폴더를 하나 만든 후
Exporer에서 해당 폴더를 연다.
윈도우 파일 탐색기에서 해당 창으로 드래그 앤 드랍으로도 폴더를 추가할 수 있다.
추가한 폴더를 우클릭 해 New File을 클릭한 뒤 예제 작성을 위한 main.py 파일을 작성한다.
이제 이곳에 봇의 코드를 작성하면 된다.
아직 discord.py를 설치하지 않았다면 하단 터미널에
pip install discord를 입력해주자
Part #1-2 / 테스트 봇 생성 및 초대
이제 실제 디스코드에서 동작할 봇의 프로필을 작성해 줄것이다.
아래 링크 or 디스코드 개발자 포털을 검색해서 사이트에 들어간뒤
우측 상단의 New Application을 클릭해 이름을 입력하고 확인을 눌러준다.
https://discord.com/developers/applications
좌측의 Bot - Reset Token을 눌러 토큰 값을 생성해준다.
생성한 토큰 값은 2편에서 사용할 예정으로 메모장이나 VS Code에다가 적어두도록 한다.
주의: 해당 토큰은 3자에게 노출시 봇이 해킹당할 위험성과 악용될 가능성이 있으니 주의하시길 바랍니다.
토큰 생성 후 아래로 스크롤 하여 사진과 같이 옵션을 활성화 해준다.
이제 만든 봇을 서버에 초대해 볼 것이다.
좌측 OAuth2 - URL Generator - SCOPES에서 bot 체크 - 하단 봇 권한 설정
이후 아래에 봇 초대 url이 생성된다.
우선은 테스트용도로 사용할 봇이기에 봇 권한은 관리자 권한으로 주도록 하겠다.
추후 실제 봇을 배포할 목적이라면 사용하는 권한만 체크하여 URL을 생성해 배포하면 된다.
링크를 복사해 테스트 할 서버에 초대해 주도록 하자
이제 코드만 작성하면 된다.
코드 작성은 #2 편에서
디스코드 봇 개발 #1 (사전 준비)
https://newanewq.tistory.com/3
디스코드 봇 개발 #2 (Slash)
https://newanewq.tistory.com/4
디스코드 봇 개발 #3 (Embed)
https://newanewq.tistory.com/5
디스코드 봇 개발 #4-1 (modal)
https://newanewq.tistory.com/7
디스코드 봇 개발 #4-1 (Select Menu)
'discord.py' 카테고리의 다른 글
[Discord.py] 디스코드 봇을 직접 만들어보자 #4-2 (Select Menu) (0) | 2023.08.21 |
---|---|
[Discord.py] 디스코드 봇을 직접 만들어보자 #4-2 (Select Menu) (0) | 2023.08.20 |
[Discord.py] 디스코드 봇을 직접 만들어보자 #4-1 (modal) (0) | 2023.08.20 |
[Discord.py] 디스코드 봇을 직접 만들어보자 #3 (Embed) (0) | 2023.08.20 |
[Discord.py] 디스코드 봇을 직접 만들어보자 #2 (Slash 명령어) (1) | 2023.08.20 |
댓글