언어별 퀵스타트
Node.js 봇 시작하기
discord.js v14 라이브러리를 활용해 1분 만에 핑퐁 봇을 구축하고 디스호스트 컨테이너에 완벽 배포하는 전체 코스입니다.
본 가이드는 Node.js 런타임 환경에서 가장 널리 사용되는 discord.js v14 버전을 이용해 기본적인 봇 스크립트를 빌드하고 실행하는 프로토콜을 설명합니다.
1단계: 로컬 개발 환경 정의
- 프로젝트 폴더 생성: 로컬 컴퓨터에 새로운 디렉토리를 생성하고 터미널로 진입합니다.
mkdir my-discord-bot cd my-discord-bot - 패키지 명세 초기화: npm 도구를 사용해 패키지 설정 파일을 초기화합니다.
npm init -y - discord.js 및 dotenv 설치: 디스코드 API 연동 라이브러리와 로컬 환경 변수 관리 라이브러리를 추가합니다.
npm install discord.js dotenv
2단계: 핑퐁(Ping-Pong) 핵심 코드 작성
프로젝트 폴더 루트에 index.js 파일을 새로 생성하고 아래의 예제 코드를 붙여넣습니다:
// index.js
require('dotenv').config();
const { Client, GatewayIntentBits } = require('discord.js');
// 봇이 수신하고자 하는 게이트웨이 이벤트 권한을 선언합니다.
const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent
]
});
// 봇이 디스코드 API 서버와 통신 준비를 마쳤을 때 실행됩니다.
client.once('ready', () => {
console.log(`Log: 로그인 완료! - 계정명: ${client.user.tag}`);
});
// 사용자가 텍스트 메시지를 보냈을 때 작동하는 리스너입니다.
client.on('messageCreate', async (message) => {
// 봇이 보낸 메시지나 시스템 알림은 무시합니다.
if (message.author.bot) return;
// '!ping' 명령어가 도달하면 'pong'으로 답신합니다.
if (message.content === '!ping') {
await message.reply('pong! 🏓');
}
});
// 디스코드 토큰 환경변수를 파싱해 게이트웨이에 로그인을 시도합니다.
client.login(process.env.DISCORD_TOKEN);3단계: 디스호스트에 배포 및 실행
- 프로젝트 압축:
index.js와package.json, 그리고package-lock.json파일만 묶어 하나의.zip파일로 만듭니다.
- 대시보드 업로드:
- 디스호스트 파일 매니저 탭으로 진입합니다.
- 드래그 앤 드롭으로
.zip압축파일을 올립니다. - 파일 우클릭 후 압축 풀기 (Unarchive)를 실행합니다.
- 진입점 및 종속성 검증:
- 스타트업 설정의 시작 명령(STARTUP_FILE) 필드에
index.js가 입력되어 있는지 확인합니다.
- 스타트업 설정의 시작 명령(STARTUP_FILE) 필드에
- 구동:
- 콘솔 탭으로 이동하여 시작 (Start) 버튼을 클릭합니다.
- 패키지 자동 설치가 끝나고
Log: 로그인 완료!로그가 화면에 노출되면 성공입니다.