automuteusのセルフホスト環境構築　2024/4更新

# automuteusのセルフホスト環境構築
## 目次
1.始めに
2.Docker設定用のファイルをダウンロード
3.Dockerダウンロード
4.ディスコードボット作成
5.Docker構築
6.終わりに
## 1.始めに
automuteusのセルフホスト導入の時に自分が目に入ったブログは全部今の環境ではできない方法をとっていたので改めて導入する方法を残した方がいいかなと思い書いてます。有識者の方から見ると若干おかしいところがあると思いますがそこは目を瞑ってください。またチャプターはじめのうんちくはなんでこんな面倒なことをしているのかを知りたい方向けのものなので興味のない方は読み飛ばしていただいて結構です。

## 2.Docker設定用のファイルをダウンロード
Dockerとはwindowsのソフトがmacで動かないようにプログラ厶はその人の環境にかなり依存します。それをコンテナという別環境をPCの中に作り出すことで動作の安定化や環境への依存をなくすことができる画期的なソフトウェアです。Dockerのセットアップには設計書を作成し、それをDockerに構築してもらう必要があります。以下、そのための方法を列挙していきます。


![タイトルなし.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/697761/9b0fb830-64ec-e038-8fd2-162da1b9656b.png)


[このリンク](https://github.com/automuteus/deploy)を開いて写真の赤い四角に示したcodeをクリックしてdownload zipを押してファイルをダウンロードします。
gitを理解してる方はgit cloneで大丈夫です。

## 3.Dockerダウンロード
### 手順１
![スクリーンショット 2024-04-16 183454.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/697761/8bf7bede-b6dc-3cf6-ea0c-66a0df590689.png)

[このリンク](https://www.docker.com/products/docker-desktop/)を開き自分のOSにあったDockerダウンロードします。windowsの方はそのまま画面中央のDownload for Windowsを選択します。
### 手順２
ダウンロードしたファイルを開き、すべてOKを押してください。Installation succeededの文字が出てきたら完了です。アカウントを作らなければならないのですがそれは各自でお願いします。

## 4.ディスコードボット作成

オートミュートアスをセルフホストすると高速化が可能になります。高速化のイメージとしてまず主となるメインボットを作成します。これはミュート、サーバーミュートの他にテキストの送信やリンクなど全ての処理を担うボットです。それに加えてミュート、サーバーミュートだけを担うワーカーボット（たぶん公式呼び）を2つ作成します。なぜ3つもボットを作成するかというとディスコードのボットは全て一定時間にできるアクションの個数が決まっています。一つのボットだけだと、テキストの送信やミュート、サーバーミュートなど全てのアクションを一つでこなさなければならないためすぐアクションの個数制限に引っかかってしまう訳です。以後主となボットをメインボット、補佐するボット2つをワーカーボットと注釈なしで表現します。
### 手順１
[このリンク](https://discord.com/developers/applications)に入りログインする。
### 手順２
右上のNew Applicationを押し、名前を入力しチェックをつけ作成を押す。名前はautomuteusのボットである点と今回はメインボットを作るのでメインボットである点がわかり易い名前にしておくとこんがらがらないで済みます。
### 手順３
![スクリーンショット 2024-04-16 1844531.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/697761/6bc85152-3ef0-8cc8-9697-5340f3896743.png)
ボットを作成したらこのような画面に出ると思います。
左メニューのBotをクリックし
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/697761/55060882-b2fd-40ce-fe88-d642f63ddc36.png)
このような画面がでたらReset Tokenを押し、表示されたトークンをメモしておきます。このトークンはあとから表示させることはできないので、ボットの名前とセットでメモして起きましょう。
### 手順４
次に左メニューのBotの１個上のOAuthをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/697761/049dffbe-1f76-59c5-d723-31ddfea4f10e.png)
ちょっと下に下げるとOAuth　URL　Generatorがでてきます。画面中央のbotのみにチェックを入れると下の画像のように下に出てくる、BOT PERMISSIONSのAdministratorにチェックを入れます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/697761/aff5d59a-5426-75a4-7254-3862757f898e.png)
そしてその下のGENERATED  URLをコピーしさっきのトークンをメモした下辺りにメモしておきます。
### 手順５
このリンクを開くと
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/697761/b1bbfa97-27a8-1c61-a418-6104786fa53d.png)
上のような画面が出てきて、リストに自分がボット追加権限を持っているサーバーがありますのでそこからはいを選べばボットをサーバーに追加することができます。
### 手順６
以下手順１～５と同じことをしてワーカーボットを２つ作っていきます。
違う点としては手順４のBOT　PERMISSIONSでAdministratorを選択したところを下の画像の赤線で囲ったMute MembersとDeafen Membersだけで大丈夫です。トークンとURLだけはあとで使うのでどっかにメモしておくようにお願いします。
![スクリーンショット 2024-04-16 185354.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/697761/534914eb-8c8e-0591-ffc5-f22499029d1c.png)


## 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を起動し、展開したフォルダの空白部分を右クリックし、ターミナルで開くを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/697761/0239cfff-faad-1408-b847-908f6ac7cca9.png)

そして画像のようにdocker compose up -d
と入力すれば完成です。
##### ※dockerを起動しないとコマンドを叩いてもエラーが出てしまうので注意してください。

## 6.終わりに
長い工程お疲れ様でした。もしこの方法でできない場合はpinnsann@protonmail.comまで連絡いただくかこの下のコメントに書いていただければ幸いです。ただコメントはあまり見ていないので早く知りたい場合はメールアドレスのほうが早いです。ただ僕も1学習者ですので答えられない場合のほうが多いかもです。