소개¶
이 문서는 디스코드 API를 이용한 애플리케이션을 생성하는 데 도움을 주는 discord.py의 문서입니다.
요구 조건¶
discord.py는 Python 3.5.3 버전 이상에서 동작합니다. 그 이하 혹은 Python 2.7 이하에서는 지원되지 않습니다. Python 3.4 이하에서는 discord.py에 필요한 (aiohttp)가 지원되지 않습니다.
설치¶
PyPI에서 이 라이브러리를 바로 가져올 수 있습니다:
python3 -m pip install -U discord.py
만약 윈도우를 사용하신다면, 다음의 코드를 사용하셔야 합니다:
py -3 -m pip install -U discord.py
음성 기능을 사용하기 위해서는 discord.py
대신 discord.py[voice]
를 사용하셔야 합니다. 예를 들어:
python3 -m pip install -U discord.py[voice]
리눅스 환경에서 음성 기능을 사용하기 위해서는 아래의 모듈들이 필요합니다:
데비안 기반 시스템에서는 다음 명령어로 필요한 모듈들을 설치할 수 있습니다:
$ apt install libffi-dev libnacl-dev python3-dev
시스템 권한을 가졌는지 확인하세요!
가상 환경¶
Sometimes you want to keep libraries from polluting system installs or use a different version of libraries than the ones installed on the system. You might also not have permissions to install libraries system-wide. For this purpose, the standard library as of Python 3.3 comes with a concept called 《Virtual Environment》s to help maintain these separate versions.
가상 환경 및 패키지 에서 더 많은 정보를 확인하세요.
다만 빠르게 진행하고 싶다면:
당신의 프로젝트 폴더로 가세요:
$ cd your-bot-source $ python3 -m venv bot-env
가상 환경을 활성화하세요:
$ source bot-env/bin/activate
윈도우에서 활성화하시려면:
$ bot-env\Scripts\activate.bat
평소와 같이 pip를 이용하세요:
$ pip install -U discord.py
축하합니다. 이제 가상 환경 설정을 모두 끝냈습니다.
기본 개념¶
discord.py는 events 개념을 중심으로 진행됩니다. 이벤트는 봇이 감지하고 응답하는 것입니다. 예를 들어, 메시지가 발생하면 이벤트가 수신됩니다.
이벤트의 작동 방법을 보여주는 예:
import discord
class MyClient(discord.Client):
async def on_ready(self):
print('Logged on as {0}!'.format(self.user))
async def on_message(self, message):
print('Message from {0.author}: {0.content}'.format(message))
client = MyClient()
client.run('my token goes here')