언어별 퀵스타트
Node.js 봇 시작하기
discord.js v14 라이브러리로 간단한 핑퐁 봇을 만들고 디스호스트에 배포하는 방법을 알아봅니다.
이 가이드에서는 Node.js 환경에서 가장 널리 쓰이는 discord.js v14 라이브러리를 사용해 기본 핑퐁 봇을 작성하고, 디스호스트에 배포하는 과정을 안내합니다.
1단계: 로컬 프로젝트 준비
- 프로젝트 디렉토리 생성: 로컬 터미널에서 새 폴더를 만들고 이동합니다.
mkdir my-discord-bot cd my-discord-bot - package.json 생성: npm 명령어로 프로젝트 패키지 파일을 초기화합니다.
npm init -y - discord.js 및 dotenv 설치: 디스코드 API 연동 라이브러리와 환경 변수 관리 패키지를 설치합니다.
npm install discord.js dotenv
2단계: 핑퐁 봇 코드 작성
프로젝트 루트에 index.js 파일을 만들고 아래 코드를 작성합니다.
// index.js
require('dotenv').config();
const { Client, GatewayIntentBits } = require('discord.js');
// 봇 동작에 필요한 게이트웨이 인텐트를 지정합니다.
const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent
]
});
// 봇이 디스코드 게이트웨이에 정상 연결되었을 때 실행됩니다.
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! 🏓');
}
});
// 환경 변수 DISCORD_TOKEN을 사용해 로그인합니다.
client.login(process.env.DISCORD_TOKEN);3단계: 디스호스트에 배포 및 실행
- 프로젝트 압축:
node_modules폴더는 용량이 크고 서버에서 자동 설치되므로 압축에서 제외합니다.index.js,package.json,package-lock.json만 선택해.zip파일로 압축합니다.
- 대시보드 업로드:
- 디스호스트 봇 관리 패널의 파일 매니저 탭으로 이동합니다.
- 압축한
.zip파일을 드래그 앤 드롭으로 업로드합니다. - 업로드된 파일 우클릭 후 압축 풀기 (Unarchive)를 실행합니다.
- 진입 파일 확인:
- 스타트업 설정 탭의 시작 파일(STARTUP_FILE) 필드에
index.js가 지정되어 있는지 확인합니다.
- 스타트업 설정 탭의 시작 파일(STARTUP_FILE) 필드에
- 봇 실행:
- 콘솔 탭으로 이동하여 시작 (Start) 버튼을 누릅니다.
- 패키지 자동 설치가 완료되고 콘솔에
Log: 로그인 완료!메시지가 표시되면 정상적으로 실행된 것입니다.