【Discord】24時間365日動くDiscordのbotを作ってみる(eris+heroku)
botの準備
下記のリンクからbotを作成します https://discordapp.com/developers/applications/
Create an applicationからappを作成する
OAuth2からbotを選択、下に表示されたリンクにアクセスし、botをサーバー招待します
開発環境の準備
Node.jsのインストール
下記のリンクからNode.jsをDLし、インストールします
LTSと最新版とありますが、特に理由がなければLTSでOKです
MacでHomebrewなどが入っていればbrew install node
でもOKです。
インストールが完了したら、ターミナルで
npm --version
と入力し、6.4.1
のように数値が表示されればNode.jsのインストールが正常に成功しています
herokuの登録&インストール
下記のリンクにアクセスしてサイトの案内通りに(なげやり)サインアップします
登録が完了したら下記のリンクからインストーラーを選択してDLします
Getting Started on Heroku with Node.js
botを制作するための作業フォルダの作成
Finderまたはターミナルから作業フォルダを作成します 場所はどこでもいいです
今回は例として/Users/XXXX/discordbot
に作成しました(XXXXはPCユーザー名)
実際に作ってみる
ここからはターミナルを利用するので開いておいてください
npm install eris
erisというdiscord.jsのラッパーライブラリをインストールします
cd /Users/XXXX/discordbot
作業フォルダに移動します
npm init -y
npmの初期化を行ないます これによってpackage.jsonが生成されます
code package.json
package.jsonを開きます codeの部分はお使いのPCに入っているテキストエディタに合わせて変更してください
開いたファイルのscripts内に,"start" : "node index.js"
を追記します
"scripts" : { "test" : "~~~~~~" ,"start" : "node index.js" }
上記のコードが追記後のイメージです
code index.js
ソースファイルを開きます
ファイルが開けない場合はエクスプローラー上でindex.jsを作成してからテキストエディタで開いてください
const eris = require("eris"); // botトークンのIDをTOKEN_IDに入力します var bot = new eris("TOKEN_ID"); bot.on("ready", () => { console.log("botの準備が完了しました"); }); // Discordに接続します bot.connect();
開いたソースファイルに上記のサンプルコードを入力します TOKEN_IDは冒頭で作成したbotのページにあるものをコピーします
git init
gitを初期化します コマンドがエラーする場合は、下記のリンクからgitをインストールしてください
インストール後、ターミナルを再起動することでコマンドが利用できます(はず)
Git --distributed-even-if-your-workflow-isnt
git add . && git commit -m "initial commit"
変更したファイルのステージとコミットを行ないます
&&が通らない場合は、git add .
を実行したあとにgit commit ~~
を実行することでも同じ結果が得られます
- git addでステージするファイルを選択します。今回はすべてのファイルをステージするので . としました
- git commitでステージしたファイルをコミットします。基本的にはコミットメッセージをつけてコミットするので-m “任意のメッセージ"とします
heroku create
herokuにアプリケーションを作成します
- Creating foo… doneというメッセージが返ってきたら作成が成功しています。この場合fooが仮アプリケーション名になります(変更可能)
- 作成が上手くいかない場合はherokuがメンテナンスをしている可能性があります。返ってきたメッセージで検索すると解決できるかもしれません
herokuへのログインが必要になる場合はheroku login
を実行してください
git push heroku master
herokuにプッシュを行ない、それをherokuが自動的にデプロイします
botがオンラインになっていれば成功です
git add . && git commit -m "initial commit"
ソースを変更するたびに上記のコマンドを実行して開発を進めます
heroku scale worker = 1
最後に、デフォルトの状態だと少し経つとbotが停止してしまうので上記のコマンドでworkerモードに変更する必要があります