音楽BOT JockieMusicの使い方

ページ名:JockieMusicの使い方

はじめに

JockieMusic(ジョッキーミュージック)はディスコードの音楽ボット(Discord Music Bot)です。
最大4機まで導入でき、全てのボットを一つのプリフィックスで操作でき、導入サーバーでの利用状況の統計がWebダッシュボードで見られるという非常に優れた機能を持つボットです。
また、コマンド一覧を見る限りではなんかいろいろ凄い事ができそうです。

しかし…高機能なのにドキュメントが簡素すぎて、使い方がわかりません。
といっても、呼びだす、音楽をかける、追い出すなどの基本的な操作はシンプルなのでごく簡単に使うだけならマニュアルは必要ありません(これはJockieMusicの優れている点ではなく、どの音楽ボットも同じです)。
簡単に使うだけでしたら、このサイト内の音楽再生ボットをご覧ください。

ここから先は、JockieMusicの解明できた部分を書き記しますので、基本的にはサーバー運営者向け内容となります。

※ 現在、まだ解明できていない部分が多いです。

Jockie Music(ジョッキーミュージック)のドキュメント

Jockie Musicには公式サイト(https://www.jockiemusic.com/)があり、ここにドキュメント類があるのですが、FAQとコマンド一覧しかありません。
使い方、概念、用語の説明がありませんので、FAQ内容すら理解するのが非常に困難です。
コマンド一覧にの説明も簡素すぎて意味が分らないものが多数あります。
また、大量のコマンドがあり似たような名前のコマンドも大量にありますので、コマンド一覧から必要なコマンドを見つけるのは大変です。

そもそも、根底となる概念分からないので、『そのコマンドが何の為に必要か?どういう場面で使うのか?それをしたら何がどうなるのか?』が非常に理解しづらいです(というか全くわからない)。

なんとなく、『こうしたい時はこうする』というのはドキュメントから分かるのですが、それを行った時どういう弊害があるのかが分らないので『本当にやっていいのか?』という事になります。

また、後述しますが、本当に設定できているのかどうか全く分らないものがあります。

JockieMusicの基本概念(推測)

JockieMusicにはsession(セッション)という概念があります。
このsessionは(恐らく)あるボイスチャンネルにJockieMusicが呼び出されて、退出するまでの一連の状態の事と思います。
そして、このsessionにはsessionオーナーという概念があります。
このsessionオーナー、sessionを開始した人、つまりそのボットをボイスチャンネルに呼び出した人です。

そして、sessionオーナーだけができる事、sessionオーナー以外のメンバーでもできる事が分かれています。

困った事①

追い出せない

Jockie Musicをチャンネルから追い出すにはm!dc(実体はm!leaveでm!dcはエイリアスですが他ボットとの共通性でm!dc使用がお勧め)を使用しますが、sessionオーナー以外はこのコマンドが実行できないようです。
sessionオーナー以外が追い出しコマンドを実行するには、sessionオーナーが権限を誰かに割り当てる必要があり、下記のいずれかのコマンドで権限を割り当てます。
m!permissions allow all role | user | everyone 
https://www.jockiemusic.com/commands?selected=permission+allow
m!permission allow role | user | everyone leave
https://www.jockiemusic.com/commands?selected=permissions+allow+all

上段は全権限を割り当て、下段は最後の引数で割り当てる権限を指定しますが、権限は10種類ありますので、どの権限で何ができるかは調べて下さい(一度に複数の権限を指定できるかどうかは未検証)。
切断権限はleaveです。
また、両コマンドにserverselfというオプションがありますが、これについては何の事か全く分かりません。

さて、、面倒なので一番簡単なのは、同一VCの全員に切断権限を含めた全ての権限を与える事だと思うので、それには、sessionオーナーが以下のコマンドを実行します。

m!permissions allow all everyone

これで、全員がJockie Musicを追い出せるようになりますが、このコマンドを実行した時にVCにいなかったメンバーがどうなるかは検証していません(恐らく、追い出しできないと思います)。

一部のメンバーだけに割り当てる、一部の権限だけ割り当てる、のようなアレンジをする場合は、上記のコマンド説明を参考にしてコマンドを発行してください。

再生中の曲をスキップできない

sessionオーナー以外が曲をスキップしようとすると同じVCに接続しているメンバー全員での投票になります。これは同様の音楽ボット、Rythm(リズム)と似たシステムです。

そして、Rythmと同様のDJロールシステムのようなものがあるようです。

RythmのDJロールシステムを知らない方に解説しておきますと、Rythmは『DJ(一応、ロール名の変更はできるがこれまた全く融通が効かない)』という名称のロールを持ってる人は、曲を自由にスキップできますが、そのロールを持っていない人がスキップしようとするとVC参加メンバー全員での多数決になるのです。
逆に言うと、全員にDJロールを与えておけば誰でも投票無しのスキップが可能となります。

しかし、そもそも、DJ権限の為になぜわざわざロールを運用しないといけないのか理解に苦しむのであのシステム大嫌いなのです。
全員が自由にスキップできればいいだけなので、スキップしようとしたら多数決になるシステムをオフにできたらいいだけなのですが。
さらに、今はDJロールを持っていたとしても投票無しでスキップするには、通常のskipコマンドではなくfs(forcesikip)という初心者が覚えられないようなコマンドを使わないといけないように改悪されています。

Rythmでもうんざりしているのに、Rythmより高機能な筈(大量のコマンド群から推測)のJockie MusicでDJロールみたいなものの運用したくないのでjockie MusicのDJ権限につては一切研究していません。
やりたい事は、誰でも平等に使えたらそれでいいというだけです。

さて、それではどうするか・・・

結論から言うと、先に触れたm!permissions allow all everyoneを使えば、一応全員がsessionオーナーと同じ権限を持つようになるので、当然skipもできるようになります。

めでたしめでたし・・・ではありません。
これって、つまり、毎回この絶対覚えられないようなコマンドを発行しないといけないばかりか、(おそらく)VCに新しい参加者が入る度にコマンド発行しないといけない事になります。

さらに言うと、、sessionオーナーがボイスチャンネルから退出したらどうなるか?という問題があります。
sessionオーナーがメンバーに権限を与えずに退出したら誰も操作できなくなる??

この件は、FAQに記載が有り、それによると他のメンバーが自動的に昇格しsessionオーナーと同等の権限を持つようになるそうです(sessionオーナー自体は変わらない)。

What happens if the session owner is not in the voice channel?

When the session owner is not in the voice channel everyone has elevated permissions, this means that everyone can skip, remove and move tracks. The session ownership can be claimed by using the claim ownership command.

https://www.jockiemusic.com/faq?selected=sessions+control+absent-owner

sessionオーナーが退出後復帰したらどうなるか?は検証していないのでわかりません。
どうなるかは見当も付かないですね。

で、そもそも、そういうsessionオーナーがどうこうというのを考えたくない(単に、全員平等に使えればそれでいい)ので、これをどうにかしたいと思って研究をしています。

さて、FAQに
How do I give everyone all permissions?(全員に全部の権限を与えるにはどうしたらいいですか?)
という項目があり、ここが怪しい。
これらの手順をやれと…

How do I give everyone all permissions?

Follow these steps
* 1. Set the permission mode to serverpermission mode set server
* 2. Give everyone all permissions, permission allow all everyone
You may want to set the permission mode to combine instead of server as not having a session owner can limit some functionality. for instance, resume session.

https://www.jockiemusic.com/faq?selected=setup-bots+permissions+everyone

ステップ1 permission mode(権限モード?)を『server』にしろ。
その為のコマンドは、permission mode set server

ステップ2 全員に全部の権限を与えろ。
その為に、permission allow all everyone

というように読めるけど、これが正しいのかどうか分らない(訳としては合ってる筈ですが、これらの真意が分からない)。

分らない理由。

・そもそもpermission mode(権限モード?)が何であるか分らない。

・ステップ1
権限モードという謎のものをserverにするのは…意味は分らないけどやれというならやりますが…そうしたらどういう弊害があるのか不明(デフォルトはserverじゃないのだから、当然serverじゃない方がいい理由がある筈)。

・ステップ2
全員に全部の権限を与えろ。
はい・・・与えられるんですよね・・・であれば、ステップ1が何故必要なのかさっぱり不明です。
モードがどうとか言わずとも、全員に全権限与えられるならステップ2だけでよくないですか?

・そして、さらに最後の行

『セッションオーナーがいないと一部の機能が制限されることがあるので、権限モードをserverではなくcombineに設定する事をお勧めします。例えば、セッションを再開する場合などです。』

と書いてるんですけど、、、
そもそも権限モードのcombineが何か分りません。
というか、最初にserverにしろと言っておいて、注釈で『combineをお勧めする』という事自体の意味が分かりません。どっちが本当のお勧めなのでしょうか・・・

これについては
permission set serverコマンドのところで一応の説明があって・・・

permission mode set

user - this will use the user's permissions
server - this will use the server's permissions
combine - this will combine both the user and server's permissions

https://www.jockiemusic.com/commands?selected=permission+mode+set

だそうです。。
つまりuserはユーザー、serverはサーバー、combineはユーザーとサーバーの組み合わせだと。。
だから、これの値をどれにしたらどうなるのか説明が無い(見つけられない)のでさっぱり分かりません。
serverにしろと言っておいてcombineがお勧め…2種類あるんだからどっちもメリットデメリットあるんだろうけど全く不明なので選びようがないです。
最初に言われたserverか、あとからお勧めされたcombineか…
なんとなくですが、直感的には最初に言ったヤツが正しいですよね。
注釈っぽく書いているのはなんかの言い訳の気がする。
まあ、分らないですが・・・いずれにしても、メリットデメリットが分らないので選びようがない。

まあ、Jockie Musicのドキュメントは一事が万事こういう感じで、本当に分らないのですよね。

とりえあえず、正しいかどうか分からないですが、全員がスキップしたり切断したりできるようにするには、
m!permission mode set server
m!permission allow all everyone
この2つのコマンドを連続で叩けばいいように思います(なんとなくですが)。

ただ、これでも更に問題があります。
このコマンドで設定された内容は、一時的なものか恒久的なものかさっぱり分かりません。
FAQの内容の雰囲気からは恒久的に変更する方法のように感じますが…わかりません。
その理由の一つは、m!permission allow all everyoneですが、これこの記事で何回も出てますが、おそらくそれは一時的なコマンドなんですよね。
つまり、現時点で同一VCに接続しているメンバーに権限を与えるというコマンド。
今回も、現時点で(同一じゃなくても)接続しているメンバーに権限を与えるという事ではないのかなと。

さらに…m!settingsというコマンドがあって、Jockie Musicの設定状況が見られるのですが、ここに先のコマンドの実行結果が全く反映されないのです。
通常、恒久的な設定であれば、設定状況として表示しませんか??
というか、それを表示してくれないのであれば、現在の設定が分らない訳で、そんな事あります???

この2点から、この設定は恒久的な設定ではなくて、コマンドを実行した時点のみ有効なのかな?と考えています。

となると、結局、常に全員が平等に使える状態にするにはどうしたらいいのか謎です。

このあたり、誰か情報をお持ちでしたら教えてください。
 

シェアボタン: このページをSNSに投稿するのに便利です。


最近更新されたページ

メニュー

トップページヘルールとご案内ご紹介とご入会案内ルールマナー抜粋主要チャンネルの説明募集メンションについて管理グループへのご連絡方法よくある質問(FAQ)エロイプ界隈初心者向け情報ディスコードの基礎知識...

寝落ち通話と寝かしつけについて

『寝落ち通話』は起きる時間(解散時間)を打ち合わせてそれまでは同じボイスチャンネルに接続しておく事が基本です。 『寝かしつけ通話』は相手が寝たら(寝かしつけたら)退室してもかまいません。

ハイアットのルール説明

ディスコードエロイプ・寝落ち通話サーバー『ハイアット』のルール説明と補足。 安全・安心なエロイプ・寝落ち通話環境の為によく理解して厳守してください。

便利なコマンド

ハイアット独自開発ボットの便利なコマンドの解説。 知らなければエロイプ・寝落ち通話に支障があるという訳ではありませんが知っていれば更にスムーズだと思いますので、覚えておきましょう。