언어별 퀵스타트
Python 봇 시작하기
discord.py v2 라이브러리를 활용해 1분 만에 핑퐁 봇을 빌드하고 디스호스트 환경에서 오류 없이 올바르게 구동하는 코스입니다.
본 가이드는 Python 런타임 환경에서 가장 대표적인 discord.py v2 버전을 이용해 기본적인 봇 스크립트를 작성하고 호스팅 인프라에 배포하는 방법을 소개합니다.
1단계: 로컬 개발 환경 정의
- 프로젝트 디렉토리 생성: 로컬 터미널을 열고 새 폴더를 지정해 진입합니다.
mkdir my-python-bot cd my-python-bot - 가상환경 구성 및 패키지 설치: 로컬 실행 충돌 방지를 위해 가상환경을 만들고
discord.py라이브러리를 다운로드합니다.python3 -m venv venv source venv/bin/activate pip install discord.py python-dotenv - 의존성 명세 생성: 디스호스트 컨테이너가 라이브러리 목록을 감지하도록 텍스트 문서를 출력해 둡니다.
pip freeze > requirements.txt
2단계: 핑퐁(Ping-Pong) 핵심 코드 작성
프로젝트 루트 폴더에 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: 로그인 완료!메시지가 콘솔에 기록되면 모든 배포가 완료된 것입니다.