디스코드 봇 준비- discord.py 설치하기 (feat 맥북, 구글 코랩)
- Development/디스코드봇
- 2021. 10. 16.
로컬 맥북 혹은 구글 코랩에 discord.py 설치하기
파이썬용 디스코드 봇 API로, discord.py를 사용하면 손쉽게 디스코드 봇을 만들 수 있다. 파이썬이 있다는 전제가 깔려 있으므로, 맥북 로컬에 설치되어 있는 파이썬이 적어도 3.5 이상이면 좋고, 대안으로 구글 코랩이나 주피터 노트북/랩을 사용하여 파이썬 테스트 해볼 수 있을 것이다.
디스코드 설치하기
맥북에서 디스코드(discord.py)를 설치하는 방법과, 구글 코랩에서 설치하는 방법 순서로 살펴보자.
맥북에서 디스코드 설치하기
맥북에 discord.py가 기본적으로 설치되어 있지는 않다. discord.py의 설치 여부를 다음의 명령어 중 하나로 간단하게 확인해 볼 수 있다.
$ python -c "import discord"
혹은 python을 실행한 후에
import discord
를 실행했을 때, 에러가 발생한다면 discord 설치부터 해야 한다. 다음의 명령어로 맥북에 디스코드를 설치할 수 있다.
$ pip install discord.py
구글 코랩에서 디스코드 설치하기
구글 코랩에도 기본적으로 디스코드가 설치되어 있지 않기 때문에, 다음과 같이 직접 discord.py를 설치해 줘야 한다.
$ !pip install discord.py
를 실행하면 discord.py가 실행된다. 이후, 디스코드 봇의 코드를 실행시켜 정상적으로 채널에 메시지가 발행되는지 확인해 보면 된다. 앞에 느낌표를 붙이고 실행하자.
정상적으로 설치가 된다면, 다음과 같은 메시지가 출력될 것이다.
Collecting discord.py
Downloading discord.py-1.7.3-py3-none-any.whl (786 kB)
|████████████████████████████████| 786 kB 32.6 MB/s
Collecting aiohttp<3.8.0,>=3.6.0
Downloading aiohttp-3.7.4.post0-cp37-cp37m-manylinux2014_x86_64.whl (1.3 MB)
|████████████████████████████████| 1.3 MB 42.7 MB/s
Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.7/dist-packages (from aiohttp<3.8.0,>=3.6.0->discord.py) (21.2.0)
Requirement already satisfied: chardet<5.0,>=2.0 in /usr/local/lib/python3.7/dist-packages (from aiohttp<3.8.0,>=3.6.0->discord.py) (3.0.4)
Collecting multidict<7.0,>=4.5
Downloading multidict-5.2.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (160 kB)
|████████████████████████████████| 160 kB 70.5 MB/s
Requirement already satisfied: typing-extensions>=3.6.5 in /usr/local/lib/python3.7/dist-packages (from aiohttp<3.8.0,>=3.6.0->discord.py) (3.7.4.3)
Collecting async-timeout<4.0,>=3.0
Downloading async_timeout-3.0.1-py3-none-any.whl (8.2 kB)
Collecting yarl<2.0,>=1.0
Downloading yarl-1.7.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (271 kB)
|████████████████████████████████| 271 kB 68.7 MB/s
Requirement already satisfied: idna>=2.0 in /usr/local/lib/python3.7/dist-packages (from yarl<2.0,>=1.0->aiohttp<3.8.0,>=3.6.0->discord.py) (2.10)
Installing collected packages: multidict, yarl, async-timeout, aiohttp, discord.py
Successfully installed aiohttp-3.7.4.post0 async-timeout-3.0.1 discord.py-1.7.3 multidict-5.2.0 yarl-1.7.0
디스코드 봇 기본 동작 테스트
단, 디스코드 채널 등 기본 셋업이 되어 있다는 전제하에, 다음의 코드를 실행해 보자.
import discord
from discord.ext import tasks
TOKEN = '내 토큰 값'
CHANNEL_ID = 내 채널 ID
client = discord.Client()
@client.event
async def on_ready():
send_msg.start()
print("Hi, logged in as")
print(client.user.name)
print()
@tasks.loop(minutes = 5)
async def send_msg():
channel = client.get_channel(CHANNEL_ID)
await channel.send('Hello')
client.run(TOKEN)
라이브러리 등 의존성 문제가 없다면 사전에 생성한 디스코드 봇과 봇에 연결된 채널에 방금 파이썬 코드로 테스트 전송한 메시지가 채널에 나타날 것이다.
디스코드 맥북 테스트 코드 실행시
$ python test.py
Hi, logged in as
LuranBot
서버 메시지가 출력되고, 봇도 반응할 것이다.
디스코드 구글 코랩 테스트 코드 실행시
코드 블럭에서 화살표 버튼을 눌러서 실행하자.
정상적으로 동작했다면, 하단에 메시지가 출력되고, 봇도 반응할 것이다.
디스코드 봇 메시지 수신 화면
앞서 실행만 프로그램으로 봇이 다음과 같이 응답했다.
참고
'Development > 디스코드봇' 카테고리의 다른 글
Heroku - 디스코드 봇 토큰 정보 보호하기 (숨기기) (0) | 2021.12.23 |
---|---|
Heroku - 실행중인 디스코드 봇의 로그를 보려면? (2) | 2021.12.16 |
Heroku - 파이썬 디스코드 봇 프로젝트 연동하기 (깃헙기반) (0) | 2021.12.12 |
Heroku - 디스코드 봇 무료 호스팅 준비하기 (0) | 2021.12.09 |
파이썬 디스코드 봇 - 사용자 커맨드에서 파라미터 전달받기 (0) | 2021.12.04 |
파이썬으로 디스코드 봇 개발 시작하기 (기본 구조 잡기) (1) | 2021.11.28 |
디스코드 오류 - Cannot close a running event loop (feat. 구글 코랩) (0) | 2021.10.19 |
디스코드 서버-봇 설정하기 (0) | 2021.10.15 |