언어별 퀵스타트
Python 봇 시작하기
discord.py v2 라이브러리로 기본 핑퐁 봇을 만들고 디스호스트에 배포하는 방법을 알아봅니다.
이 가이드에서는 Python 환경에서 널리 쓰이는 discord.py v2 라이브러리로 기본 핑퐁 봇을 작성하고, 디스호스트에 배포하는 과정을 안내합니다.
1단계: 로컬 프로젝트 준비
- 프로젝트 디렉토리 생성: 로컬 터미널에서 새 폴더를 만들고 이동합니다.
mkdir my-python-bot cd my-python-bot - 가상환경 생성 및 패키지 설치: 프로젝트 격리를 위해 가상환경을 만들고
discord.py와python-dotenv를 설치합니다.python3 -m venv venv source venv/bin/activate pip install discord.py python-dotenv - requirements.txt 생성: 컨테이너가 설치할 패키지 목록을 파일로 저장합니다.
pip freeze > requirements.txt
2단계: 핑퐁 봇 코드 작성
프로젝트 루트 폴더에 bot.py 파일을 생성하고 아래 코드를 작성합니다.
# bot.py
import os
import discord
from discord.ext import commands
from dotenv import load_dotenv
# 로컬 개발 시 .env 파일을 불러옵니다. (디스호스트에서는 대시보드 환경 변수가 우선 적용됩니다)
load_dotenv()
# 메시지 내용 확인에 필요한 인텐트를 활성화합니다.
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.event
async def on_ready():
print(f'Log: 로그인 완료! - 계정명: {bot.user.name}')
@bot.command(name='ping')
async def ping(ctx):
await ctx.reply('pong! 🏓')
# DISCORD_TOKEN 환경 변수로 로그인합니다.
token = os.getenv("DISCORD_TOKEN")
if token:
bot.run(token)
else:
print("Error: DISCORD_TOKEN 환경 변수가 설정되지 않았습니다.")3단계: 디스호스트에 배포 및 실행
- 프로젝트 압축:
- 가상환경 폴더인
venv는 용량이 크고 컨테이너 환경과 충돌하므로 절대 압축에 포함하지 마세요. bot.py와requirements.txt파일만 선택해.zip파일로 압축합니다.
- 가상환경 폴더인
- 대시보드 업로드 및 설정:
- 디스호스트 봇 관리 패널의 파일 매니저 탭에서 압축 파일을 업로드하고, 우클릭 후 압축 풀기 (Unarchive)를 실행합니다.
- 스타트업 설정 탭으로 이동해
STARTUP_FILE항목에 진입 파일명인bot.py가 지정되어 있는지 확인합니다. PY_PACKAGES필드에 필요한 패키지(discord.py python-dotenv)를 공백으로 구분해 입력해 둘 수도 있습니다.
- 봇 실행:
- 콘솔 탭으로 이동해 시작 (Start) 버튼을 누릅니다.
- 필요한 패키지 설치가 완료되고 콘솔에
Log: 로그인 완료!메시지가 출력되면 배포가 완료된 것입니다.