Update TODO: mark Stage 1.1-1.3 as done, add reset levels command

This commit is contained in:
loki5512344 2026-05-11 14:28:45 +02:00
parent 703d0b7e49
commit aa3388cd9e

51
TODO.md
View file

@ -179,27 +179,34 @@ src/main/java/creator/loki/
#### Этап 1: Фундамент (делаем первым) #### Этап 1: Фундамент (делаем первым)
**1. Создать repository/ (средний → высокий приоритет)** **1. Создать repository/ (средний → высокий приоритет)**
- [ ] Создать `repository/` - [x] Создать `repository/`
- [ ] Создать интерфейс `repository/UserStatsRepository.java` - [x] Создать интерфейс `repository/UserStatsRepository.java`
- [ ] Создать `repository/impl/` - [x] Создать `repository/impl/`
- [ ] Создать `repository/impl/JsonUserStatsRepository.java` (обёртка над JsonDataStore) - [x] Создать `repository/impl/JsonUserStatsRepository.java` (обёртка над JsonDataStore)
- [ ] Создать интерфейс `repository/GuildConfigRepository.java` - [ ] Создать интерфейс `repository/GuildConfigRepository.java`
- [ ] Рефакторить `database/ConfigRepository` → использовать интерфейс - [ ] Рефакторить `database/ConfigRepository` → использовать интерфейс
**2. Реорганизовать util/ (мусорная корзина)** **2. Реорганизовать util/ (мусорная корзина)**
- [ ] Создать `core/security/` - [x] Создать `core/security/`
- [ ] Переместить `util/CooldownManager` → `core/security/CooldownManager` - [x] Переместить `util/CooldownManager` → `core/security/CooldownManager`
- [ ] Переместить `util/GlobalRateLimiter` → `core/security/RateLimiter` - [x] Переместить `util/GlobalRateLimiter` → `core/security/RateLimiter`
- [ ] Создать `integration/nekos/` - [x] Создать `integration/nekos/`
- [ ] Переместить `util/NekosLifeApi` → `integration/nekos/NekosLifeApi` - [x] Переместить `util/NekosLifeApi` → `integration/nekos/NekosLifeApi`
- [ ] Удалить пустую папку `util/` - [x] Удалить пустую папку `util/`
- [ ] Обновить все импорты - [x] Обновить все импорты в командах
- [x] Добавить `UserStatsRepository` в `BotModule`
**3. Удалить импорты AudioManager** **3. Удалить импорты AudioManager и мертвые ссылки**
- [ ] Удалить импорты из `core/BotInitializer` - [ ] Удалить `import creator.loki.audio.AudioManager` из `BotInitializer`
- [ ] Удалить импорты из `core/PrefixCommandRegistrar` - [ ] Удалить `import creator.loki.audio.AudioManager` из `PrefixCommandRegistrar`
- [ ] Удалить импорты из `core/SlashCommandRegistrar` - [ ] Удалить `import creator.loki.audio.AudioManager` из `SlashCommandRegistrar`
- [ ] Удалить параметры AudioManager из конструкторов - [ ] Удалить параметр `AudioManager audioManager` из конструкторов
- [ ] Удалить поля `private final AudioManager audioManager`
- [ ] Удалить `registry.register(new TtsCommand(...))` из `PrefixCommandRegistrar`
- [ ] Удалить `registry.register(new TtsSlashCommand(...))` из `SlashCommandRegistrar`
- [ ] Исправить `registry.register(new NewLeaderboardCommand(...))` → использовать новый путь
- [ ] Удалить все `registry.register(new *SlashCommand(...))` из `SlashCommandRegistrar`
- [ ] Удалить `import creator.loki.command.slash.*` из `SlashCommandRegistrar`
- [ ] Проверить компиляцию: `gradle build` - [ ] Проверить компиляцию: `gradle build`
--- ---
@ -259,6 +266,18 @@ src/main/java/creator/loki/
- [ ] Обновить все импорты - [ ] Обновить все импорты
- [ ] Обновить `BotInitializer`, `BotModule`, `PrefixCommandRegistrar` - [ ] Обновить `BotInitializer`, `BotModule`, `PrefixCommandRegistrar`
**7. Создать команду сброса уровней (миграция на новую систему)**
- [ ] Создать `feature/level/ResetLevelsCommand.java`:
- Только для администраторов
- Подтверждение через кнопки (Да/Нет)
- Сброс всех уровней и XP
- Очистка таблицы `user_stats` в БД
- Логирование действия
- Уведомление в канал логов
- Embed с предупреждением о необратимости
- [ ] Зарегистрировать команду в `PrefixCommandRegistrar`
- [ ] Добавить в категорию "Настройка" (только админы)
--- ---
#### Этап 3: Остальные feature/ (параллельно, независимо) #### Этап 3: Остальные feature/ (параллельно, независимо)