단 10줄로 만드는 간단한 디스코드 봇

2025. 5. 17. 13:05·봇 개발 팁/Discord.js

디스코드 봇을 처음 만들어본다면, 복잡한 설정이나 구조보다는 바로 동작하는 간단한 예제부터 시작하는 것이 이해에 큰 도움이 됩니다. 여기서는 Node.js와 discord.js 라이브러리를 활용해, 정말 최소한의 코드로 동작하는 봇을 만들어봅니다. 실제로는 다양한 기능을 추가할 수 있지만, 핵심 구조만 익히는 데 집중해봅시다.

준비 과정

  1. Node.js가 설치되어 있어야 합니다. 공식 홈페이지에서 설치할 수 있습니다.
  2. 프로젝트 폴더를 만들고, 터미널에서 npm init -y로 초기화합니다.
  3. npm install discord.js 명령어로 라이브러리를 설치하세요.

10줄짜리 기본 코드

아래 코드를 index.js 파일로 저장합니다. 코드 한 줄 한 줄이 어떤 역할을 하는지 주석으로 설명을 달았습니다.

const { Client } = require('discord.js'); // discord.js에서 Client 객체를 불러옵니다.
const client = new Client({ intents: ['Guilds', 'GuildMessages', 'MessageContent'] }); // 봇이 어떤 이벤트를 받을지 설정합니다.

client.on('ready', () => console.log('봇이 준비되었습니다!')); // 봇이 로그인되면 메시지를 출력합니다.

client.on('messageCreate', msg => { // 메시지가 생성될 때마다 실행됩니다.
  if (msg.author.bot) return; // 다른 봇의 메시지는 무시합니다.
  if (msg.content === '!ping') msg.reply('pong!'); // '!ping' 메시지에 'pong!'으로 답장합니다.
});

client.login('여기에_봇_토큰_입력'); // 디스코드 개발자 포털에서 발급받은 봇 토큰을 입력하세요.

코드 리뷰 및 설명

  • Client와 Intents: 디스코드 API 정책상, 봇이 어떤 이벤트를 받을지 명시적으로 지정해야 합니다. 여기서는 서버(Guild), 메시지(GuildMessages), 메시지 내용(MessageContent) 이벤트를 받도록 설정했습니다.
  • ready 이벤트: 봇이 정상적으로 로그인되었는지 확인할 수 있는 좋은 방법입니다. 실제 서비스에서는 이 부분에서 초기화 작업을 하기도 합니다.
  • messageCreate 이벤트: 디스코드에서 메시지가 생성될 때마다 호출됩니다. 여기서 봇이 반응할 명령어를 자유롭게 추가할 수 있습니다.
  • 봇 메시지 무시: msg.author.bot 체크는 필수입니다. 봇끼리 서로 반응하다가 무한 루프에 빠지는 것을 방지합니다.

마무리

이 코드는 정말 최소한의 구조만 담고 있지만, 실제로 디스코드 봇의 기본 뼈대가 어떻게 동작하는지 이해하는 데 충분합니다. 여기서부터 명령어를 추가하거나(슬래시 커맨드를 사용하는 것을 권장합니다), 데이터베이스와 연동하는 등 다양한 확장이 가능합니다.

'봇 개발 팁 > Discord.js' 카테고리의 다른 글

디스코드 봇에서 유저 포인트 시스템 구현하기  (0) 2025.05.22
디스코드 봇에 SQLite 연동하기 - Prisma로 쉽게 시작하기  (2) 2025.05.21
디스코드 봇 + OpenAI 연동하기 (ChatGPT API)  (1) 2025.05.20
환경변수와 .env 파일로 토큰 안전하게 관리하기  (0) 2025.05.18
Discord.js 설치 및 사용법, 메시지 보내기와 명령어 생성  (1) 2025.05.01
'봇 개발 팁/Discord.js' 카테고리의 다른 글
  • 디스코드 봇에 SQLite 연동하기 - Prisma로 쉽게 시작하기
  • 디스코드 봇 + OpenAI 연동하기 (ChatGPT API)
  • 환경변수와 .env 파일로 토큰 안전하게 관리하기
  • Discord.js 설치 및 사용법, 메시지 보내기와 명령어 생성
디스호스트
디스호스트
쉽고 안정적인 디스코드 봇 호스팅 서비스, 디스호스트의 기술 블로그입니다. 디스호스트는 24시간 구동되는 서버를 통해 디스코드 봇을 대신 구동시켜 드리는 서비스를 제공하고 있습니다.
  • 디스호스트
    디스호스트 기술 블로그
    디스호스트
  • 블로그 메뉴

    • 홈
    • 디스호스트 사용 가이드
    • 디스코드 봇 호스팅, 24시간 서버 구동
    • 분류 전체보기 (30) N
      • 디스코드 (6)
      • 디스호스트 가이드 (11)
      • 봇 개발 팁 (10) N
        • Discord.js (8)
        • Discord.py (1) N
      • DiscordJS 개발 튜토리얼 (3) N
  • 링크

    • 디스호스트
    • 디스호스트 패널
  • hELLO· Designed By정상우.v4.10.3
디스호스트
단 10줄로 만드는 간단한 디스코드 봇
상단으로

티스토리툴바