No description
Find a file
loki5512344 78645e5727
fix: ratings reliability + ratingstop/ratingbottom board commands
- generateratings: MemberCachePolicy.ALL + ChunkingFilter.ALL + guild.loadMembers()
  (JDA cached only 2 members on small guilds by default)
- RatingService: new Random(seed) per call instead of shared Random.setSeed (race)
- LogEmbeds ban/kick: null reason -> 'Не указана'
- RatingsRepository.getTopRatings/getBottomRatings (ORDER BY value, LIMIT)
- RatingBoardCommand: ratingstop/ratingbottom, top-3 medals, guild-scoped
2026-08-19 13:52:54 +02:00
.github/workflows v2.3: Major refactoring, Lavalink music system, Spotify support, CI/CD 2026-07-02 23:48:36 +02:00
.settings refactor: move classes to subpackages, add rating commands, remove R34 2026-07-29 15:18:57 +02:00
config fix: resolve ALL checkstyle + PMD + SpotBugs violations (0 remaining) 2026-08-06 20:01:36 +02:00
data add prompts and knowledge files 2026-07-12 22:47:27 +02:00
gradle feat: ai page parser, message scanner, lang filter, /clear, prompt rewrite 2026-07-07 01:22:21 +02:00
lavalink fix(music): add spotify-tokener for anonymous token, enable Partner API 2026-07-18 00:16:12 +02:00
ref Remove lavmusicbot submodule, keep ref as files 2026-07-02 23:56:19 +02:00
scripts fix: resolve ALL checkstyle + PMD + SpotBugs violations (0 remaining) 2026-08-06 20:01:36 +02:00
src fix: ratings reliability + ratingstop/ratingbottom board commands 2026-08-19 13:52:54 +02:00
.classpath refactor: KISS/DRY/SOLID раунд + багфиксы радио/voice/message 2026-07-04 18:46:27 +02:00
.dockerignore feat: ai page parser, message scanner, lang filter, /clear, prompt rewrite 2026-07-07 01:22:21 +02:00
.editorconfig feat: economy system with minigames, bank, rob, jobs, fishing, blackjack, slots 2026-06-20 00:23:15 +02:00
.env.example fix: add rule34 API credentials support (required since Aug 2025) 2026-07-12 23:39:09 +02:00
.gitignore v2.3: Major refactoring, Lavalink music system, Spotify support, CI/CD 2026-07-02 23:48:36 +02:00
.project refactor: KISS/DRY/SOLID раунд + багфиксы радио/voice/message 2026-07-04 18:46:27 +02:00
build.gradle chore: revert Lavalink timeout to 30s, add PMD + stricter checkstyle 2026-08-06 17:53:23 +02:00
deploy.sh chore: add deploy.sh for server 2026-08-06 17:49:55 +02:00
docker-compose.yml fix(music): add spotify-tokener for anonymous token, enable Partner API 2026-07-18 00:16:12 +02:00
Dockerfile feat: nsfw image commands (!e621, !r34, !gelbooru) + help filtering 2026-07-07 16:03:03 +02:00
FEATURES.md feat: economy system with minigames, bank, rob, jobs, fishing, blackjack, slots 2026-06-20 00:23:15 +02:00
gradle.properties feat: ai page parser, message scanner, lang filter, /clear, prompt rewrite 2026-07-07 01:22:21 +02:00
gradlew v2.3: Major refactoring, Lavalink music system, Spotify support, CI/CD 2026-07-02 23:48:36 +02:00
README.md feat: economy system with minigames, bank, rob, jobs, fishing, blackjack, slots 2026-06-20 00:23:15 +02:00
settings.gradle v2.3: Major refactoring, Lavalink music system, Spotify support, CI/CD 2026-07-02 23:48:36 +02:00
TODO.md fix: counter/voice-setup read config live + exclude bots from counter; drop quests/achievements/wiki from roadmap 2026-08-19 12:21:42 +02:00

🤖 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