SinusBot
Macro Deck に同梱SinusBot のインスタンスの音楽を操作し、再生中の内容をデッキに表示します。
ヘッダーに SinusBot の名前とロゴを表示し、曲を再生している「全面カバー」スタイルと「小さいジャケット」スタイルのミュージックプレーヤーウィジェット
- あらゆる SinusBot インスタンスで再生、一時停止、スキップ、シーク
- 音量、シャッフル、リピートを設定
- ボットのライブラリから曲を再生
- ミュージックプレーヤーウィジェットに再生中の曲を表示
- ボットのインスタンスをいくつでも追加可能
SinusBot は、自分のサーバーで動かす TeamSpeak と Discord 向けの音楽ボットです。SinusBot 連携は Macro Deck を SinusBot の Web インターフェースに接続するので、ボットのインスタンスが再生する内容を操作し、現在の曲をデッキで確認できます。同じコンピューター、ローカルネットワーク、サーバーなど、Macro Deck からネットワーク経由で接続できる SinusBot ならどれでも使えます。
できること
- 再生、一時停止、切り替え、次または前の曲へのスキップ、現在の曲の指定位置へのジャンプ。
- 音量の設定や上げ下げ、シャッフルのオンとオフ、リピートのオンとオフ。
- Play Track で、ボットのライブラリから特定の曲を再生する。曲を空欄にすると、ボタンを押したときに選べます。
- Macro Deck の ミュージックプレーヤー ウィジェットに再生中の曲、アーティスト、カバーを表示し、変数を通じてボットの曲、再生位置、音量をラベルで使う。
設定例:
- TeamSpeak のチャンネルにいるボット用に、Previous Track、Toggle Play/Pause、Next Track を並べたボタン。再生ボタンにはボットが再生中かどうかが表示されます。
- ボットの音量変数
sinusbot_<instance>_volumeにバインドしたスライダー。話している間だけ音楽を小さくできます。 - ボットごとの ミュージックプレーヤー ウィジェットと、その横に置いた、
music_player_<player>_album_color変数でカバーに合わせて色が変わるボタン。
複数のボットと動作のしくみ
操作したい SinusBot のインスタンスごとに 1 つの設定を作ります。別のサーバーにあるインスタンスも含め、いくつでも追加でき、各アクションの プレーヤー 欄でインスタンスを選びます。プレーヤー を空欄にすると、アクションは最初のインスタンスを操作します。設定ごとに、sinusbot_<instance>_volume のように設定名にちなんだ専用の変数が作られます。
Macro Deck は設定をセットアップするときに接続を確認し、ボットにあるインスタンスを読み込みます。実行中は、再生状態を定期的に読み取ります。ボットに一瞬接続できなくなっても、デッキは最後の曲を表示し続けます。接続できない状態が続くと、sinusbot_<instance>_is_connected 変数が false になり、ボットが再び応答するまでアクションは何もしません。
必要なもの
- Macro Deck から Web インターフェースに接続できる、動作中の SinusBot (例:
http://your-bot:8087)。 - SinusBot のユーザー名とパスワード。
- SinusBot の Web インターフェースで作成した 1 つ以上のインスタンス。
セットアップ
ステップ 1: SinusBot の Web インターフェースを確認する
ブラウザで SinusBot の Web インターフェースを開いてサインインします。ポートを含めたアドレス (例:
http://192.168.1.20:8087) を控え、インスタンスが 1 つ以上あることを確認します。ステップ 2: SinusBot 連携を開く
Macro Deck のサイドバーで 連携 をクリックし、SinusBot をクリックします。概要 タブの 設定 セクションで 設定を追加 をクリックします。右上のスイッチをオンにしても同じダイアログが開き、セットアップが完了すると連携が有効になります。
ステップ 3: サーバーとサインイン情報を入力する
SinusBot に接続 ダイアログで次の項目を入力します。
- サーバー URL: ポートを含めた SinusBot の Web インターフェースのアドレス。
- ユーザー名 と パスワード: SinusBot へのサインインに使うアカウント。
続行 をクリックすると、Macro Deck は接続をテストしてインスタンスを読み込みます。
ステップ 4: インスタンスを選ぶ
インスタンスを選択 で、インスタンス からボットのインスタンスを選び、続行 をクリックします。設定は、SinusBot の後ろにかっこ付きでインスタンス名を付けた名前で保存されます。操作したい他のインスタンスについても、同じ手順を繰り返します。
ステップ 5: ボタンにアクションを追加する
デッキ ページでボタンをクリックします。デッキのロックが解除されている必要があります。右上に ロック ボタンが表示されていれば解除されています。エディターが開き、短押し が選択されています。+ アクションを追加 をクリックし、アクションを追加 ダイアログの左側で SinusBot を選択して Toggle Play/Pause を選び、プレーヤー でインスタンスを選びます。
ステップ 6: ボタンを押す
デッキのボタンを押します。ボットが再生を開始または一時停止し、ボタンに現在の状態が表示されます。そのインスタンスを設定した ミュージックプレーヤー ウィジェットには、再生中の曲が表示されます。
アクション13
ボタンに設定したり、フローから実行したりできます。
- Play
- 再生を再開します。
- Pause
- 再生を一時停止します。
- Toggle Play/Pause
- 再生と一時停止を切り替え、現在の状態をボタンに表示します。
- Next Track
- 次の曲にスキップします。
- Previous Track
- 前の曲にスキップします。
- Refresh State
- 再生中の状態をすぐに読み直します。
- Set Volume
- 再生音量を設定します (0 から 100%)。
- Volume Up
- 再生音量を 10% 上げます。
- Volume Down
- 再生音量を 10% 下げます。
- Seek
- 現在の曲の指定した位置 (秒) にジャンプします。
- Toggle Shuffle
- シャッフルを切り替えるか、オンまたはオフにします。
- Set Repeat Mode
- リピートをオンまたはオフにします。SinusBot のリピートモードは 1 つだけなので、どちらのリピートの選択肢でもリピートがオンになります。
- Play Track
- ボットのライブラリから曲を再生します。空欄にすると、ボタンを押したときに曲を選べます。
トリガー7
ボタンやフローがこれらのイベントに反応できます。
- トラック変更
- 別の曲の再生が始まりました (ミュージックプレーヤー カテゴリにあります)。
- 再生開始
- 再生が開始または再開されました (ミュージックプレーヤー カテゴリにあります)。
- 再生の一時停止
- 再生が一時停止されました (ミュージックプレーヤー カテゴリにあります)。
- 再生停止
- 再生が停止しました (ミュージックプレーヤー カテゴリにあります)。
- 音量変更
- ボットの音量が変わりました。新しい値と以前の値が含まれます (ミュージックプレーヤー カテゴリにあります)。
- プレーヤー接続
- ボットのインスタンスに接続できるようになりました (ミュージックプレーヤー カテゴリにあります)。
- プレーヤー切断
- ボットのインスタンスに接続できなくなりました (ミュージックプレーヤー カテゴリにあります)。
変数8
これらの値をボタンやウィジェットに表示したり、条件に使ったりできます。
sinusbot_<instance>_current_track_name,sinusbot_<instance>_current_artist,sinusbot_<instance>_current_album- 現在の曲とそのアーティストです。SinusBot はアルバムを報告しないので、
sinusbot_<instance>_current_albumは空のままです。 sinusbot_<instance>_playback_state,sinusbot_<instance>_is_playing- ボットが再生中、一時停止中、停止中のどれかです。
sinusbot_<instance>_volume- 再生音量 (パーセント) です。スライダーなどで設定することもできます。
sinusbot_<instance>_track_duration,sinusbot_<instance>_current_position,sinusbot_<instance>_progress_percentage- 曲の長さと再生位置 (秒)、進行度 (パーセント) です。再生位置を設定するとシークできます。
sinusbot_<instance>_album_art_url- 現在のカバーのアドレスです。
sinusbot_<instance>_device_name- ボットのインスタンスの名前です。
sinusbot_<instance>_shuffle_enabled,sinusbot_<instance>_repeat_mode- シャッフルとリピートがオンかどうかです。
sinusbot_<instance>_is_connected- Macro Deck がボットのインスタンスに接続できるかどうかです。
よくある質問
複数のボットを操作できますか?
はい。別のサーバーにあるものも含め、SinusBot のインスタンスごとに設定を 1 つ追加します。各アクションには操作するインスタンスを選ぶ プレーヤー 欄があり、各設定には専用の変数があります。
SinusBot は同じコンピューターで動いている必要がありますか?
いいえ。Macro Deck はネットワーク経由で SinusBot の Web インターフェースと通信するので、Macro Deck がそのアドレスに接続できれば、ボットはサーバーや別のコンピューターで動いていてもかまいません。
セットアップでインスタンスが見つからないと表示されます。どうすればよいですか?
アカウントが使えるインスタンスがありません。先に SinusBot の Web インターフェースでインスタンスを作成してから、設定をセットアップし直してください。
ボットがオフラインになるとどうなりますか?
短い中断ではデッキの表示は消えず、しばらく最後の曲が表示されます。接続できない状態が続くと sinusbot_<instance>_is_connected 変数が false になり、Macro Deck は接続を試み続けます。
パスワードはどこに保存されますか?
パスワードはコンピューター上に暗号化して保存され、SinusBot へのサインインにだけ使われます。
チャットとボイスのその他の連携
Discord
Macro Deck に同梱デッキから Discord でミュート、スピーカーオフ、ボイスチャンネルへの参加、音声設定の変更、Webhook でのメッセージ投稿ができます。
Discord Webhook
Macro Deck に同梱Webhook を通じて、埋め込みやメンションを含むリッチなメッセージを Discord チャンネルに投稿します。ライブプレビュー付きです。