빠른 시작

이 페이지는 라이브러리에 대한 간단한 소개를 합니다. 라이브러리가 설치되있다고 가정하므로, 만약에 그렇지 않다면 설치 항목을 확인해주세요.

최소한의 봇

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로 하면 라이브러리와 충돌하므로 주의하세요.

많은 것들이 진행되므로, 차근차근 진행해봅시다.

  1. 첫번째 줄은 단순히 라이브러리를 불러오는데, 만약에 ModuleNotFoundErrorImportError를 일으킨다면 설치 항목으로 가서 제대로 설치하세요.

  2. 다음으로, Client의 인스턴스를 만듭니다. 이 클라이언트는 디스코드로의 연결입니다.

  3. 그러고 Client.event() 데코레이터를 사용해서 이벤트를 등록합니다. 이 라이브러리에는 많은 이벤트들이 있습니다. 이 라이브러리는 비동기이기 때문에, 우리는 《callback》 스타일로 합니다.

    콜백은 기본적으로는 무엇인가 일어났을때 호출되는 기능입니다. 현재 상황에서는, on_ready() 이벤트가 봇이 로깅을 끝내고 여러가지를 준비한 뒤 호출되고 on_message()는 봇이 메시지를 받았을 때 호출됩니다.

  4. on_message() 이벤트는 말 그대로 모든 메시지를 받았을 때 실행되므로, 봇이 보낸 메시지는 무시하도록 해야합니다. Message.authorClient.user인지 확인하면 됩니다.

  5. 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!'.

  6. 마지막으로, 봇을 로그인 토큰으로 돌립니다. 만약 토큰을 얻거나 봇을 생성하는 것에 도움이 필요하다면, 봇 계정 생성 항목을 보세요.

이제 우리가 봇을 만들었으므로, 우리는 봇을 실행해야합니다. 다행히, 이건 그저 파이썬 스크립트이기 때문에 바로 실행하면 되므로 간단합니다.

윈도우에서:

$ py -3 example_bot.py

다른 시스템에서:

$ python3 example_bot.py

이제 당신의 기본적인 봇으로 놀면 됩니다.