빠른 시작¶
이 페이지는 라이브러리에 대한 간단한 소개를 합니다. 라이브러리가 설치되있다고 가정하므로, 만약에 그렇지 않다면 설치 항목을 확인해주세요.
최소한의 봇¶
Let’s make a bot that responds to a specific message and walk you through it.
대충 이렇게 생겼습니다:
import discord
client = discord.Client()
@client.event
async def on_ready():
print('We have logged in as {0.user}'.format(client))
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('$hello'):
await message.channel.send('Hello!')
client.run('your token here')
이제 이 파일의 이름을 example_bot.py
로 합시다. 이름을 discord.py
로 하면 라이브러리와 충돌하므로 주의하세요.
많은 것들이 진행되므로, 차근차근 진행해봅시다.
첫번째 줄은 단순히 라이브러리를 불러오는데, 만약에 ModuleNotFoundError나 ImportError를 일으킨다면 설치 항목으로 가서 제대로 설치하세요.
다음으로,
Client
의 인스턴스를 만듭니다. 이 클라이언트는 디스코드로의 연결입니다.그러고
Client.event()
데코레이터를 사용해서 이벤트를 등록합니다. 이 라이브러리에는 많은 이벤트들이 있습니다. 이 라이브러리는 비동기이기 때문에, 우리는 《callback》 스타일로 합니다.콜백은 기본적으로는 무엇인가 일어났을때 호출되는 기능입니다. 현재 상황에서는,
on_ready()
이벤트가 봇이 로깅을 끝내고 여러가지를 준비한 뒤 호출되고on_message()
는 봇이 메시지를 받았을 때 호출됩니다.on_message()
이벤트는 말 그대로 모든 메시지를 받았을 때 실행되므로, 봇이 보낸 메시지는 무시하도록 해야합니다.Message.author
가Client.user
인지 확인하면 됩니다.Afterwards, we check if the
Message.content
starts with'$hello'
. If it is, then we send a message in the channel it was used in with'Hello!'
.마지막으로, 봇을 로그인 토큰으로 돌립니다. 만약 토큰을 얻거나 봇을 생성하는 것에 도움이 필요하다면, 봇 계정 생성 항목을 보세요.
이제 우리가 봇을 만들었으므로, 우리는 봇을 실행해야합니다. 다행히, 이건 그저 파이썬 스크립트이기 때문에 바로 실행하면 되므로 간단합니다.
윈도우에서:
$ py -3 example_bot.py
다른 시스템에서:
$ python3 example_bot.py
이제 당신의 기본적인 봇으로 놀면 됩니다.