ひさびさにはてなブログの方を更新してみようかと。WordPressのインストールが面倒ってわけじゃないからね
今日はRaspberry Piに無理やりJavaを入れてJMusicBotを動かす方法を教えようと思います。WindowsとかCentOSとかの情報は多いのですが、Raspberry Piでの情報量が少なかったので、一応。
私は、 Botの動かし方はこのサイトを、Javaのインストールはこのサイトを参考にやってきました。
1.Javaのインストール
sudo apt-get update
sudo apt-get upgrade
sudo apt install openjdk-8-jdk -y
をコマンドラインで入力してインストールします。
sudo apt install openjdk-11-jdk -y
で動くと思います(未検証)。
2.一応動作確認
java -version
でJavaが正常にインストールされたかを確認します。
openjdk version "バージョン番号"
が表示されたらインストールされています。
3.Botのファイルを落とす準備をする
mkdir JMusicBot
cd JMusicBot
を入力します。 mkdirはディレクトリ(Windowsでいうフォルダ)を作成し、cdはディレクトリを開くコマンドです。Linuxを使うのならよく使うコマンドかも。一応覚えておきましょう。
4.Botのファイルを落とす
一応GUIでもできますが、ここではCUIでのやりかたを説明します。
wget (ファイルのURL)
でダウンロードします。
ファイルのURLはコピペでやるといいでしょう。
ls
でダウンロードできたかが確認できます。
5.Discord側の設定をする
あれ?設定おかしくね?とか突っ込まない
↑のサイトにアクセスし、「New Application」でアプリケーションを作成します。
名前は自由に決めていいです。
アイコンも自由に決めていいです。あとからbotの方の設定で別のができますが、わかりやすくするため一応?
左のメニューで「Bot」を選び、「Add Bot」でBotのセットアップを行います。
ユーザーネームとアイコンが設定されている場合はさっきの設定が反映されます。
Token(トークン)をコピーしておきます。Tokenは絶対に外部に公開しないでください!公開してしまうと第三者が動かせてしまいます。
左のメニューで「OAuth2」を選び、botを招待する設定をします。
SCOPESは「bot」のみ、PERMISSIONS(いわゆるロール、役職)は自由に選び、生成されたURLをコピーし、botを招待します。これで正常にbotが招待されたら、Discordサーバー側で確認しておきましょう。しかし、これではまだ動きません。まだもうちょっと続きます。
開発者モードをオンにしていない場合
Botの開発に結構重要になってくる設定です。
ユーザー設定→詳細設定を開き、開発者モードをオンにしましょう。
5.Botの設定をする
sudo vi config.txt
で設定ファイルを開きます。私はnanoを使用しましたが、テキストエディタはどれでもいいです、個人的にnano派なので
設定ファイルを開くと、文字がずら~~~って出てきます(コマンドラインもそうだけど)。日本語に翻訳されてるので、わかりやすいでしょう。
token = ボットトークン
の行までいき、メモしておいたトークンを「ボットトークン」入力します。Tera Termを使用している場合、右クリックをするとペーストできます。
owner = 所有者ID
は自分のアカウントのユーザーIDを入力します。ユーザーIDはDiscordクライアントのユーザー欄から「IDをコピー」をクリックして取得します。
prefix = "@mention"
はprefix、いわゆる接頭辞です。MEE6でいう"!"、Dynoでは"?"をコマンドの前に入力しますよね。それがprefixです。基本的になんでもいいのですが、サーバーにほかのbotを入れている場合は競合を避けるために、"!"や"?"などは使用しない方がいいでしょう。
あとは自由に設定してください。
6.botの起動
設定が終わったらbotの起動です。
sudo java -jar JMusicBot-0.x.x.jar
を入力するとbotが起動できます。 xのところはバージョンに合わせておきましょう。JMusicBot-JP-0.x.x.jarだと実行しません。
Error: Unable to access jarfile JMusicBot-JP-0.x.x.jar
というエラーが出るからです。理由としては、ファイルが存在しないからでしょう。
[14:01:30] [INFO] [JDA]: Finished Loading!
が表示されれば起動成功です。お疲れさまでした。
おわりに
なぜ私が音楽ボットを作ろうとしたのか?
それはね・・・
音楽ボットを使って疑似ラジオなるものをつくろうとしたから。
これでどこでもDiscordで音楽が聴ける!!!
という感じに。前はPythonで作成していましたが、すごく難しくて・・・また挑戦したいと思いますが。