NeoJukePro

概要

NeoJukeProはJavaで構成されたDiscordのための音楽Botプログラムです。
より使いやすく、高機能で安定して動作する事を意識して開発しています。
比較的簡単に誰でもホストできる他、開発元による公式ホスト版の提供もあります。

ダウンロードとホスト版の追加

ダウンロード

最新版をGithub Releaseからダウンロードすることができます。

https://github.com/nafu-at/NeoJukePro/releases/latest

詳しい使い方はGithub Wikiを御覧ください。

https://github.com/nafu-at/NeoJukePro/wiki/Start-NeoJukePro

公式ホスト版

Stable版は以下のリンクからサーバーに参加させる事ができます。

https://nafuchoco.page/7fau

使い方

自分でホストする場合

NeoJukeProを動作させるには以下のソフトウェアが必要です。

  • Java 11以降の実行環境
  • MySQL 5.5以降 もしくは MariaDB 5.5以降

公式ホスト版を使用する場合

上記リンクからサーバーにBotを追加することにより使用を開始できます。

コマンド

BotコマンドはBotに予め設定された接頭辞の後にコマンドを指定することにより実行できます。
例えば公式ホスト版の接頭辞は ;; です。

Command Alias Description Permission
help h コマンドのヘルプを表示します。 0
permission perm ユーザーのコマンド実行権限を設定します。 252
settings set ギルド固有の設定を変更します。 252
status stats プレーヤーの現在の状態を表示します。 0
userinfo uinfo ユーザーの情報を表示します。 252
join j Botを音声チャネルに接続します。 0
leave lv Botを音声チャンネルから切断します。 0
nowplaying np 現在再生中のトラックに関する詳細情報を表示します。 0
list l Botに登録されているキューの一覧を表示します。 0
play p Botにキューを追加します。 0
search se キーワードをYouTubeで検索します。 0
replay re 現在再生中のトラックをもう一度再生します。 0
interrupt in キューへトラックを割り込ませます。 0
pause   再生中のトラックを一時停止します。 0
stop st, s プレーヤーを終了します。 0
skip sk トラックをスキップします。 0
seek   現在再生中のトラックをシークします。 0
volume vol プレーヤーの音量を変更します。 0
repeat rep プレーヤーの繰り返し設定を変更します。 0
shuffle sh プレーヤーのシャッフル設定を変更します。 0
destroy   プレイヤーを破棄します。
なんらかの理由でプレイヤーが正常に動作しない際に有効です。
0
delete clean Botによって投稿されたメッセージとBot宛のコマンド最新50件を削除します。 252
system sinfo Botについての情報を表示します 254
nodes node ノードサーバーを管理します。 254
module mod NeoModuleを管理します。 254
shutdown exit Botを終了します。 254

Playコマンド

Playコマンドの基本形はコマンドの後ろにURLを指定します。

;;play https://youtu.be/RsOBIlmCHqI

PlayコマンドではYouTubeのプレイリストも指定できます。

;;play https://www.youtube.com/playlist?list=PL1NeGg1woXqlISJkxjgwHKgB8LmR7tk92

Playコマンドで指定できるURLは以下のサービスです。

  • YouTube
  • SoundCloud
  • BandCamp
  • Vimeo
  • Twitch
  • HTTP
  • Local FIle (Botが動作しているサーバー内のファイル)

PlayコマンドはSearchコマンドで検索した動画を再生する際にも使用します。

Searchコマンド

Searchコマンドの基本形はコマンドの後ろに検索したいキーワードを指定します。

;;search Cutie Panther

検索を実行すると候補が表示されます。
目的の動画が見つかったらPlayコマンドを使用して検索を終了します。

目的の動画が見つからない場合はページをめくることができます。

;;search next

また、めくったページを戻すこともできます。

;;search prev

Interruptコマンド

Interruptコマンドの基本形はコマンドの後ろに割り込む位置とURLを指定します。

;;interrupt 3 https://youtu.be/V10UuEWM1k8

InterruptコマンドもPlayコマンド同様プレイリストを指定できます。
この場合プレイリストの中身全てが指定されたトラック以降に追加されます。

;;interrupt 2 https://www.youtube.com/playlist?list=PLXuGkVLvpfdpcSKTh6BTjqcy3rTOVCoY8

Settingsコマンド

SettingsコマンドはBotのギルド固有の設定を変更できます。

Setting Description Value
prefix Botがメッセージをコマンドとして認識するための接頭辞を設定します。 String
robot Botからのメッセージをコマンドとして認識する機能の有効無効を切り替えます。 Bool
autoplay キューの最後がYouTube動画の場合、
自動的に関連動画を続けて再生する機能の有効無効を切り替えます。
Bool

Settingsコマンドの基本形はコマンドの後ろに変更する設定と設定値を指定します。

;;settings prefix !!
;;settings autoplay true

接頭辞を忘れてしまった場合や、他のBotと被っていて操作ができない場合は
接頭辞と同じようにメッセージの先頭にBot宛のメンションを付けると同様に操作可能です。

AutoPlayはBotの設定で関連動画検索機能が有効化されている場合にのみ使用可能です。
この機能は多くのAPIリソースを消費するため、常時有効化はおすすめしません。

コマンド実行権限について

コマンド実行権限機能ではコマンドを実行できるユーザーを制限することができます。
それぞれのコマンドには実行に必要な最低値が設定されており
ユーザーが保有する実行権限が最低値を下回る場合コマンドを実行することができません。
コマンド実行権限は未設定の場合デフォルトで以下のように設定されています。

Description Value
Normal User
特別な権限を保たないユーザーは全てこの権限です。
0
Undefined
未定義の数値です。モジュールなどが自由にこの値を使用できます。
1-251
Guild Admin (reserved)
ギルドの管理者に割り振られます。
この権限は将来のために予約されています。
252
Guild Owner
ギルドの所有者に自動的に割り振られます。
253
Bot Admin
設定ファイルで指定したユーザーに割り振られます。
254
Bot Owner
Discord APIに登録しているユーザーに自動的に割り振られます。
255

 

その他の機能

Playコマンドメッセージ自動削除

BotにMessageManage権限が付与されている場合は、
Playコマンドが実行された際に自動的に送信されたPlayコマンドメッセージを削除します。
Searchコマンドと組み合わせて実行された場合はSearchコマンドも同時に削除します。

無人時自動退出

ボイスチャンネルにBot以外のユーザーが居なくなった場合、
ボイスチャンネルから自動的に退出します。
この時再生中のトラックは一時停止されます。


高度な使い方

Module機能

あなたがBotのホストである場合、
Moduleを追加してBotの挙動を変更したり機能を追加することができます。
NeoJukeProのモジュールはJavaの知識があればとても簡単に作成することができます。

モジュール一覧

NeoJukeProのModuleを作る 【準備中】