2022/07/31 run.sh 0.7.0 対応
2022/04/09 run.sh 0.6.8 対応
今日は某PVでDJやってたのでDJしてもらいます(圧
環境、使う物
- VPS AlmaLinux
- Docker
- Java OpenJDK buster
- JMusicBotJP
https://github.com/Cosgy-Dev/JMusicBot-JP
VPS環境構築
ともあれベースとなるVPSを用意します
ConoHaトップページのログインからコンソールに入りましょう
- 今回試験環境なのでVPS割引きっぷは使わず
- 512MBプランで行きます
切符、サイズは環境に合わせて作ってください - イメージは今回AlmaLinux使います
去年の年末からCentOSの動きが激しかったのでAlmaLinux使って行きます
まあどうせDockerが動けばホストOSは何だっていいんです - パスワードはジェネレータで適当に長いものを入れています
- ネームタグもわかりやすい物を
- SSH Keyは無い場合は新規作成、既存の物を使う場合はキーを選択します
- スタートアップスクリプトはyum upgradeにとどめておきます
#!/bin/bash
yum -q -y makecache
yum -q -y upgrade
reboot
では作成しています
VSCode接続
VSCodeにリモート環境をインストールします
これらをインストールしおきます
Remote Explorerを選択し、SSH Targetに切り替え
を選択し.ssh/configを選択
SSHフィンガープリントを許可するか問われるのでContinueします
Docker構築
SSH接続したVSCodeからターミナルを開きます
CentOS向けのインストール方法を参考に
https://docs.docker.com/engine/install/centos/
yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
systemctl enable docker
systemctl start docker
日本語のJapanese Language Packも必要であれば入れましょう
Dockerfile作成
アプリケーション仕様上
どうしても実行jarファイルと同ディレクトリに設定ファイルを
置いてしまうのでdocker-composeを使ってマウントしています
version: '3'
services:
jmusicbot-jp:
build: .
volumes:
- ./app:/app
working_dir: /app
FROM openjdk:11-slim-buster
RUN apt update && \
apt install -y wget && \
apt clean && \
rm -rf /var/lib/apt/lists/*
CMD /app/run.sh
#!/bin/sh
VER=0.7.0
CONFVER=0.7.0
if [ ! -e JMusicBot-$VER.jar ]; then
wget -q https://github.com/Cosgy-Dev/JMusicBot-JP/releases/download/$VER/JMusicBot-$VER.jar
fi
if [ ! -e config.txt ]; then
wget -q https://github.com/Cosgy-Dev/JMusicBot-JP/releases/download/$CONFVER/config.txt
fi
java -Dnogui=true -jar JMusicBot-$VER.jar
一応パーミッション変更しておきます
chmod 777 app
chmod +x app/run.sh
Docker起動
cd ./Docker
docker-compose up
起動するとトークン取得情報と
読み込むconfigファイルが表示されます
jmusicbot-jp_1 | BOTトークンを入力してください。
jmusicbot-jp_1 | トークンを取得する方法はこちらから:
jmusicbot-jp_1 | https://github.com/jagrosh/MusicBot/wiki/Getting-a-Bot-Token.
jmusicbot-jp_1 | BOTトークン:
jmusicbot-jp_1 | [08:38:47] [WARN] [Config]: トークンが入力されていません!終了します。
jmusicbot-jp_1 |
jmusicbot-jp_1 | 設定ファイルの場所: /app/config.txt
ホストには
jarファイル config.txtが落ちてきています
バージョンによってはconfig.txtが提供されていないのでappの中にホストでconfig.txtを落として配置すれば大丈夫です
トークン取得
MusicBotの公式を参考に取得します
https://github.com/jagrosh/MusicBot/wiki/Getting-a-Bot-Token
ApplicationPageリンクがDiscordログインだけだったので以下から
https://discord.com/developers/applications
アイコンを設定します
このは壁紙から拝借
設定保存して
BOTトークンを発行します
ユーザー名を変更して
Public bot / oath2 codeをOFF
Token Copyして
config.txtに貼り付け
New Applicationから
ユーザID取得
公式を参考にします
https://github.com/jagrosh/MusicBot/wiki/Finding-Your-User-ID
Method2が分かりやすいかと思います
その他設定
config.txtを設定変更していきます
以下は自由に変更
チャットルームでコマンドを使うため
prefix = "!!"
を設定します
コマンド周りは何か使い勝手いい感じに
// Music commands
lyrics = []
nowplaying = [ np, current, pwd ]
play = [ p ]
playlists = [ pl ]
queue = [ list, q, ls ]
remove = [ delete, rm ]
scsearch = []
search = [ ytsearch, find ]
shuffle = [ rnd ]
skip = [ voteskip, s ]
保存したらdocker-compose up
します
jmusicbot-jp_1 | [09:34:19] [WARN] [Settings]: サーバー設定を読み込めませんでした(まだ設定がない場合は正常です): java.nio.file.NoSuchFileException: serversettings.json
jmusicbot-jp_1 | [09:34:19] [INFO] [Startup]: /app/config.txt から設定を読み込みました
jmusicbot-jp_1 | [09:34:20] [INFO] [JDA]: Login Successful!
jmusicbot-jp_1 | [09:34:21] [INFO] [WebSocketClient]: Connected to WebSocket
jmusicbot-jp_1 | [09:34:21] [INFO] [JDA]: Finished Loading!
jmusicbot-jp_1 | [09:34:21] [WARN] [MusicBot]: このボットはグループに入っていません!ボットをあなたのグループに追加するには、以下のリンクを使用してください。
jmusicbot-jp_1 | [09:34:21] [WARN] [MusicBot]: https://discord.com/oauth2/authorize?client_id=****************&scope=bot&permissions=******
BOTログイン用URL発行されるのでブラウザで開きます
BOTを入れるサーバーを選択して はい 認証 私は人間です と進めます
ボイスチャンネルに接続してチャットルームで
!!play https://www.youtube.com/watch?v=p0V7Hl92uZY
と発言すれば
これでDJこのは
デビューです
Discordから!!shutdown
でBotを一度停止し
docker-compose up -d
でバックグラウンドで起動しておきます。
っていうかこのはぴば2021
の3Dくそ可愛すぎん?(語彙力