discord.js에서 Bot을 만들고 Heroku에서 영구 실행
8459 단어 경 6discord.js디스코드자바스크립트Node.js
환경
사전 준비
Homebrew 설치
nodebrew 및 Node.js 설치
htps : // 코 m / 쿄스케 5_20 / ms / c5f68fc9d89b84c0df09
이 기사를 참고로 도입했습니다.
Discord Bot 등록
Discord Developer Portal 페이지에 액세스합니다.
New Application 버튼을 클릭합니다.
NAME 입력란에 원하는 응용 프로그램 이름을 입력하고 Create 버튼을 클릭합니다.
응용 프로그램을 성공적으로 만들면 일반 정보 페이지로 리디렉션됩니다.
왼쪽의 SETTINGS 메뉴에서 Bot을 선택합니다.
Add Bot을 클릭합니다.
Yes, do it!를 클릭합니다.
Bot이 추가되었습니다.
TOKEN 열의 Copy 버튼을 클릭하여 Bot 토큰을 복사합니다.
개발시 사용하므로 어딘가에 삼가해 둡니다.
그런 다음 왼쪽 SETTINGS 메뉴에서 OAuth2를 선택합니다.
OAuth2 URL Generator - SCOPE 필드에 있는 bot의 체크박스를 선택하면
권한 부여 URL이 표시되므로 복사하여 액세스합니다.
Bot을 추가할 서버를 선택하고 인증 버튼을 클릭합니다.
Bot을 추가할 수 있는 권한은 관리자 권한이 있는 서버로 제한됩니다.
권한이 없는 서버는 목록에 표시되지 않습니다.
서버에 Bot이 추가되었지만 이 시점에서는 여전히 오프라인입니다.
개발
예로서 MyDiscordBot
라는 디렉토리를 작성해, 그 안에서 개발을 진행해 갑니다.
$ mkdir MyDiscordBot
$ cd MyDiscordBot/
discord.js 설치
$ npm install discord.js
略
+ [email protected]
added 7 packages from 6 contributors and audited 7 packages in 2.183s
found 0 vulnerabilities
성공하면 현재 디렉토리에discord.js
및 의존 라이브러리를 포함한 node-modules
package-lock.json
파일이 작성됩니다.
코딩
MyDiscordBot
디렉토리 바로 아래에 index.js
를 만듭니다.
이하, 공식 레퍼런스에 기재되어 있는 ping
라고 발언하면 Pong!
코드입니다.
(토큰 부분만 상수화했습니다)
MyDiscordBot/index.jsconst Discord = require('discord.js');
const client = new Discord.Client();
const BOT_TOKEN = '***********************************************************';
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`);
});
client.on('message', msg => {
if (msg.content === 'ping') {
msg.reply('Pong!');
}
});
client.login(BOT_TOKEN);
BOT_TOKEN
에 Discord Developer Portal 페이지에서 얻은 Bot 토큰
설정하십시오.
Node.js 로컬 서버에서 Bot 시작
$ node index.js
Logged in as Application Name#0000!
Bot이 온라인 상태입니다.
ping
라고 발언하면 Pong!
라고 답해줍니다.
배포
이대로는 자신의 단말에서 Bot을 기동하고 있을 때만 이용할 수 있기 때문에,
이번에는 Heroku에 배포해 보겠습니다.
Heroku를 사용한 영구 시작
이 기사를 참고로 Heroku에 등록 ~ 배포까지 실시했습니다.
보충
$ git push heroku origin --force
배포하자. 의 부분에 기재되어 있는 상기의 커멘드에서는 푸시 할 수 없었기 때문에,
아래 명령으로 대응했습니다.
$ git push heroku master --force
Heroku 시간대 설정
Heroku의 기본 시간대는 UTC (협정 세계시)이므로
일본 시간과 9시간의 지연이 있습니다.
타이머 처리 등 시각에 관한 처리를 실장할 예정이 있으면 JST(일본 표준시)로 변경해 둡시다.
이 기사를 참고로 설정했습니다.
Heroku 명령 발췌
$ heroku ps
dyno 무료 분의 남은 시간과 사용 시간, Web/Worker의 가동 상태를 확인할 수 있습니다.
$ ps:scale worker=0
Worker dyno의 스케일 수를 0으로 설정할 수 있습니다.
$ ps:scale worker=1
Worker dyno의 스케일 수를 1로 설정할 수 있습니다.
Reference
이 문제에 관하여(discord.js에서 Bot을 만들고 Heroku에서 영구 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/naente_dev/items/b18d88498f61b0b6af17
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
예로서
MyDiscordBot
라는 디렉토리를 작성해, 그 안에서 개발을 진행해 갑니다.$ mkdir MyDiscordBot
$ cd MyDiscordBot/
discord.js 설치
$ npm install discord.js
略
+ [email protected]
added 7 packages from 6 contributors and audited 7 packages in 2.183s
found 0 vulnerabilities
성공하면 현재 디렉토리에
discord.js
및 의존 라이브러리를 포함한 node-modules
package-lock.json
파일이 작성됩니다.코딩
MyDiscordBot
디렉토리 바로 아래에 index.js
를 만듭니다.이하, 공식 레퍼런스에 기재되어 있는
ping
라고 발언하면 Pong!
코드입니다.(토큰 부분만 상수화했습니다)
MyDiscordBot/index.js
const Discord = require('discord.js');
const client = new Discord.Client();
const BOT_TOKEN = '***********************************************************';
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`);
});
client.on('message', msg => {
if (msg.content === 'ping') {
msg.reply('Pong!');
}
});
client.login(BOT_TOKEN);
BOT_TOKEN
에 Discord Developer Portal 페이지에서 얻은 Bot 토큰설정하십시오.
Node.js 로컬 서버에서 Bot 시작
$ node index.js
Logged in as Application Name#0000!
Bot이 온라인 상태입니다.
ping
라고 발언하면 Pong!
라고 답해줍니다.배포
이대로는 자신의 단말에서 Bot을 기동하고 있을 때만 이용할 수 있기 때문에,
이번에는 Heroku에 배포해 보겠습니다.
Heroku를 사용한 영구 시작
이 기사를 참고로 Heroku에 등록 ~ 배포까지 실시했습니다.
보충
$ git push heroku origin --force
배포하자. 의 부분에 기재되어 있는 상기의 커멘드에서는 푸시 할 수 없었기 때문에,
아래 명령으로 대응했습니다.
$ git push heroku master --force
Heroku 시간대 설정
Heroku의 기본 시간대는 UTC (협정 세계시)이므로
일본 시간과 9시간의 지연이 있습니다.
타이머 처리 등 시각에 관한 처리를 실장할 예정이 있으면 JST(일본 표준시)로 변경해 둡시다.
이 기사를 참고로 설정했습니다.
Heroku 명령 발췌
$ heroku ps
dyno 무료 분의 남은 시간과 사용 시간, Web/Worker의 가동 상태를 확인할 수 있습니다.
$ ps:scale worker=0
Worker dyno의 스케일 수를 0으로 설정할 수 있습니다.
$ ps:scale worker=1
Worker dyno의 스케일 수를 1로 설정할 수 있습니다.
Reference
이 문제에 관하여(discord.js에서 Bot을 만들고 Heroku에서 영구 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/naente_dev/items/b18d88498f61b0b6af17
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ git push heroku origin --force
$ git push heroku master --force
$ heroku ps
$ ps:scale worker=0
$ ps:scale worker=1
Reference
이 문제에 관하여(discord.js에서 Bot을 만들고 Heroku에서 영구 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/naente_dev/items/b18d88498f61b0b6af17텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)