Discord 上で音楽を再生する単体動作型 Bot です。
再生エンジン・コマンド・UI は ProjectMOMOKA の Music Cog を移植しています。
- Python 3.10 以上推奨
- FFmpeg(PATH または
music.ffmpeg_path) - Discord Bot Token
- (推奨)YouTube 再生安定化用の cookie ファイル / Deno または Node(yt-dlp EJS)
music-bot-arona/
├── bot.py # 起動・設定読込・Cog ロードのみ
├── cogs/music/ # Momoka 由来 Music Cog
│ ├── music_cog.py
│ ├── guild_state.py
│ ├── music_views.py
│ ├── music_helpers.py
│ ├── error/errors.py
│ └── plugins/
│ ├── ytdlp_wrapper.py
│ ├── audio_mixer.py
│ └── process_log_bridge.py
├── config.default.yaml # 既定設定(Momoka music_config 準拠)
├── config.yaml # 実設定(自分で作成・Git 管理外)
├── requirements.txt
├── start.bat # Creates .venv if missing, installs deps, starts bot
└── docs/ # Markdown ドキュメント
pip install -r requirements.txt
copy config.default.yaml config.yamlconfig.yaml の token を Discord Bot Token に置き換えてください。
Privileged Gateway Intents:
- スラッシュコマンド(
/playなど)のみ使う場合は不要 - プレフィックスコマンド(既定
#playなど)も使う場合は MESSAGE CONTENT INTENT を ON にする
OAuth2 Scopes: bot, applications.commands
主要権限: Send Messages / Embed Links / Connect / Speak / Use Voice Activity など
python bot.pyまたは start.bat(.venv が無ければ自動作成し、依存を入れて起動)
| コマンド | 説明 |
|---|---|
/play <query> |
曲名検索または URL を再生 / キュー追加 |
/seek <time> |
指定位置へシーク(1:30 / 90) |
/pause |
一時停止 |
/resume |
再開 |
/skip |
スキップ |
/stop |
停止&キュークリア |
/leave |
VC 切断 |
/queue |
キュー表示 |
/nowplaying |
再生中表示 |
/shuffle |
キューシャッフル |
/clear |
キュークリア |
/remove <n> |
キューから削除 |
/volume <0-200> |
音量 |
/loop <off/one/all> |
ループ |
/join |
VC 接続 |
再生中は Components V2 の操作パネル(Pause / Skip / Stop / Loop / QLoop)も利用できます。
| キー | 既定 | 意味 |
|---|---|---|
music.default_volume |
20 | 初期音量 (%) |
music.max_queue_size |
10000 | キュー上限 |
music.max_guilds |
50 | 同時保持ギルド状態上限 |
music.auto_leave_timeout |
3 | 無人 VC 自動退出(秒) |
music.max_playlist_items |
10000 | プレイリスト展開上限 |
music.inactive_timeout_minutes |
3 | 非アクティブ状態掃除(分) |
music.youtube_cookie_file |
youtube_cookies.txt |
YouTube cookie |
詳細は docs/configuration.md を参照してください。
MIT
