Node js 디스 코드 봇 - Node js diseu kodeu bos

Node.js를 사용해서 디스코드 봇을 제작하는 방법을 알아보겠습니다.

노드JS 이외에도 파이썬, 자바 ,Go 등 다양한 언어로 제작할 수 있으나, 현 시점에서는 Node.js를 

기준으로 설명드리겠습니다. 디스코드 봇을 만들기 위해 서버를 돌려줄 기기 혹은 서비스가 필요합니다.

개인 PC로도 충분히 되지만, 24시간으로 돌릴 서비스에 windows10을 사용하는 것은 추천하지 않고,

개인 PC를 사용하는 것도 더더욱 추천하지 않습니다.

GitHub - marshallku/Discord-IU-Bot: IU Bot for Discord

IU Bot for Discord. Contribute to marshallku/Discord-IU-Bot development by creating an account on GitHub.

github.com

디스코드에 앱 추가하기

디스코드 개발자 페이지로 이동해 어플리케이션을 추가해주세요

좌측 메뉴 Bot을 클릭하시면 우측에 Add Bot 버튼을 누르시면 위 창이 뜹니다. 

여기서 Yes, do it!을 눌러주세요.

나중에라도 로그인시 필요할 토큰은 Copy 버튼을 클릭해 토큰을 보관해주세요.

봇에 로그인을 토큰만으로 진행하기 떄문에 절대 외부에 유출하시면 안됩니다.

간단하게 봇을 설정해주신 뒤, 다시 좌측 OAuth2를 클릭해주시면 위 메뉴가 뜰건데

Bot 버튼 클릭후, 아래에서 봇에 사용될 옵션들을 클릭하신 뒤, 맨밑에 주소에 Copy 버튼을 클릭하시면 봇을 

서버에 추가할 수 있는 주소가 복사됩니다.

복사된 주소로 이동하면 

봇을 추가할 서버를 추가해주시고 계속하기를 클릭해주세요

권환 확인 페이지 입니다. 승인 버튼 클릭후 완료해주세요.

봇이 이상없이 성공적으로 추가되었다면 서버에 위 화면처럼 뜰 것입니다.

이제 이 봇에 생명을 붙여넣어줄 차례입니다.

서버 세팅법

이제 서버를 돌릴 수 있는 기기 혹은 서비스가 필요합니다.

Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

먼저 노드JS가 필요합니다. 위 링크에 접속해 nodejs를 설치해주세요 윈도우 환경이 아니라면

curl -sL //deb.nodesource.com/setup_13.x | sudo -E bash - sudo apt-get install -y nodejs

curl을 이용해 설치해주시면 됩니다. nodejs의 설치버전을 확인하려면 

nodejs --version && nodejs -v

설치가 모두 완료되었다면 봇 구동에 사용할 파일들을 넣을 폴더를 하나 생성해주세요

그 런뒤 터미널을 켜서 해당 폴더를 vscode로 열어줍니다.

npm install discord.js

먼저 discord 봇을 추가하기 위해 discord 라이브러리를 설치해 줍니다.

const Discord = require('discord.js'); const client = new Discord.Client(); client.on('ready', () => { console.log(`Logged in as ${client.user.tag}`); }); client.on('message', msg => { if (msg.content === 'ping') { msg.reply('Pong!'); } }); client.login('token');

app.js(이름은 자유입니다.) 파일을 생성해주신후 위 코드처럼 작성하시면 됩니다.

위 예제 코드는 공식 홈페이지에 있는 ping이라 입력하면 pong이라 답하는 코드입니다.

추가로 token.json이라는 파일을 추가해주신뒤

{ "token": "토큰을 여기에 입력해주세요" }

아가 생성한 토큰은 이곳에다 따로 빼주었습니다.

const Discord = require('discord.js'); const client = new Discord.Client(); const token = require("./token.json") client.on('ready', () => { console.log(`Logged in as ${client.user.tag}`); }); client.on('message', msg => { if (msg.content === 'ping') { msg.reply('Pong!'); } }); client.login(token.token);

봇에 사용될 코드드를 입력하셨다면 아래 코드를 입력해 실행시켜줍니다.

node app.js

이상없이 돌아가네요, 이제 전반적인 세팅은 끝났습니다.

다음으로부터 24시간을 구동하는 법을 알아봅시다.

24시간 구동하기 

노드 앱을 실행시킨 터미널을 계속 켜두어도 24시간이 돌아가지만, 깔끔하게 screen을 사용해서 구동시켜봅시다.

sudo apt install -y screen

설치가 끝나면 screen 이라는 명령어를 사용하면  깔끔한 새창이 뜨고 

여기서 입력한 코드는 터미널을 끄더라도 계속 실행됩니다.

Ctrl + A => D 로 나갈 수 있고 

screen -r로 다시 돌아올 수 있습니다.

node app.js를 실행시켜주시면 끝입니다.

참고 자료

Node.js로 디스코드 봇 만들기

Ayana, FredBoat 등의 디스코드 봇을 직접 제작하는 방법입니다.Node.js 외에도 파이썬, 자바 ,Go 등 다양한 언어로 제작할 수 있습니다만, 이 글에선 Node.js로 봇을 만드는 법을 다룹니다. 디스코드 봇을

marshallku.com

관련 게시물

Toplist

최신 우편물

태그