파이썬으로 디스코드 봇 개발 시작하기 (기본 구조 잡기)

discord.py를 사용하여 디스코드 봇 개발 시작하기

디스코드 봇 개발을 위해 사전준비를 마쳤다면, 이제 본격적으로 개발하기 위해 틀을 잡아본다.

 

discord.py 설치

아래 글들을 참고하여, discord.py 사용 준비를 마친다.

 

디스코드 서버-봇 설정하기

디스코드란? 디스코드는 인스턴트 메신저 중의 하나로 음성, 채팅, 화상통화 등을 지원하는 VoIP 솔루션이다. 2015년 9월에 모바일 게임인 Fates Forever 지원하기 위해 최초 출시되었으며, 뛰어난 성

luran.me

 

 

디스코드 봇 준비- discord.py 설치하기 (feat 맥북, 구글 코랩)

로컬 맥북 혹은 구글 코랩에 discord.py 설치하기 파이썬용 디스코드 봇 API로, discord.py를 사용하면 손쉽게 디스코드 봇을 만들 수 있다. 파이썬이 있다는 전제가 깔려 있으므로, 맥북 로컬에 설치되

luran.me

계정 설정 및 기본적인 서버 동작을 확인했다면 다음 절차로 넘어갈 수 있다.


 

주피터 및 구글 코랩 사용시 참고 사항

만약, 주피터나 구글 코랩에서 테스트하고자 한다면 아래 내용도 참고한다.

 

디스코드 오류 - Cannot close a running event loop (feat. 구글 코랩)

디스코드 서버/ 봇 설치 후, 실행하다 이 에러가 난다면? 구글 코랩 및 주피터에서 디스코드(discord.py) 실행시 겪을 수 있는 오류이다. 내 경우는, 구글 코랩에서 디스코드 봇 실행과정에서 발생했

luran.me

 

discord.ext를 사용한 봇 틀잡기

import discord
from discord.ext.commands import Bot

TOKEN = '토큰 값'

intents = discord.Intents.default()

# !로 시작하면 명령어로 인식
bot = Bot(command_prefix='!', intents=intents)

@bot.event
async def on_ready():
  print(f'logged in as {bot.user}')

# !hello 명령어 처리
@bot.command()
async def hello(ctx):
  await ctx.reply('Hi, there!')

# !bye 명령어 처리
@bot.command()
async def bye(ctx):
  await ctx.reply('See you later!')

bot.run(TOKEN)

TOKEN 값에는, 앞서 설정하여 확보한 본인의 토큰 값을 복사하여 써준다.

!로 시작하는 문자열을 명령어로 인식하고, !를 제외한 나머지 문자열을 명령어로 처리하도록 해준다.
즉 !hello -> hello 명령어, !bye -> bye 명령어로 인식한다.

 

동작 확인

위의 코드로 동작하는 discord 봇을 로컬, 구글코랩, 주피터 등을 활용하여 띄워놓은 후, PC/맥북/모바일 등에 설치한 discord client로 접속한다.

위와 같이 !hello, !bye 명령어를 실행하여 동작하는 것을 확인할 수 있다.


 



이후 작업

이후에 할 일은, 디스코드 봇이 할 일을 커맨드로 지정하는 일과, 실제 커맨드가 수행할 일을 작성하는 것이다.

그리고, 지금은 로컬이나 구글 코랩, 주피터에서 간단하게 실행해 보지만, 봇이 실제로 계속해서 실행될 보금자리를 마련해줘야 한다.

댓글

Designed by JB FACTORY