概要
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
公式ホスト版
公式ホスト版は提供を終了しました。
使い方
自分でホストする場合
NeoJukeProを動作させるには以下のソフトウェアが必要です。
- Java 11以降の実行環境
- MySQL 5.5以降 もしくは MariaDB 5.5以降
コマンド
BotコマンドはBotに予め設定された接頭辞の後にコマンドを指定することにより実行できます。
例えば公式ホスト版の接頭辞は ;;
です。
Command | Alias | Description | Permission |
---|---|---|---|
help | h | コマンドのヘルプを表示します。 | 0 |
permission | perm | ユーザーのコマンド実行権限を設定します。 | 252 |
settings | set | ギルド固有の設定を変更します。 | 252 |
status | stats | プレーヤーの現在の状態を表示します。 | 0 |
userinfo | uinfo | ユーザーの情報を表示します。 | 252 |
channelcheck | check | Botやユーザーが閲覧・参加可能なチャンネルの一覧を表示します。 | 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 | メッセージをまとめて削除します。 | 252 |
system | sinfo | Botについての情報を表示します | 254 |
nodes | node | ノードサーバーを管理します。 | 254 |
module | mod | NeoModuleを管理します。 | 254 |
shutdown | exit | Botを終了します。 | 254 |
Helpコマンド
Helpコマンドを使用して使用可能なコマンド一覧やコマンドの使用方法を確認できます。

使用方法を表示したいコマンド名を後ろにつけることでコマンドのヘルプを表示できます。

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が動作しているサーバー内のファイル)
- Twitcasting (公式ホスト版のみ)
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 |
jukebox | キューの最後がYouTube動画の場合、 自動的に関連動画を続けて再生する機能の有効無効を切り替えます。 | Bool |
lang | Botが表示するメッセージの言語を設定します。 | String |
enableSource | 無効化された再生ソースを有効化します。 | String |
disableSource | 有効化された再生ソースを無効化します。 | String |
enableCommandGroup | 無効化されたコマンドグループを有効化します。 | String |
disableCommandGroup | 有効化されたコマンドグループを有効化します。 | String |
Settingsコマンドの基本形はコマンドの後ろに変更する設定と設定値を指定します。
;;settings prefix !! ;;settings autoplay true ;;settings lang ja_JP
接頭辞を忘れてしまった場合や、他のBotと被っていて操作ができない場合は
接頭辞と同じようにメッセージの先頭にBot宛のメンションを付けると同様に操作可能です。
JukeBoxはBotの設定で関連動画検索機能が有効化されている場合にのみ使用可能です。
この機能は多くのAPIリソースを消費するため、常時有効化はおすすめしません。
(公式ホスト版では無効化されています。)
AutoPlayはBotの設定で関連動画検索機能が有効化されている場合にのみ使用可能です。
この機能は多くのAPIリソースを消費するため、常時有効化はおすすめしません。
Statusコマンド
Statusコマンドは現在のプレイヤーの状態を表示します。

コマンド実行権限について
コマンド実行権限機能ではコマンドを実行できるユーザーを制限することができます。
それぞれのコマンドには実行に必要な最低値が設定されており
ユーザーが保有する実行権限が最低値を下回る場合コマンドを実行することができません。
コマンド実行権限は未設定の場合デフォルトで以下のように設定されています。
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の知識があればとても簡単に作成することができます。