반응형
디스코드는 게이머뿐만 아니라 다양한 커뮤니티에서 활발히 사용되고 있습니다. 그런데 채팅방을 관리하거나 자동 응답 기능이 필요할 때, 디스코드 봇을 직접 만들어서 활용할 수 있다는 사실, 알고 계셨나요? 오늘은 파이썬 초보자도 쉽게 따라할 수 있는 디스코드 봇 만들기를 소개합니다!
디스코드 봇이란?
디스코드 봇은 디스코드 서버 안에서 자동으로 명령어를 처리하거나, 이벤트에 반응하는 프로그램입니다. 예를 들어, 사용자가 특정 키워드를 입력하면 자동으로 답변하거나, 서버에 새로운 사용자가 들어오면 환영 메시지를 보내는 식입니다.
디스코드 봇 활용 예시
- 채팅방에서 질문에 자동으로 답변하기
- 특정 명령어로 유저 역할(role) 부여하기
- 서버에 새 유저가 들어오면 자동 환영 메시지 보내기
- 공지사항 자동 알림 기능 만들기
디스코드 봇 만들기 준비물
1. 디스코드 개발자 포털 접속 및 봇 생성
- 디스코드 개발자 포털(https://discord.com/developers/applications) 접속
- New Application 클릭 → 앱 이름 지정
- Bot 탭에서 "Add Bot" 클릭 → 봇 생성
- Token 발급 → 나중에 사용 (중요! 외부 유출 금지)
2. 파이썬 디스코드 라이브러리 설치
디스코드와 파이썬을 연결하려면 discord.py
라이브러리가 필요합니다.
pip install discord.py
디스코드 봇 기본 코드 작성하기
import discord
from discord.ext import commands
# 봇 명령어 접두사 설정
bot = commands.Bot(command_prefix='!')
# 봇이 준비 완료되었을 때 실행
@bot.event
async def on_ready():
print(f'Logged in as {bot.user.name}')
# 사용자가 '!hello' 입력했을 때 반응
@bot.command()
async def hello(ctx):
await ctx.send('안녕하세요! 디스코드 봇입니다.')
# 봇 실행
bot.run('여기에_본인_봇_토큰을_입력하세요')
코드 설명
- command_prefix='!' : 명령어 앞에 느낌표를 붙여 실행
- @bot.command() : 명령어를 등록하는 부분
- ctx.send() : 채팅방에 메시지를 보내는 함수
디스코드 봇 서버에 초대하기
- OAuth2 메뉴 → URL Generator
- Scope : bot 체크
- Permissions : 봇이 수행할 권한 선택 (예: Send Messages)
- 생성된 URL로 디스코드 서버에 봇 추가
디스코드 봇 활용 심화 예시
1. 서버 입장 환영 메시지 자동 발송
@bot.event
async def on_member_join(member):
channel = discord.utils.get(member.guild.text_channels, name='일반')
await channel.send(f'환영합니다, {member.mention}님!')
2. 특정 키워드 감지하고 반응하기
@bot.event
async def on_message(message):
if '안녕' in message.content:
await message.channel.send('안녕하세요! 무엇을 도와드릴까요?')
await bot.process_commands(message) # 명령어 인식 위해 추가
디스코드 봇 운영 팁
- 봇 토큰 유출 금지 : 토큰이 외부에 노출되면 위험합니다.
- 서버 권한 설정 주의 : 필요한 권한만 부여해야 합니다.
- 꾸준한 업데이트 : 디스코드 API 업데이트에 맞춰 코드를 점검하세요.
마무리하며
처음에는 간단한 인사 기능부터 시작하지만, 디스코드 봇은 상상하는 거의 모든 기능을 구현할 수 있습니다. 사용자가 명령어를 입력하면 다양한 서비스를 제공하거나, 채팅방을 자동으로 관리하는 등 무궁무진한 확장이 가능합니다.
오늘 소개한 기본 디스코드 봇을 완성한 뒤, 음악 재생, 투표 기능 추가, 게임 서버 상태 모니터링 등 다양한 방향으로 발전시켜보세요. 파이썬 초보라도 충분히 도전할 수 있습니다!
반응형