インストール方法 - TumoiYorozu/DiscordWerewolf.ts GitHub Wiki
Discord Bot のアクセストークンの準備をした後、
- Ubuntu などの Linux を使っている方、WindowsのWSL Ubuntu機能上で使いたい方は コマンドでインストール for ubuntu
- Windows 上で実行したい方は Windows でのインストール
をお読みください。
Discord Bot のアクセストークンの準備
以下のページから Bot の作成とトークンを入手してください.Bot は 2体必要なので2つ作成してください.
(生存者ボイスと霊界ボイスをつなぐ時,1Bot 1ボイチャしか入れないので2つ必要)
https://discordapp.com/developers/applications/me
詳しいやり方↓
https://liginc.co.jp/370260
追記: Discord の仕様変更により、 Bot に Message content intent
の権限が必要になりました。Discord Developer Portal から、自分の bot を選択した後、左のSettings の Bot
→ MESSAGE CONTENT INTENT
を オン
にして下さい。
コマンドでインストール(for Ubuntu.シンプル)
確認した環境
- WSL Ubuntu 18.04 (Windows10)
- AWS EC2 Ubuntu 18.04
Windows で実行する場合は WSL と言う機能を使って Windows 上の Ubuntu で実行する方法を紹介します.
この記事 などを参考に WSL の Ubuntu をセットアップしてください.
# 必要パッケージのインストール.node 16 を使うために n 経由でインストール.apt で入れた node は削除
sudo apt update
sudo apt install -y nodejs npm git wget ffmpeg
sudo npm install n -g
sudo n 16.9.1
sudo apt purge -y nodejs npm
exec $SHELL -l
# TypeScript のインストール.Git clone.コンパイル
sudo npm install -g [email protected]
git clone https://github.com/TumoiYorozu/DiscordWerewolf.ts.git
cd DiscordWerewolf.ts/
npm install
tsc
# デフォルトだと BGM はインストールされないので,フリーBGM をDL.mp3 から wav の変換に ffmpeg が必要
sh ./misc_tools/setFreeBGM/set_dova_syndrome_BGMs.sh
環境変数の設定(例)
.bashrc
ファイルを編集して環境変数を設定します.
Ubuntu のターミナルから nano ~/.bashrc
と打つと,ファイルの編集ができるので,一番下に
export DISCORD_WEREWOLF_BOT_TOKEN_1="BOT1のトークン"
export DISCORD_WEREWOLF_BOT_TOKEN_2="BOT2のトークン"
export DISCORD_WEREWOLF_HTTP_IP="BotをインストールしたPCのIPアドレス.例 192.168.1.2"
export DISCORD_WEREWOLF_HTTP_ADDR="外部から接続するために表示するアドレス.例A 123.45.67.89, 例B hogehoge.com"
export DISCORD_WEREWOLF_HTTP_PORT="1080"
export DISCORD_WEREWOLF_SYSTEM_GM="システムGM 例 : 564310525715021835"
を追記します.
「外部から接続するために表示するアドレス」はグローバルIP などを持っていればそれを設定すれば良いです.外部から接続できるアドレスを持っていない場合は DISCORD_WEREWOLF_HTTP_IP
と同じや 127.0.0.1
(ローカル・ループバック・アドレス:自分自身にアクセスするアドレス)を設定しておけば良いです.
DISCORD_WEREWOLF_SYSTEM_GM
にシステム操作権限を与える人の ID を記入します.ID はデベロッパーモードを有効化して,自分のアカウントを右クリック→「IDをコピー」などで取得できます.参考
ファイルを編集する際,nano の場合, Ctrl+O
で保存の確認されるので Enter
で保存されます.保存完了後,Ctrl+X
で nano を終了できます.
ターミナルを再起動するか,source ~/.bashrc
と打つことで環境変数の設定が反映されます.
変数がちゃんと反映されているか確認するには,例えば
echo $DISCORD_WEREWOLF_BOT_TOKEN_1
と打ち,設定したトークンが表示されれば完了です.
実行
node build/index.js -s server_settings/dova_syndrome_BGMs.json5
Windows でのインストール
Node.js公式サイト の 16.*.* LTS
をダウンロード・インストールします.バージョン16なら何でも良いと思います.インストール後,コマンドプロンプトを開きnode -v
と打ちv16.9.1
などのようにバージョン名が出てくれば成功です.
このBotのトップページ のCode
をクリックしDownload Zip
からコードをダウンロードします.もしくはここから直接ダウンロードできます.
ダウンロード・Zip解凍完了後,そのフォルダでコマンドプロンプトを開きます.エクスプローラーのアドレスバー(~\DiscordWerewolf.ts
と表示されているところ)にcmd
と打ち,Enter キーを押すことで簡単に開けます.
黒い画面が出てきたら
npm install -g typescript
npm install
node_modules\.bin\tsc.cmd
で,コードのセットアップが完了です.
環境変数の設定
プロンプトで
set DISCORD_WEREWOLF_BOT_TOKEN_1=【BOT1のトークン】
set DISCORD_WEREWOLF_BOT_TOKEN_2=【BOT2のトークン】
set DISCORD_WEREWOLF_HTTP_IP=【BotをインストールしたPCのIPアドレス.例 192.168.1.2】
set DISCORD_WEREWOLF_HTTP_ADDR=【外部から接続するために表示するアドレス.例A 123.45.67.89, 例B hogehoge.com】
set DISCORD_WEREWOLF_HTTP_PORT=【1080】
set DISCORD_WEREWOLF_SYSTEM_GM=【システムGM 例 : 564310525715021835】
と打つことで,そのプロンプト内限定で環境変数を設定できます.=
の前後に余分なスペースなどは入れないでください.そのプロンプトを閉じるまで,この設定は有効です.
他にもスタートメニューで「環境変数を編集」と検索し,出てきたウィンドウで恒久的な設定をすることもできます.ここで設定した場合,プロンプトを閉じても設定が有効なままです.
環境変数を設定できたら,プロンプトで
echo %DISCORD_WEREWOLF_BOT_TOKEN_1%
などと打ち,設定したトークンが表示されれば,大丈夫です.
設定後
node build/index.js
とプロンプトで打てば,Bot を起動できます.
音楽の設定
適当なフォルダに wav ファイルを配置し,BGM 設定ファイルを書くことで,BGM をつけることができます.
※ wav ファイルはステレオ(2ch)で,サンプリングレート 48000 Hz で用意する必要があります.
例えば DiscordWerewolf.ts
以下の media/dova_syndrome_BGMs
フォルダに A.wav, B.wav, ...
などを用意します.
用意したら,
{
music :{
opening : "./media/dova_syndrome_BGMs/A.wav",
first_night : "./media/dova_syndrome_BGMs/B.wav",
day_time : "./media/dova_syndrome_BGMs/C.wav",
vote : "./media/dova_syndrome_BGMs/D.wav",
night : "./media/dova_syndrome_BGMs/B.wav",
good_win : "./media/dova_syndrome_BGMs/E.wav",
evil_win : "./media/dova_syndrome_BGMs/A.wav",
},
}
という内容のテキストファイルを用意し,例えば server_settings
フォルダ以下に dova_syndrome_BGMs.txt
と保存します.
Bot の起動時に
node build/index.js -s server_settings/dova_syndrome_BGMs.txt
とBGM設定ファイルの場所を一緒に指定することで,BGM が設定できます.
選曲に関してはお好きなものを使えばよいですが,例えば Linux(Ubuntu)/Mac 用の BGM 設定スクリプト を見ると,参考になるかもしれません.
docker でインストール
対応したいけど,Dockerfile 何も分からねぇ… tsc でのビルドが失敗する….依存パッケージがインストールされて無くない…? なんで…