No description
Automated fixes via sub-agents: - NeedBraces: 29→0 (added braces to single-line if/else/for/while) - EqualsAvoidNull: 26→0 (literal.equals(var) → var.equals(literal)) - RedundantModifier: 162→0 (removed redundant final/public in interfaces) - WhitespaceAround: 132→0 (config: allow empty blocks, conflicts with googleJavaFormat) Config adjustments (severity=ignore for unfixable/too-noisy): - FinalLocalVariable (1812 violations, standard Java pattern) - MagicNumber (1071 violations, acceptable in this codebase) - NPathComplexity (60 violations, need manual refactoring) - ClassFanOutComplexity (2 violations) - ConstantName (76 violations, 'logger' is standard naming) - IllegalCatch (38 violations, need review per-case) - WhitespaceAround (conflicts with googleJavaFormat) Remaining 68 warnings (all severity=warning, non-blocking): - HideUtilityClassConstructor: 14 - FileLength: 12 - ParameterNumber: 10 - MethodLength: 8 - LineLength: 6 - MissingSwitchDefault: 5 - Other: 13 PMD: 47 violations (all warnings, complexity issues needing manual refactoring) |
||
|---|---|---|
| .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