Windows 서버에서 디스코드 봇 돌리기
Windows 서버에 원격 데스크톱으로 접속해서 디스코드 봇을 24시간 실행하는 방법입니다. 봇 코드는 이미 내 PC에서 잘 돌아간다고 가정합니다. Linux 서버라면 디스코드 봇 24시간 호스팅하기 (discord.js·discord.py)를 참고하세요.
1. 봇 파일 옮기기
봇 폴더를 압축해서 원격 데스크톱으로 복사하거나 (파일 올리고 내려받기), GitHub에 올려두었다면 서버에서 받습니다. 여기서는 C:\mybot에 둔다고 가정합니다.
🔒 봇 토큰은 코드에 직접 쓰지 말고
.env파일에 따로 두세요. 토큰이 유출되면 누구나 내 봇을 조종할 수 있습니다.
Node.js 봇 (discord.js)
Node.js 설치
서버 안의 브라우저로 nodejs.org에 접속해 LTS 버전 Windows용 .msi를 받아 설치합니다. PowerShell을 새로 열어 확인합니다.
node -v
패키지 설치와 실행
cd C:\mybot
npm install
node index.js
봇이 디스코드에서 온라인이 되면 성공입니다. (index.js는 내 봇의 시작 파일 이름으로 바꿉니다)
Python 봇 (discord.py)
Python 설치
python.org에서 Windows용 설치 파일을 받아 실행합니다. 첫 화면에서 "Add python.exe to PATH"를 꼭 체크한 뒤 설치합니다.
가상환경 만들고 실행
cd C:\mybot
py -m venv venv
.\venv\Scripts\pip install -r requirements.txt
.\venv\Scripts\python bot.py
꺼지면 다시 켜지게, 재부팅 후 자동 실행
봇을 직접 실행해두면 오류로 꺼졌을 때 다시 켜지지 않습니다. C:\mybot\start.bat을 만들어 꺼지면 자동으로 다시 실행되게 합니다.
@echo off
cd /d C:\mybot
:loop
node index.js
echo Bot stopped. Restarting in 10 seconds...
timeout /t 10
goto loop
Python 봇이라면 node index.js 줄을 venv\Scripts\python bot.py로 바꿉니다.
서버가 재부팅돼도 봇이 자동으로 켜지게 하려면 이 start.bat을 작업 스케줄러에 등록합니다. 방법은 Windows 서버에서 프로그램 자동 실행하기를 그대로 따라 하면 됩니다.
알아둘 것
- 원격 데스크톱 창은 X 버튼으로 닫으세요. 서버 안에서 로그아웃하면 직접 실행한 봇이 꺼집니다.
- 봇은 외부에서 접속받는 프로그램이 아니라서 방화벽 포트를 열 필요가 없습니다.
- 봇이 꺼진다면 콘솔 창의 마지막 에러 메시지를 확인하세요. 토큰 오류, 패키지 누락이 가장 흔한 원인입니다.
- Windows는 운영체제 자체가 메모리를 많이 씁니다. 봇만 돌린다면 Linux 서버가 더 저렴하고 가볍습니다. 운영체제 선택 가이드