본문 바로가기

카테고리 없음

node.js로 디스코드 봇 만들기 #1 - 기본 세팅

파이썬으로 개발하고싶으신분은 여기를 눌러서 파이썬으로 개발하시기 바랍니다.

 

안녕하세요! 터컴입니다. 오늘은 node.js로 디스코드 봇을 만들어볼겁니다.

일단 여기를 클릭해서 node.js다운로드 사이트로 갑니다.

안정화된 노란색을 다운로드 해줍니다. (빨간색을 다운로드하셔도 상관 없습니다.)

계속 Next만 눌러줍니다.
설치중....

완료. 그냥 Finish를 눌러줍시다.

 

node.js는 파이썬과 다르게 기본 텍스트 에디터(code editor)가 제공되지 않습니다. 개인의 취향(?)에 맟춰서 code editor를 다운로드해줍시다. (추천: Visual Studio Code 여기를 클릭하여 다운로드하세요)

클릭.

"다음(N)"만 눌러줍니다.
마침.

입력후 폴더 하나 생성후 파일 이름 app.js로 저장

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
const Discord = require("discord.js");
const request = require('request');
const PREFIX = "접두사 입력"
const TOKEN = "토큰 입력"
 
var bot = new Discord.Client();
 
bot.on("ready"function(){ //봇이 준비되었을때
    console.log("ready"); //콘솔에 준비되었다고 띄우고
    bot.user.setActivity('안녕하세요!', {type: "PLAYING"}); //디스코드내의 "플레이중"을 '안녕하세요'로정한다.
})
 
bot.on("message"function(message) { //메시지가 왔을때
    if (message.author.equals(bot.user)) return//봇이면 무시
 
    if(message.author.bot) return//봇이면 무시
 
    if (!message.content.startsWith(PREFIX)) return//만약 메시지가 내가 정한 접두사로 시작하지 않는다면 무시
    var args = message.content.substring(PREFIX.length).split(" ")
 
    switch (args[0].toLowerCase()){
        case "hello"//만약 메시지가 {접두사}hello로 시작한다면
            message.channel.sendMessage("안녕하세요."//안녕하세요라고 답변
            break;    //다음 스크립트가 실행 안되게 정지
 
        default//만약 메시지는 접두사로 시작하는데 사용자가 입력한 커맨드가 없다면
            message.channel.sendMessage("음...없는 커맨드 같아요."//커맨드가 없는거같다고 답변
    }
});
 
bot.login(TOKEN)
cs

 

cmd실행(사진처럼 경로 나와있는데에 cmd라고 입력)

npm init입력 후 package name에 영어로 이름 입력후 계속 엔터

npm install discord.js

경고떠도 무시하시고 npm install request입력.

경고떠도 무시하고 node app을 입력.

ready! 

저는 접두사를 "/"로 설정해놓았기에 /hello를 입력했습니다. {접두사}hello라고 입력하면 봇이 "안녕하세요"로 대답하면 성공입니다.

 

다음에는 embed를 출력하는 방법을 알아보고, {접두사}say [내용] 이라고 메시지가 왔다고 가정했을때 봇이 [내용]을 보내도록 해보겠습니다. 감사합니다.