- Full refactoring: max 200 lines/file, max 3 files/dir, KISS/DRY/SOLID - Lavalink client 3.4.0 + LavaSrc plugin (Spotify, Apple Music, Deezer) - 3-bot architecture: main (!), music (q!), radio (r!) - Filters: bassboost, nightcore, vaporwave, equalizer - Slash commands for music (/play, /skip, etc.) - Persistent queue in SQLite, auto-leave timer - Radio manager with auto-reconnect - Custom welcome GIF greetings via nekos.life - JDA 5.6.1, gson 2.14, hikaricp 6.3, all deps updated - Fixed YouTube playback via ytmsearch (LavaSrc) - CI/CD: Docker publish + release workflows - SpotBugs: all real bugs fixed, ignoreFailures=false - Checkstyle: Google Style (adapted), 0 violations
42 lines
2 KiB
TOML
42 lines
2 KiB
TOML
[versions]
|
|
jda = "5.6.1"
|
|
lavaplayer = "2.2.3"
|
|
lavalinkClient = "3.4.0"
|
|
dotenv = "3.2.0"
|
|
slf4j = "2.1.0-alpha1"
|
|
logback = "1.5.18"
|
|
gson = "2.14.0"
|
|
caffeine = "3.2.0"
|
|
guice = "7.0.0"
|
|
sqlite = "3.49.1.0"
|
|
hikaricp = "6.3.0"
|
|
junit = "5.12.1"
|
|
mockito = "5.15.2"
|
|
junitPlatformLauncher = "1.12.1"
|
|
checkstyle = "10.23.0"
|
|
spotbugs = "4.9.3"
|
|
spotbugsPlugin = "6.1.7"
|
|
|
|
[libraries]
|
|
jda = { module = "net.dv8tion:JDA", version.ref = "jda" }
|
|
lavaplayer = { module = "dev.arbjerg:lavaplayer", version.ref = "lavaplayer" }
|
|
lavalink-client = { module = "dev.arbjerg:lavalink-client", version.ref = "lavalinkClient" }
|
|
dotenv = { module = "io.github.cdimascio:dotenv-java", version.ref = "dotenv" }
|
|
slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }
|
|
logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
|
|
gson = { module = "com.google.code.gson:gson", version.ref = "gson" }
|
|
caffeine = { module = "com.github.ben-manes.caffeine:caffeine", version.ref = "caffeine" }
|
|
guice = { module = "com.google.inject:guice", version.ref = "guice" }
|
|
sqlite-jdbc = { module = "org.xerial:sqlite-jdbc", version.ref = "sqlite" }
|
|
hikaricp = { module = "com.zaxxer:HikariCP", version.ref = "hikaricp" }
|
|
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit" }
|
|
mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockito" }
|
|
mockito-junit-jupiter = { module = "org.mockito:mockito-junit-jupiter", version.ref = "mockito" }
|
|
junit-platform-launcher = { module = "org.junit.platform:junit-platform-launcher", version.ref = "junitPlatformLauncher" }
|
|
checkstyle = { module = "com.puppycrawl.tools:checkstyle", version.ref = "checkstyle" }
|
|
spotbugs = { module = "com.github.spotbugs:spotbugs", version.ref = "spotbugs" }
|
|
spotbugs-annotations = { module = "com.github.spotbugs:spotbugs-annotations", version.ref = "spotbugs" }
|
|
|
|
[plugins]
|
|
checkstyle = { id = "checkstyle", version = "" }
|
|
spotbugs = { id = "com.github.spotbugs", version.ref = "spotbugsPlugin" }
|