디스코드 사용자라면 다양한 인기 서버에서 여러 디스코드 봇을 접했을 것입니다. 음악 재생 봇부터 서버 관리 봇까지, 거의 모든 용도의 봇이 존재합니다. 만약 직접 디스코드 봇을 만들고 싶다면, 이 가이드에 따라 2022년 이후에도 쉽게 봇을 만들 수 있습니다.
디스코드 봇 제작 (2022년 최신 가이드)
디스코드 봇 제작 전 준비 사항
원래 이 가이드에서는 인기 있는 Python 기반의 Discord.py 라이브러리를 사용하려 했으나, 라이브러리의 미래를 고려하여 Node.js 기반의 discord.js 라이브러리를 사용하기로 결정했습니다. 따라서 PC에 Node.js가 설치되어 있는지 확인해야 합니다. Node.js 최신 버전은 공식 웹사이트(방문하기)에서 다운로드할 수 있습니다. 다음 명령어를 터미널에 입력하여 Node.js와 npm이 올바르게 설치되었는지 확인할 수 있습니다.
node -v npm -v
코드 작성, 편집, 관리를 효율적으로 하기 위해 다음 텍스트 편집기를 활용할 수 있습니다. 추천하는 편집기는 Microsoft의 Visual Studio Code(다운로드)이며, 다양한 VSCode 테마를 적용하여 더욱 편리하게 사용할 수 있습니다.
디스코드 봇 계정 설정 및 서버 추가
1. 디스코드 개발자 포털에 접속하여 디스코드 계정으로 로그인합니다. 로그인 후, 우측 상단에 있는 “새 애플리케이션” 버튼을 클릭합니다.
2. 애플리케이션 이름을 입력하고 “만들기”를 클릭합니다. 애플리케이션 이름은 봇의 이름과 반드시 같을 필요는 없습니다. 봇의 이름은 나중에 변경할 수 있습니다.
3. 왼쪽 사이드바에서 “봇” 섹션으로 이동한 후, “봇 추가”를 클릭합니다.
4. 팝업 창이 나타나면 “예, 하세요!”를 클릭하여 계속 진행합니다.
5. 디스코드 봇이 생성되었습니다. 이제 “봇” 섹션에서 봇의 이름과 아이콘을 변경할 수 있습니다. 먼저 “토큰” 아래의 “복사” 버튼을 클릭하여 봇의 토큰을 복사합니다. 봇 토큰은 나중에 필요하며, 봇에 대한 접근 권한을 부여하므로 다른 사람과 공유하지 않도록 주의해야 합니다.
6. 왼쪽 사이드바에서 “OAuth2” 탭을 확장하고, “URL 생성기” 섹션으로 이동합니다. 여기서 범위로 “봇”을 선택하고, 봇에 적절한 권한을 부여합니다. 이 예제에서는 봇에 관리자 권한을 부여합니다.
7. 아래로 스크롤하여 “복사” 버튼을 클릭하여 봇의 URL을 복사합니다.
8. 복사한 URL을 웹 브라우저에 붙여넣고, 디스코드 서버에 봇을 추가합니다. “서버에 추가” 목록에서 서버를 선택하고 “계속”을 클릭하면 봇이 추가됩니다.
PC에서 로컬로 디스코드 봇 생성 및 호스팅
이제 디스코드 서버에 봇을 추가했으므로, 봇을 설정할 차례입니다. 아래 단계를 따라 PC에서 로컬로 디스코드 봇을 호스팅해 보세요.
1. PC의 아무 곳에나 새로운 폴더를 만듭니다. 이 폴더 안에 .env 파일과 bot.js 파일을 생성합니다. .env 파일에 이전에 복사한 봇 토큰을 다음 형식으로 붙여 넣습니다.
DISCORD_TOKEN= 여기에 따옴표 없이 토큰을 붙여 넣으세요
2. 다음으로 bot.js 파일에 아래 코드를 추가합니다. 이 코드를 사용하면 사용자가 “ping”을 입력할 때마다 봇이 “pong”으로 응답합니다.
require('dotenv').config(); const Discord = require("discord.js"); const client = new Discord.Client({intents: ["GUILDS", "GUILD_MESSAGES"]}); client.on("ready", () => { console.log(`Logged in as ${client.user.tag}!`) }) client.on("message", msg => { if (msg.content === "ping") { msg.reply("pong"); } }) client.login(process.env.DISCORD_TOKEN);
4. 다음 명령어를 사용하여 Discord.js 라이브러리를 설치합니다.
npm install --save discord.js dotenv
5. 다음으로 “npm init -y” 명령어를 사용하여 package.json 파일을 생성합니다.
6. 마지막으로 “node bot.js” 명령어를 사용하여 디스코드 봇을 실행할 수 있습니다.
7. 아래에서 볼 수 있듯이, 봇이 정상적으로 작동하며 테스트 메시지에 올바르게 응답합니다.
클라우드에서 디스코드 봇 생성 및 호스팅
디스코드 봇을 온라인으로 호스팅하려면 Replit을 사용하는 것이 좋습니다. Replit은 50개 이상의 프로그래밍 언어를 실행하고 호스팅할 수 있는 온라인 IDE입니다. 또한 Replit 설정 과정도 매우 간단합니다. 이제 Replit을 사용하여 클라우드에서 봇을 호스팅하는 방법을 알아보겠습니다.
1. Replit 계정에 가입해야 합니다. 이메일 주소를 사용하거나 Google, GitHub, Facebook 계정을 사용하여 가입할 수 있습니다.
2. 왼쪽 상단 모서리의 “만들기” 버튼을 클릭하여 새 프로젝트를 만듭니다.
3. 팝업창에서 Node.js 템플릿을 선택하고 프로젝트 이름을 지정한 후 “Repl 만들기”를 클릭합니다.
4. 왼쪽 사이드바에서 자물쇠 모양 아이콘을 찾아 이전에 복사한 봇 토큰을 붙여 넣습니다. “값” 필드에 토큰을 붙여 넣고 “키” 필드에 토큰 이름을 설정합니다. “새 암호 추가”를 클릭하여 토큰을 저장하고 Node.js 코드에 추가합니다.
5. 다음 코드를 붙여넣고 상단의 녹색 “실행” 버튼을 눌러 프로젝트를 실행합니다. 이제 PC를 종료한 후에도 봇을 사용할 수 있습니다.
const mySecret = process.env[`TOKEN`] const Discord = require("discord.js"); const client = new Discord.Client({intents: ["GUILDS", "GUILD_MESSAGES"]}); client.on("ready", () => { console.log(`Logged in as ${client.user.tag}!`) }) client.on("message", msg => { if (msg.content === "ping") { msg.reply("pong"); } }) client.login(process.env.TOKEN);
6. Replit 프로젝트로 돌아와 “중지” 버튼을 클릭하여 봇을 중지할 수 있습니다. 이것으로 봇 제작이 완료되었습니다. 봇의 코드를 수정하여 필요한 기능을 추가하거나 제거할 수 있습니다.
자주 묻는 질문
Q: 디스코드 봇을 무료로 만들 수 있나요?
A: 네, 무료로 디스코드 봇을 만들고 PC나 클라우드에서 로컬로 호스팅할 수 있습니다.
Q: 코딩 없이 디스코드 봇을 만드는 방법은 무엇인가요?
A: 코딩 없이 디스코드 봇을 만들고 싶다면 다른 사람들이 만든 샘플 디스코드 봇 프로젝트를 찾아서 필요에 맞게 수정해야 합니다. 이러한 방법이 번거롭다면, 항상 사용할 수 있는 최고의 디스코드 봇 중 하나를 사용하여 서버 기능을 향상시킬 수 있습니다.
Q: 디스코드 봇을 만드는 데 Discord.py를 사용할 수 있나요?
A: 인기 있는 Discord Python 라이브러리인 “discord.py”의 개발자는 2022년 4월부터 디스코드의 슬래시 명령어 강제 전환에 불만을 품고 라이브러리 개발을 중단하기로 결정했습니다. 따라서 이 라이브러리는 더 이상 개발되지 않으며, Discord.py의 GitHub 페이지는 현재 읽기 전용 모드로 전환되었습니다. 인증되지 않은 봇은 현재 영향을 받지 않지만, 향후 변경될 수 있습니다.
나만의 디스코드 봇 만들기
지금까지 디스코드 봇을 만드는 방법에 대해 알아보았습니다. 이 가이드에서는 텍스트에 응답하는 간단한 봇을 예시로 들었지만, 봇의 기능은 무궁무진합니다. 새로운 디스코드 봇에 대한 영감이나 아이디어가 필요하다면, 최고의 디스코드 봇에 대한 기사를 참고하여 마음에 드는 기능을 구현해 보세요.