디스코드 봇 호스팅 — 디스호스트에서 코드 연결하기

2026년 1월 20일·42개 메시지

이 글에서는 디스호스트 패널에 디스코드 봇 코드를 올리고 실행해 실제로 호스팅하는 과정을 정리한다. 필요한 파일 생성, 환경변수 설정, 실행 스크립트 등록과 짧은 예제 코드를 포함한다.

증상

  • 패널의 Files 탭에 봇 엔트리 파일(index.js 또는 bot.py)이 없어서 실행이 되지 않는다.
  • .env 파일이 비어있거나 봇 토큰이 설정되지 않아 인증 실패가 발생한다.
  • package.jsonstart 스크립트가 없어 콘솔에서 실행 명령을 바로 사용할 수 없다.
  • 코드 내 한글 주석이나 문자열 처리 문제로 명령이 정상 동작하지 않는다.

원인

  • 호스팅 엔트리 파일 미존재: 호스트는 시작 파일을 찾아 실행해야 한다.
  • 환경변수 누락 또는 형식 오류: .env에 토큰을 넣지 않거나 잘못된 이름/따옴표로 설정하면 process.env로 읽지 못한다.
  • 실행 스크립트 미설정: 패널에서 자동 실행하거나 편리하게 수동 실행하려면 package.json에 명시적 스크립트 필요.
  • 코드 언어 불일치: 서버에 지정한 런타임(Node.js 또는 Python)과 코드 언어가 다르면 실행 불가.
  • 한글 처리: 코드 주석은 언어별 주석 문법을 사용하고 명령어/키워드는 한글 대신 영문 사용 권장.

해결 방법

1단계: 엔트리 파일 만들기 (index.js 또는 bot.py)

  • Node.js 예제 (index.js):
// index.js
const { Client, GatewayIntentBits } = require('discord.js');
require('dotenv').config();

const client = new Client({ intents: [GatewayIntentBits.Guilds] });

client.once('ready', () => {
  console.log(`Logged in as ${client.user.tag}`);
});

client.login(process.env.DISCORD_TOKEN);
  • Python 예제 (bot.py, discord.py 2.x 기준):
# bot.py
import os
import discord
from discord.ext import commands
from dotenv import load_dotenv

load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')

intents = discord.Intents.default()
bot = commands.Bot(command_prefix='!', intents=intents)

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

bot.run(TOKEN)

엔트리 파일명은 호스팅 환경에서 지정한 시작 파일과 일치시킨다. Node.js 런타임이면 index.js, Python이면 bot.py처럼 맞춘다.

2단계: .env 파일 작성

  • .env 파일에 봇 토큰을 환경변수로 넣는다. 예:
DISCORD_TOKEN=your_bot_token_here
  • 따옴표(' 또는 ")는 제거하여 단일 값으로 입력한다. 코드에서는 process.env.DISCORD_TOKEN(Node) 또는 os.getenv('DISCORD_TOKEN')(Python)으로 읽는다.

3단계: package.json 및 의존성 설정 (Node.js 기준)

  • 간단한 package.json 예:
{
  "name": "discord-bot",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  }
}
  • 필수 설치:
npm install discord.js dotenv
  • 패널의 콘솔에서 npm start 또는 패널의 실행 버튼으로 start 스크립트를 실행한다.

Python 환경은 requirements.txtdiscord.pypython-dotenv 추가 후 pip install -r requirements.txt 실행하고 python bot.py로 실행한다.

4단계: 한글/주석 처리와 명령어

  • 코드 내 한글은 언어별 주석 문법으로만 사용한다 (// 한글 주석 또는 # 한글 주석).
  • 봇 명령어 이름이나 코드 키워드는 가급적 영문으로 작성해 충돌을 방지한다.

5단계: 실행 및 추적

  • 디스호스트 패널의 Console 탭에서 실행 버튼을 눌러 로그를 확인한다.
  • 인증 실패, 권한(인텐트) 문제, 모듈 미설치 등 오류는 콘솔 로그를 보고 의존성 설치(npm install 또는 pip install)와 인텐트 설정을 점검한다.

마무리

핵심은 엔트리 파일(index.js/bot.py) 생성, .envDISCORD_TOKEN 설정, 그리고 package.jsonstart 스크립트 등록이다. 이 세 가지를 맞추면 디스호스트에서 디스코드 봇을 안정적으로 호스팅하고 실행할 수 있다.