【Discord】JMusicbot(Java版Musicbot)を導入して使う方法

くにまりです。

ここではJMusicbot(jagrosh氏によって書かれたMusicbot)をセットアップし、使う方法を紹介します。

更新情報
2017年12月18日: ローカル音楽ファイル再生・役職機能について追記しました。
2017年12月25日: プレイリスト機能について追記しました。
2018年2月10日: jMusicBot v0.1.2がリリースされました。
2018年2月27日: 全体的に記事と写真を追加しました。
2018年3月20日: jMusicBot v0.1.3がリリースされました。今回からOS別に本体ファイルが別れています。
重要
2018年2月8日、jMusicBot v0.1.2がリリースされました。YouTubeの読み込みの問題が解決されているので、もしYouTubeが読み込めない・正常に再生できない等の問題がありましたら再導入してください。
重要
2018年2月24日現在、日本リージョンでのbot動作がうまく出来ず、VCを入ったり出たりを繰り返す不具合が生じているようです。日本以外のリージョン(香港やシンガポールなど)にすると作動します。
(2018-02-27現在、日本リージョンでも正常に動くことを確認しています。もし同様の現象が起こるようでしたらこちらの方法をお試しください。)


Python版との違い

  • Python版と違ってエラーが出にくい
  • 速度がPython版よりも速い
  • ローカルにある音楽(PC内にあるもの)を再生できる
  • 設定項目が少ない(その分楽)

Python版のインストール方法はこちらを御覧ください。

インストール

① Javaのダウンロード

まずはJavaをインストールします。以下のページにアクセスします。

「Accept License Agreement」のチェックを入れてから、「Java SE Development Kit (バージョン番号)」の「Windows x64」(32bit版はx86)の項目のexeファイルをダウンロードします。

任意の場所にダウンロードしてください。ダウンロードが完了するとこのようなアイコンのexeファイルがあるので、これをダブルクリックして実行してください。

② Javaのインストール

インストールが始まります。「次へ」をクリックします。

インストールするオプション機能の選択になりますが、何も変更せずに「次へ」を押してください。

インストーラーの準備が始まります。何もせずにちょっと待ちましょう。

コピー先フォルダの選択です。何も変更せずに「次」でOKです。

いよいよインストールが始まります。これがかの有名な「30億のデバイスで走るJava」です。

ちょっと待つとインストールが終わります。「閉じる」でインストーラーを終了させてください。

③ Musicbotをダウンロード

こちらのページから2つのファイルをダウンロードします。

下にある「Downloads」から「JMusicBot-0.1.3.jar」と「config.txt」をクリックして、同じフォルダ内にダウンロードしてください。

ダウンロードしたら、例えばドキュメントフォルダの中に「Musicbot」フォルダを作って、この中に2つのファイルを入れておきます。


(画像では0.1.2ですが、0.1.3が最新版です。)

jMusicBot-0.1.3.jar がこのbotの本体です。これを実行することでbot本体が起動します。(そのままではbotは動きません)

config.txtがbotの設定を書き込むファイルです。今からこのconfig.txtファイルを書き換えていきます。

③ botアカウントをつくる

さて、config.txtを書き換えていく前にまずは「bot用のアカウント」を作る必要があります。これは普通のアカウント作成ではダメで、少し特殊な手順を踏んで作っていくことになります。

今からの手順はInternet Exprorerでは動きません。Google ChromeかFirefoxの最新版を使ってください。

まずはブラウザ版Discordにログインしてください。このページからログインします。

ログインできて、Discordの画面が表示されたらOKです。画面は閉じても構いません。次に以下のページにアクセスします。

Application一覧が表示されます。まだ何もbotを作っていない人は何も表示されません。

その中の「Create an application」をクリックしてください。

アプリを新しく作る画面になります。「名前」「説明(任意)」「アイコン(任意)」を指定してください。

指定したら、下のほうにある「Save Changes」をクリックします。

次に、左側の「Bot」メニューを選択します。その中の「BUILD-A-BOT」の「Add Bot」をクリックします。

確認画面が表示されるので、「Yes, do it!」をクリックします。

botユーザーを作ることが出来たら、botの詳細が表示されます。

まずは「Public bot」のチェックを入れてください。

Token」の「click to reveal」をクリックし、Tokenを表示させます。これをコピーしてください

消えないようにメモ帳に、貼り付けておきましょう。

貼り付けたら、下の「Save Changes」をクリックしてください。(すでに押せない場合は押さなくてもOKです)

さらに、下の方にある権限関係の部分を操作します。ページをスクロールして、「BOT PERMISSIONS」部分、「GENERAL PERMISSIONS」内の「Administrator」をクリックしてチェックを入れておきましょう。

④ botアカウントをサーバーに入れる

アカウントを作ったので、次にこのアカウントをサーバーに参加させましょう。

左側メニューの「OAuth2」を探し、「OAUTH2 URL GENERATOR」部分を開きます。

次に、下のほうにある「BOT PERMISSION」の「Administrator」にチェックを入れ(②)、SCOPES欄にある「bot」にチェックを入れます(③)。

チェックを入れたら、上のURLの横にある「COPY」ボタンをクリックしてください(④)。これがbotをサーバーに参加させるためのリンクです。

新しいタブを開いてこのリンクにアクセスしてください。

アクセスすると、このようにサーバーを選ぶ画面になります。botを入れたいサーバーを選んでください。

認証画面になります。チェックボックスを押して認証します。

サーバーに追加されたら成功です。

⑤ Musicbotの設定をする

さきほどダウンロードしてきたファイルのうちの、「config.txt」をメモ帳で開きます。

この中にある「Token」と「Owner」を書き換えます

Tokenには先ほどメモ帳に貼り付けたAPP BOT USERのToken(59文字の英数字)を入力してください。

ownerには自分のユーザーIDを入力します。自分のユーザーIDはユーザー設定→テーマ→開発者モードをONにして、自分のユーザー名を右クリック→IDをコピー でコピーできます。

入力できたら、上書き保存してメモ帳を閉じます

⑥ Musicbotを実行する

configファイルを書き換え終えたら、いよいよbotの起動です。

config.txtと一緒の場所にダウンロードした、「jMusicBot-0.1.3.jar」をダブルクリックして実行します。


(画像では0.1.2ですが、最新版は0.1.3です)

このjarファイルを実行していないとbotは動作しません。MusicBotを使いたいときは必ずこのjarファイルを実行してください。

このような画面が立ち上がり、「Finished Loading!」と表示されたら準備完了です。

あとはコマンドを打つだけでVCで再生できます。

使い方

①まずは自分がVCに入ります。入らないとコマンドを受け付けてくれません。

②再生したい曲をリクエストします。

音楽をリクエストするコマンド
!!play (再生したいYouTubeのURL、もしくは検索ワード)

!!playとURL・検索ワードの間は半角でスペースを入れてください。例えば自分の「To my darling… Piano Rock Remix」を再生したいときは……

音楽をリクエストするコマンド例
!!play To my darling ピアノロックリミックス

ちゃんと再生してくれました。

その他のコマンド一覧

現在再生待ち(キューに入っている)曲を表示
!!queue
現在再生中の曲を表示
!!np
現在再生中の曲をスキップ
!!skip
現在再生待ち(キューに入っている)曲をすべて消去
!!remove all
再生待ちの曲をシャッフル
!!shuffle
Musicbotを終了
!!shutdown

とりあえず以上のコマンドを覚えておけば楽に操作できます。

また、サーバー管理者(admin)だけが使えるコマンドとして、以下のものがあります。

  • settc #テキストチャンネル名 : Musicbotのコマンドを打つチャンネルを指定
  • settc none : ↑を解除
  • setvc ボイスチャンネル名 : Musicbotが接続されるボイスチャンネルを指定
  • setvc none : ↑を解除

このコマンドを使うと、テキストチャンネル・ボイスチャンネルを制限することができます。もしコマンドでログが流れてしまうようだったら、チャンネルを新しく作って、そこでコマンドを打つようにするとスッキリします。

ローカルにあるファイルを再生する

冒頭に書いたとおり、このMusicbotではローカル(自分のPC内にある音楽ファイル)を再生することが出来ます。

先ほどの再生するコマンドで、URLを指定する代わりに”ファイルのフルパス”を指定してあげると再生されます。例えばこのような感じです。

ローカルにある音楽ファイルを再生するコマンド例
!!play F:\Personal\Music\cop\master\45. 恋の Hamburg ♪.mp3

この例は、Fドライブにある「Personal」→「Music」→「cop」→「master」と辿った先にある「45. 恋の Hamburg ♪.mp3」を再生するコマンドです。

ちなみにフルパスは、Shiftを押しながらファイルを右クリック→パスとしてコピー でコピーすることができます。ただし、このときコピーされた文字列は「”」(ダブルクオーテーション)で囲まれてしまっているので、これを外してから入力してください。

※再生できるのは、Musicbotが動いているPCの中に入っているファイルのみです

ニコニコ動画の音声を再生する

このjMusicbotはニコニコ動画の音声再生に対応していませんが、こちらの方法を使うことでニコニコ動画の音声を再生することができます。

DJ Roleの設定

サーバー内に入っているメンバー全員を「DJ role」に指定することで、以下のコマンドが全員に使えるようになります。

  • forceskip : 現在流れている曲を強制スキップ
  • pause : 一時停止
  • skipto <番号> : キューに入っている曲の<番号>番目にスキップ
  • stop : 停止
  • volume <0~150> : 音量の調整(0~150%)

導入した時点では、他人が入れた曲をスキップするには投票が必要ですが、全員にDJ roleをつけてあげることで、「forceskip」コマンドでスキップすることができるようになります。

設定方法です。以下のコマンドを入力し、Enterを2回押して送信してください。(everyoneコマンドで全員に通知が行ってしまいます。先に呼びかけておいてください

 

DJ Roleを設定する
!!setdj @everyone

※これをコピーして貼り付けると、everyoneコマンドが効かない可能性があります。もし反応しないようでしたら、手入力でやってみてください。

以下のように表示されたらOKです。

これで、全ての人がDJ roleに設定することが出来ました。試してみて、もしうまく反応しないようでしたらもう一度コマンドを実行してみてください。

プレイリスト機能を使う

このMusicbotにはプレイリスト機能があり、テキストファイルにYouTubeのリンクやローカル音楽ファイルのパスを書いておけば、それらを一括で再生キューに入れることができます。また、オートプレイリストに設定しておけば、何もキューに入っていないときにその中から再生してくれます。

まずは、JMusicBotのフォルダーの中に「Playlists」というフォルダを作ります。

次にプレイリストのファイルを作ります。このプレイリストはUTF-8のテキストファイルで記述しなければならないので、ここではメモ帳を使わず「Notepad++」を使います。インストールしていない方は以下の記事からダウンロード・インストールしておいてください。

インストールしたらNotepad++を開いてください。まずはUTF-8で書くという設定をします。上のメニューの「エンコード」より、「UTF-8(BOMなし)」を選んでください。

次に、この中に流したいYouTube動画のURLや、ローカル音楽ファイルのフルパスを書いていきます。複数の曲を流したいときは改行して書いてください。

書けたら、上のメニューから「ファイル」→「名前をつけて保存」と選び、先ほどのPlaylistsフォルダの中に、プレイリスト名をつけて保存します。

保存できたら、フォルダの中にテキストファイルがあるかどうか確認して、Notepad++を終了させてください。

早速これを再生してみます。プレイリストを再生するコマンドは以下のとおりです。

プレイリストを再生
!!play playlist プレイリスト名

例えば「作業用.txt」というテキストファイルを作ったならば、「!!play playlist 作業用」となります。最後に.txtは不要です。

このように正常に読み込まれたら完了です。お好みでシャッフルやスキップしてください。

オートプレイリストを設定する

オートプレイリスト(何もキューに曲が入っていないときに勝手に再生されるプレイリスト)を設定してみます。

オートプレイリストに設定するコマンドは以下のとおりです。

オートプレイリストを設定
!!autoplaylist プレイリスト名

「auto」という名前のプレイリストをオートプレイリストに設定したいときは、「!!autoplaylist auto」となります。

このように表示されたらOKです。何か曲を再生してみて、その曲が終了・スキップされた後に流れたら設定完了です。

もしオートプレイリストを取り消したいときは、

オートプレイリストを取り消し
!!autoplaylist none

になります。

※日本語のファイル名(プレイリスト名)ではオートプレイリスト設定が出来ません。もし設定されないようでしたら、プレイリスト名を英数字だけにしてもう一度設定してみてください。


以上です。その他のMusicbotについての記事は以下をご覧ください。