automuteusのセルフホスト環境構築
目次
1.始めに
2.Docker設定用のファイルをダウンロード
3.Dockerダウンロード
4.ディスコードボット作成
5.Docker構築
6.終わりに
1.始めに
automuteusのセルフホスト導入の時に自分が目に入ったブログは全部今の環境ではできない方法をとっていたので改めて導入する方法を残した方がいいかなと思い書いてます。有識者の方から見ると若干おかしいところがあると思いますがそこは目を瞑ってください。またチャプターはじめのうんちくはなんでこんな面倒なことをしているのかを知りたい方向けのものなので興味のない方は読み飛ばしていただいて結構です。
2.Docker設定用のファイルをダウンロード
Dockerとはwindowsのソフトがmacで動かないようにプログラ厶はその人の環境にかなり依存します。それをコンテナという別環境をPCの中に作り出すことで動作の安定化や環境への依存をなくすことができる画期的なソフトウェアです。Dockerのセットアップには設計書を作成し、それをDockerに構築してもらう必要があります。以下、そのための方法を列挙していきます。
このリンクを開いて写真の赤い四角に示したcodeをクリックしてdownload zipを押してファイルをダウンロードします。
gitを理解してる方はgit cloneで大丈夫です。
3.Dockerダウンロード
手順1
このリンクを開き自分のOSにあったDockerダウンロードします。windowsの方はそのまま画面中央のDownload for Windowsを選択します。
手順2
ダウンロードしたファイルを開き、すべてOKを押してください。Installation succeededの文字が出てきたら完了です。アカウントを作らなければならないのですがそれは各自でお願いします。
4.ディスコードボット作成
オートミュートアスをセルフホストすると高速化が可能になります。高速化のイメージとしてまず主となるメインボットを作成します。これはミュート、サーバーミュートの他にテキストの送信やリンクなど全ての処理を担うボットです。それに加えてミュート、サーバーミュートだけを担うワーカーボット(たぶん公式呼び)を2つ作成します。なぜ3つもボットを作成するかというとディスコードのボットは全て一定時間にできるアクションの個数が決まっています。一つのボットだけだと、テキストの送信やミュート、サーバーミュートなど全てのアクションを一つでこなさなければならないためすぐアクションの個数制限に引っかかってしまう訳です。以後主となボットをメインボット、補佐するボット2つをワーカーボットと注釈なしで表現します。
手順1
このリンクに入りログインする。
手順2
右上のNew Applicationを押し、名前を入力しチェックをつけ作成を押す。名前はautomuteusのボットである点と今回はメインボットを作るのでメインボットである点がわかり易い名前にしておくとこんがらがらないで済みます。
手順3
ボットを作成したらこのような画面に出ると思います。
左メニューのBotをクリックし
このような画面がでたらReset Tokenを押し、表示されたトークンをメモしておきます。このトークンはあとから表示させることはできないので、ボットの名前とセットでメモして起きましょう。
手順4
次に左メニューのBotの1個上のOAuthをクリックします。
ちょっと下に下げるとOAuth URL Generatorがでてきます。画面中央のbotのみにチェックを入れると下の画像のように下に出てくる、BOT PERMISSIONSのAdministratorにチェックを入れます
そしてその下のGENERATED URLをコピーしさっきのトークンをメモした下辺りにメモしておきます。
手順5
このリンクを開くと
上のような画面が出てきて、リストに自分がボット追加権限を持っているサーバーがありますのでそこからはいを選べばボットをサーバーに追加することができます。
手順6
以下手順1~5と同じことをしてワーカーボットを2つ作っていきます。
違う点としては手順4のBOT PERMISSIONSでAdministratorを選択したところを下の画像の赤線で囲ったMute MembersとDeafen Membersだけで大丈夫です。トークンとURLだけはあとで使うのでどっかにメモしておくようにお願いします。
5.Docker構築
[2.Docker設定用のファイルをダウンロード]でダウンロードしたzipファイルを展開し、展開したフォルダを開くそうすると下の画像のような画面が表示されると思います。
まずsample.envの名前を.envに書き直す。
次に.envをメモ帳または他のテキストエディタで開く。
AUTOMUTEUS_TAG=
GALACTUS_TAG=
を
AUTOMUTEUS_TAG=latest
GALACTUS_TAG=latest
に書き直す。
先ほど作ったDiscordBotのメインボットのトークンを
DISCORD_BOT_TOKEN=
に入力する。
上と同様にワーカーボットのトークンを
WORKER_BOT_TOKENS=
二つのワーカーボットトークンの間に,をいれ入力する。
Dockerを起動し、展開したフォルダの空白部分を右クリックし、ターミナルで開くを選択
そして画像のようにdocker compose up -d
と入力すれば完成です。
※dockerを起動しないとコマンドを叩いてもエラーが出てしまうので注意してください。
6.終わりに
長い工程お疲れ様でした。もしこの方法でできない場合はpinnsann@protonmail.comまで連絡いただくかこの下のコメントに書いていただければ幸いです。ただコメントはあまり見ていないので早く知りたい場合はメールアドレスのほうが早いです。ただ僕も1学習者ですので答えられない場合のほうが多いかもです。