From aa3388cd9e57c22bc81713add41ed8ea875e4a35 Mon Sep 17 00:00:00 2001 From: loki5512344 Date: Mon, 11 May 2026 14:28:45 +0200 Subject: [PATCH] Update TODO: mark Stage 1.1-1.3 as done, add reset levels command --- TODO.md | 51 +++++++++++++++++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/TODO.md b/TODO.md index 57427f2..a1cdb6a 100644 --- a/TODO.md +++ b/TODO.md @@ -179,27 +179,34 @@ src/main/java/creator/loki/ #### Этап 1: Фундамент (делаем первым) **1. Создать repository/ (средний → высокий приоритет)** -- [ ] Создать `repository/` -- [ ] Создать интерфейс `repository/UserStatsRepository.java` -- [ ] Создать `repository/impl/` -- [ ] Создать `repository/impl/JsonUserStatsRepository.java` (обёртка над JsonDataStore) +- [x] Создать `repository/` +- [x] Создать интерфейс `repository/UserStatsRepository.java` +- [x] Создать `repository/impl/` +- [x] Создать `repository/impl/JsonUserStatsRepository.java` (обёртка над JsonDataStore) - [ ] Создать интерфейс `repository/GuildConfigRepository.java` - [ ] Рефакторить `database/ConfigRepository` → использовать интерфейс **2. Реорганизовать util/ (мусорная корзина)** -- [ ] Создать `core/security/` -- [ ] Переместить `util/CooldownManager` → `core/security/CooldownManager` -- [ ] Переместить `util/GlobalRateLimiter` → `core/security/RateLimiter` -- [ ] Создать `integration/nekos/` -- [ ] Переместить `util/NekosLifeApi` → `integration/nekos/NekosLifeApi` -- [ ] Удалить пустую папку `util/` -- [ ] Обновить все импорты +- [x] Создать `core/security/` +- [x] Переместить `util/CooldownManager` → `core/security/CooldownManager` +- [x] Переместить `util/GlobalRateLimiter` → `core/security/RateLimiter` +- [x] Создать `integration/nekos/` +- [x] Переместить `util/NekosLifeApi` → `integration/nekos/NekosLifeApi` +- [x] Удалить пустую папку `util/` +- [x] Обновить все импорты в командах +- [x] Добавить `UserStatsRepository` в `BotModule` -**3. Удалить импорты AudioManager** -- [ ] Удалить импорты из `core/BotInitializer` -- [ ] Удалить импорты из `core/PrefixCommandRegistrar` -- [ ] Удалить импорты из `core/SlashCommandRegistrar` -- [ ] Удалить параметры AudioManager из конструкторов +**3. Удалить импорты AudioManager и мертвые ссылки** +- [ ] Удалить `import creator.loki.audio.AudioManager` из `BotInitializer` +- [ ] Удалить `import creator.loki.audio.AudioManager` из `PrefixCommandRegistrar` +- [ ] Удалить `import creator.loki.audio.AudioManager` из `SlashCommandRegistrar` +- [ ] Удалить параметр `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` --- @@ -259,6 +266,18 @@ src/main/java/creator/loki/ - [ ] Обновить все импорты - [ ] Обновить `BotInitializer`, `BotModule`, `PrefixCommandRegistrar` +**7. Создать команду сброса уровней (миграция на новую систему)** +- [ ] Создать `feature/level/ResetLevelsCommand.java`: + - Только для администраторов + - Подтверждение через кнопки (Да/Нет) + - Сброс всех уровней и XP + - Очистка таблицы `user_stats` в БД + - Логирование действия + - Уведомление в канал логов + - Embed с предупреждением о необратимости +- [ ] Зарегистрировать команду в `PrefixCommandRegistrar` +- [ ] Добавить в категорию "Настройка" (только админы) + --- #### Этап 3: Остальные feature/ (параллельно, независимо)