한창 JS를 하다가 Python에 이번엔 제대로 입문 해보려고 토이 프로젝트를 만들려고 생각했다.
고민 고민 하다보니, 내가 카카오톡 다음으로 많이 사용하는 채팅 프로그램인 Discord 봇 개발 관련으로 다시 한번 도전 해 볼까 하여 블로그에 정리 하면서 개발을 시작 해보려고 한다.
Python으로 개발을 진행 하기 위해선 discord.py 라이브러리를 사용하여 개발 하여야 한다.
Python 언어나, 다른 개발 언어를 접해보고 진행 하는 것을 추천한다. 무턱대고 개발 해보기엔 난이도가 생각보다 좀 있다.
https://codingapple.com/course/python-basic/
빠르게 정리하는 파이썬 기초 문법 - 코딩애플 온라인 강좌
(파이썬 웹크롤러/업무자동화 강의 + 딥러닝 AI 강의 패키지 할인 이벤트 중! 구매 링크) 파이썬 문법 쬬큼 알면 중학생도 쉽게 이해가능한 Tensorflow 딥러닝 기초강좌입니다. 머신러닝 … 신
codingapple.com
개인적으로 코딩애플님이 가르치시는 파이썬 기초 문법 정도만 모두 익혀도 따라오는데 어려움은 없을 거 같다.
1. 디스코드 애플리케이션 생성
1. 디스코드 개발자 포털에 들어간 후 로그인을 진행 해준다. (개인 개정 상관 없음)
Discord Developer Portal — API Docs for Bots and Developers
Integrate your service with Discord — whether it's a bot or a game or whatever your wildest imagination can come up with.
discord.com
2. 화면 왼쪽의 Applications를 클릭한다.
3. 화면 오른쪽의 New Application를 클릭 해준다.
4. 원하는 이름의 Application을 생성해준다.
아래와 같은 화면이 뜬다면 성공이다.
2. 봇 만들기
1. 왼쪽 봇 창을 클릭 해준다.
2. 오른쪽 Add Bot을 클릭 하여 봇을 추가 하고 그 뒤 Yes, I Do를 클릭 한다.
3. 다음과 같은 화면이 나온다면 봇 생성에 성공 한 것이다.
혹여나 Too many users have this name 또는 다른 에러가 뜰 경우 봇 이름을 다른 것으로 바꿔 만들어 주면 된다.
3. 봇을 내 서버로 초대 하기
1. 왼쪽 창에서 OAuth2의 URL Generator창을 클릭한다.
2. 스크롤 하여 내려 보면 링크가 보이는데 링크를 copy 해준 후 주소 창에 입력 해준다.
3. 다음과 같은 화면에서 자신의 서버를 선택 해 준 후 승인을 눌러준다.
4. 다음과 같이 봇이 추가 되었다면 성공!
4. 봇 개발 코드 작성
구름 IDE 또는 repl.it 같은 클라우드 서비스를 사용 하는 것도 좋으나, 나 같은 경우 로컬에서 테스트로 개발 한 후 서버로 물릴 것이기 때문에 내 컴퓨터에서 셋팅을 해 주었다.
1. VSCODE와 파이썬 설치 하기
이미 셋팅이 되어 있다면 넘어가도 좋다 구글링을 통해 파이썬과 VSCODE를 설치 해주도록 한다.
https://www.codingfactory.net/11337
Python / Visual Studio Code 개발 환경 만들기
파이썬 개발을 위한 도구는 여러 가지가 있습니다. Visual Studio Code도 그 중 하나입니다. VS Code에 Python 확장 기능을 설치하고, Hello World를 출력해보겠습니다. 확장 기능 설치 Visual Studio Code를 설치
www.codingfactory.net
코드 팩토리님이 간단하게 설명을 잘 해놓으셨다.
2. discord 관련 기능을 사용 하기 위해선 discord 패키지를 설치 해야 한다. Window면 powershell에 맥이면 zsh 또는 bash에 다음과 같이 입력 해 준다.
pip install discord.py
3. Visual Studio Code에 폴더와 파일을 하나 만들어 준다.
필자의 경우 폴더 이름은 MYBOT 파일 이름은 discordbot.py로 해주었다. 확장자 명은 꼭 py를 지켜 작성 해줘야 한다.
4. py 파일에 다음과 같이 추가 해준다.
import discord
from discord.ext import commands
app = commands.Bot(command_prefix='/')
@app.event
async def on_ready():
print('Done')
await app.change_presence(status=discord.Status.online, activity=None)
@app.command()
async def hello(ctx):
await ctx.send('Hello I am Bot!')
app.run('본인의 Token')
마지막 줄 본인의 Token엔 Bot창에서 토큰을 발급 받아 입력 해주면 된다.
혹여나 Reset Token만 나와 있다면 Reset시키고 토큰을 발급 받아야 한다. (보안 때문에 그렇다)
5. 코드와 토큰 모두 입력 했다면 ctrl + ` 을 클릭하여 powershell을 켜준다.
6. shell 창에 다음과 같이 입력 해주고 Done이 뜬다면 성공!
python discordbot.py
7. 자신이 봇을 초대한 서버에서 /hello를 입력 해보자
https://discordpy.readthedocs.io/en/stable/api.html#discord-api-events
API Reference
Loads the libopus shared library for use with voice. If this function is not called then the library uses the function ctypes.util.find_library() and then loads that one if available. Not loading a library and attempting to use PCM based AudioSources will
discordpy.readthedocs.io
다양한 API 문서들을 확인 할 수 있는 사이트이다. 문서를 읽고 쓸 줄 아는 능력만 된다면, 디스코드 봇 모든 기능을 개발 할 수 있을 것이다.
다른 내용들은 차차 정리 해보겠다.
'파이썬 개발 > 디스코드 봇 개발' 카테고리의 다른 글
[Discord.py] 2. 디스코드 크롤러 봇 만들기 (학교 공지 크롤링) (0) | 2022.03.27 |
---|