개인 자료란 (JE)

  서버 커뮤니티

Profile lukekeum 대표칭호 없음
Profile

Config.json 추가해보기

TIP

이 페이지는 이전강의를 바탕으로 하고 있습니다

왜 Config.json인가?

우리가 지금은 아니지만, 나중에 우리가 중요한 데이터를 저장하고, github과 같은 리포지토리에다가 올릴 때, 우리는 보안상 중요한 데이터를 올리면 안됩니다. 예를 들어:

  • 데이터베이스 관련
  • API keys
  • 디스코드 봇 토큰

이러한 것들을 노출 시키지 않기 위하여, 우리는 Config.json이라는 파일을 사용하겠습니다. 추후에 github에다가 올릴 때에는 Config.json이라는 파일만 제외하고 올려주시면 됩니다.

Config.json 생성하기

자, 그럼 이제 Config.json을 생성해 볼까요? 

VSCode를 켜 주시고, Config.json이라는 파일을 프로젝트 루트 디렉토리에다가 만들어 주고 다음과 같이 입력해주세요

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

우리가 이제 Config.json이라는 파일은 만들었지만, index.js에서 불러오지는 못했어요.. 그럼 이제 불러오는 걸 해볼까요?

   

const config = require('./Config.json');

이걸 윗부분에다가 써 주시고, Config.json에서 쓴 prefixtoken을 불러오겠습니다. 아래와 같이 써주세요

client.on('message', message => {
  if(message.content === `${config.prefix}ping`) {
    message.channel.send('pong!');
  }
});
(...)
client.login(config.token);

이런식으로 해주시면 됩니다. 이렇게 하고, 디스코드 봇을 실행하시면, 이전과 같은 결과물이 나올 것입니다. 이런식으로 하여, 우리는 토큰값과 같은 비밀정보를 타인에게 노출시키지 않을 수 있습니다. 현재는 아무렇지 않아보이시지만, 나중에 Github에 올려, 실제로 서비스를 할 때는 이렇게 정보를 숨겨야합니다.

TIP

(...)는 중간에 생략 되어 있는 코드를 말합니다

다른방법?

허나, 만약에 config.token이나 config.prefix가 너무 길다고 느껴지시면, 위와같이 봐꿔보세요.

const { prefix, token } = require('./Config.json');

이와 같이 바꾸시면, 아래와 같이 바꾸실 수 있습니다

client.on('message', message => {
  if(message.content === `${prefix}ping`) {
    message.channel.send('pong!');
  }
});
(...)
client.login(token);

어때요? 더욱 간편해 졌죠?

다음에는?

우리가 명령어를 만들어 볼껀데요, 어떤 명령어냐 하면 !ping test라고 하는 명령어입니다. !ping이라는 명령어를 치면, 두번째 인자의 값을 리턴하는 것을 만들어보겠습니다. 수고하셨습니다.


https://discord.gg/2gxSqWu - 마인크래프트 개발자 디스코드

4개의 댓글

히리지
2020.03.30

헉 코드에 가려서 글씨가 반이 가려졌어요;;;

ENCE
2020.03.30
@히리지

ㄷㄷ

lukekeum
2020.03.30
@히리지

글 다시 다 썼습니다... 한마포 마크다운때문에;; 다시 써야해서;;

lukekeum
2020.03.31

2020.03.31 오전 02시 01분 log

좀 더 간결하게 사용할 수 있는 법을 추가했습니다

뉴스 및 창작물
/files/thumbnails/477/930/003/262x150.crop.jpg?20241201030912

레드스톤

뉴진스 - Super Shy | 마크 노트블럭 커버

노트블럭전문가

2024-12-01

0

/files/thumbnails/483/916/003/262x150.crop.jpg?20241127115329

레드스톤

[노트블럭 커버] 뉴진스 - ETA 3

노트블럭전문가

2024-11-27

1

/files/thumbnails/150/925/003/262x150.crop.jpg?20241123005717

건축

응답하라 1988 ? 1

팀뉴일리시

2024-11-23

5

/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 6

KHC

2024-10-25

2

/files/thumbnails/578/899/003/262x150.crop.jpg?20241010142350

건축

경주 월정교 1

KHC

2024-10-10

2