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

公式ホスト版

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

https://bit.ly/3t4J0vD

お知らせとお詫び

現在公式ホスト版NeoJukeProは追加上限のため新規追加を行うことができません。
対応が完了するまでの間開発版をご利用ください。

開発版 *開発版は機能検証のため動作が不安定な場合があります。

https://bit.ly/3AcXPz2

使い方

自分でホストする場合

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

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

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

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

コマンド

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

CommandAliasDescriptionPermission
helphコマンドのヘルプを表示します。0
permissionpermユーザーのコマンド実行権限を設定します。252
settingssetギルド固有の設定を変更します。252
statusstatsプレーヤーの現在の状態を表示します。0
userinfouinfoユーザーの情報を表示します。252
channelcheckcheckBotやユーザーが閲覧・参加可能なチャンネルの一覧を表示します。252
joinjBotを音声チャネルに接続します。0
leavelvBotを音声チャンネルから切断します。0
nowplayingnp現在再生中のトラックに関する詳細情報を表示します。0
listlBotに登録されているキューの一覧を表示します。0
playpBotにキューを追加します。0
searchseキーワードをYouTubeで検索します。0
replayre現在再生中のトラックをもう一度再生します。0
interruptinキューへトラックを割り込ませます。0
pause 再生中のトラックを一時停止します。0
stopst, sプレーヤーを終了します。0
skipskトラックをスキップします。0
seek 現在再生中のトラックをシークします。0
volumevolプレーヤーの音量を変更します。0
repeatrepプレーヤーの繰り返し設定を変更します。0
shuffleshプレーヤーのシャッフル設定を変更します。0
destroy プレイヤーを破棄します。
なんらかの理由でプレイヤーが正常に動作しない際に有効です。
0
deletecleanメッセージをまとめて削除します。252
systemsinfoBotについての情報を表示します254
nodesnodeノードサーバーを管理します。254
modulemodNeoModuleを管理します。254
shutdownexitBotを終了します。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のギルド固有の設定を変更できます。

SettingDescriptionValue
prefixBotがメッセージをコマンドとして認識するための接頭辞を設定します。String
robotBotからのメッセージをコマンドとして認識する機能の有効無効を切り替えます。Bool
jukeboxキューの最後がYouTube動画の場合、
自動的に関連動画を続けて再生する機能の有効無効を切り替えます。
Bool
langBotが表示するメッセージの言語を設定します。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コマンドは現在のプレイヤーの状態を表示します。

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

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

DescriptionValue
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を作る