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에서 쓴 prefix와 token을 불러오겠습니다. 아래와 같이 써주세요
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 - 마인크래프트 개발자 디스코드
히리지
2020.03.30헉 코드에 가려서 글씨가 반이 가려졌어요;;;
ENCE
2020.03.30ㄷㄷ
lukekeum
2020.03.30글 다시 다 썼습니다... 한마포 마크다운때문에;; 다시 써야해서;;
lukekeum
2020.03.312020.03.31 오전 02시 01분 log
좀 더 간결하게 사용할 수 있는 법을 추가했습니다