JMusicBot Licensed under the Apache License, Version 2.0. See the LICENSE file for terms. This project builds on the work of two upstream repositories: 1. JMusicBot — original work Copyright 2016-2021 John Grosh (jagrosh) https://github.com/jagrosh/MusicBot 2. JMusicBot — maintained fork, the direct ancestor of this repository Copyright 2024-2026 Arif Banai (arif-banai) https://github.com/arif-banai/MusicBot Picked up and modernised the project after the original became unmaintained: updated dependencies, Java 25 support, config migration, and much more. This repository is a fork of (2), and therefore also of (1). Nearly all of the code is their work; the changes made here are limited to restoring YouTube playback after YouTube-side changes broke it. Modified files carry a notice describing what changed, as required by section 4(b) of the Apache License. The modifications are: - Apply the YouTube remote signature cipher independently of OAuth, and make the cipher server configurable. - Add the ANDROID client and order the YouTube client list by reliability. - Detect YouTube sign-in failures across the whole exception graph so the operator gets an actionable message instead of a bare stack trace. - Track youtube-source at a commit that post-dates the 1.18.2 release, which cannot play most tracks. Third-party components retain their own licenses and copyright notices; see the dependency declarations in pom.xml.