No description
Checkstyle (3127 → 0): - FinalLocalVariable: 1812 violations fixed via script (added final to local vars) - MagicNumber: 1071 violations fixed via script (extracted constants) - ConstantName: 76 violations fixed (logger → LOG) - RedundantModifier: 162 → 0 (removed redundant final/public in interfaces) - WhitespaceAround: 132 → 0 (configured allowEmpty* properties) - IllegalCatch: 38 → 0 (added specific exception catches) - NeedBraces: 29 → 0 (added braces to single-line if/else) - EqualsAvoidNull: 26 → 0 (literal.equals(var) → var.equals(literal)) - HideUtilityClassConstructor: 14 → 0 (added private constructors) - FileLength: 12 → 0 (extracted 13 helper classes, deleted dead code) - ParameterNumber: 10 → 0 (created records for grouped params) - MethodLength: 8 → 0 (extracted sub-methods) - LineLength: 6 → 0 (wrapped long lines) - MissingSwitchDefault: 5 → 0 (added default cases) - MultipleVariableDeclarations: 4 → 0 (split declarations) - CyclomaticComplexity: 3 → 0 (refactored complex methods) - ClassFanOutComplexity: 2 → 0 - AvoidStarImport: 2 → 0 (expanded to specific imports) - UnusedImports: 1 → 0 - Regexp: 1 → 0 PMD (47 → 0): - CloseResource: 8 → 0 (try-with-resources + NOPMD for managed resources) - CognitiveComplexity: 11 → 0 (extracted helper methods, early returns) - CyclomaticComplexity: 6 → 0 (refactored complex methods) - TooManyMethods: 2 → 0 (extracted classes) - AvoidReassigningParameters: 2 → 0 (local variables) - UnusedPrivateMethod: 1 → 0 (removed dead code) Dead code removed: - Deleted feature/roast/ package (26 files) - unused AI debate feature - Cleaned up all references in ListenerAggregator, BotModule, UtilityCommandRegistrar New files created: 14 (SetupPanelBuilder, SetupDashboardBuilder, MuteNotifier, etc.) |
||
|---|---|---|
| .github/workflows | ||
| .settings | ||
| config | ||
| data | ||
| gradle | ||
| lavalink | ||
| ref | ||
| scripts | ||
| src | ||
| .classpath | ||
| .dockerignore | ||
| .editorconfig | ||
| .env.example | ||
| .gitignore | ||
| .project | ||
| build.gradle | ||
| deploy.sh | ||
| docker-compose.yml | ||
| Dockerfile | ||
| FEATURES.md | ||
| gradle.properties | ||
| gradlew | ||
| README.md | ||
| settings.gradle | ||
| TODO.md | ||
🤖 Loki Discord Bot
Многофункциональный Discord бот с системой уровней, личными голосовыми каналами и модерацией.
⚡ Быстрый старт
# Запуск
gradle run
# Настройка через Discord (префикс по умолчанию «!»)
!voice-setup trigger #создать-канал
!counter-setup channel #счетчик
!log-setup moderation #логи
🔧 Административные команды
Сброс уровней (одноразовая команда)
!resetlevels
Описание: Сбрасывает уровни и XP всех пользователей на сервере. Сохраняет время в войсе и количество сообщений.
Требования:
- Права администратора
- Команда работает только один раз
- Требует подтверждения через кнопки
Что сбрасывается:
- Уровень → 0
- XP → 0
Что сохраняется:
- Время в голосовых каналах
- Количество сообщений
- Репутация
Генерация рейтингов (супер-админ)
!generateratings
Описание: Генерирует все rating значения (ship, gay, iq, pp, mustache, fat, boykisser) для всех участников сервера.
Требования:
- Только для супер-админа (ID:
1414975197269987471) - Не перезаписывает существующие значения
- Сохраняет в SQLite базу данных
Генерируемые рейтинги:
- Ship (0-100%)
- Gay (0-100%)
- IQ (0-200)
- PP (0-30 см)
- Mustache (0-100, редко 1000-1500)
- Fat (0-100%)
- Boykisser (0-100%)
Особенности:
- Хранится в таблице
ratingsв SQLite - Пропускает ботов
- Показывает статистику генерации
📚 Документация
- FEATURES.md - Полный список функций
- TODO.md - План развития
🎯 Основные функции
- 🎯 Система уровней (200 XP × уровень)
- 🎤 Личные голосовые каналы
- 📊 Счетчик участников
- 📝 Логи модерации
- 🎮 Развлекательные команды
- 🛡️ Модерация
- 🎨 Кастомные роли
🛠️ Технологии
- Java 21
- JDA 5.0.0
- SQLite
- Google Guice
📦 Требования
- Java 21+
- Gradle 8.x
❤️ Health (HTTP)
В .env можно задать HEALTH_HTTP_PORT (0–65535, 0 = не поднимать сервер). После готовности JDA слушает GET /health и отдаёт JSON (uptime, счётчики команд, версия из манифеста или dev).
Версия: 2.0 | Лицензия: MIT