v2.3: Major refactoring, Lavalink music system, Spotify support, CI/CD
- 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
This commit is contained in:
parent
f5398dc779
commit
29a21e4178
301 changed files with 21751 additions and 18099 deletions
42
TODO.md
42
TODO.md
|
|
@ -251,4 +251,44 @@ feature/economy/
|
|||
|
||||
---
|
||||
|
||||
**Версия:** 2.2 | **Последнее обновление:** 2026-06-20 | **Java 21 ✅, God Constructor ✅, Critical баги ✅, Economy ✅, Level Roles ✅**
|
||||
**Версия:** 2.3 | **Последнее обновление:** 2026-07-02 | **Java 21 ✅, God Constructor ✅, Critical баги ✅, Economy ✅, Level Roles ✅, Lavalink Music ✅, SpotBugs ✅, Checkstyle ✅, CI/CD ✅**
|
||||
|
||||
## ✅ Что добавлено в v2.3
|
||||
|
||||
### 🎵 Lavalink Music Service
|
||||
- [x] Node.js сервис с 4 Discord ботами (kazagumo + shoukaku)
|
||||
- [x] Поддержка YouTube, SoundCloud, радио (`!radio <url>`)
|
||||
- [x] Команды: play, stop, skip, queue, np, volume, pause, resume, shuffle, repeat, clear, move
|
||||
- [x] Lavalink контейнер с healthcheck
|
||||
- [x] docker-compose с интеграцией в основной проект
|
||||
- [x] `.env.example` с 4 токенами
|
||||
|
||||
### 🔧 SpotBugs (все реальные баги исправлены)
|
||||
- [x] FS (7): `\n` → `%n` в MetricsCollector, ServerStatsService
|
||||
- [x] DMI (6): Random → static final Random в entertainment командах
|
||||
- [x] SF (4): missing default → добавлены default в switch
|
||||
- [x] RCN (3): Redundant nullcheck удалены
|
||||
- [x] RV (1): Bad abs(hashCode) исправлен
|
||||
- [x] Dm (2): Стандартная кодировка → UTF-8
|
||||
- [x] OBL/ODR: Database.prepare() закрытие connection
|
||||
- [x] REC: RankCardGenerator — узкий catch
|
||||
- [x] DLS: FishingService — dead store удалён
|
||||
- [x] EI2/EI (96): excluded как DI false positives
|
||||
- [x] `ignoreFailures = false`
|
||||
|
||||
### 🔍 Checkstyle
|
||||
- [x] Все 9 нарушений исправлены
|
||||
- [x] `maxErrors`/`maxWarnings` удалены (0 нарушений)
|
||||
|
||||
### 🧪 Тесты
|
||||
- [x] BalanceCommandTest (3 теста)
|
||||
- [x] DailyCommandTest (2 теста)
|
||||
- [x] PayCommandTest (3 теста)
|
||||
- [x] CoinCommandTest (2 теста)
|
||||
- [x] DiceCommandTest (2 теста)
|
||||
- [x] EightBallCommandTest (2 теста)
|
||||
- [x] Всего: 51 файл тестов, ~421+ тестов
|
||||
|
||||
### 🚀 CI/CD
|
||||
- [x] Docker publish workflow (ghcr.io)
|
||||
- [x] Release workflow (GitHub Releases + JAR artifact)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue