No description
Find a file
loki5512344 4092ad25f7
fix(lavalink): enable Spotify Partner API to bypass playlist restriction
Spotify Feb 2026 API change: /playlists/{id}/items now requires user auth.
Partner API (GraphQL) bypasses this for public playlists.
2026-08-31 15:22:27 +02:00
.github/workflows chore: Java 26 + Gradle 9.7.0, all 20 deps updated, 1GB mem limit 2026-08-19 13:53:11 +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 chore: Java 26 + Gradle 9.7.0, all 20 deps updated, 1GB mem limit 2026-08-19 13:53:11 +02:00
lavalink fix(lavalink): enable Spotify Partner API to bypass playlist restriction 2026-08-31 15:22:27 +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(music): add Lavalink health-check with auto-reconnect 2026-08-31 14:54:15 +02:00
.classpath refactor: KISS/DRY/SOLID раунд + багфиксы радио/voice/message 2026-07-04 18:46:27 +02:00
.dockerignore fix(docker): robust jar glob, lavalink healthcheck + startup order, restrict 2333 to loopback 2026-08-19 14:00:39 +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 fix(lavalink): commit youtube-plugin jar (was skipped by *.jar gitignore) 2026-08-19 14:06:51 +02:00
.java-version chore: Java 26 + Gradle 9.7.0, all 20 deps updated, 1GB mem limit 2026-08-19 13:53:11 +02:00
.project refactor: KISS/DRY/SOLID раунд + багфиксы радио/voice/message 2026-07-04 18:46:27 +02:00
build.gradle chore: Java 26 + Gradle 9.7.0, all 20 deps updated, 1GB mem limit 2026-08-19 13:53:11 +02:00
deploy.sh chore: add deploy.sh for server 2026-08-06 17:49:55 +02:00
docker-compose.yml fix(lavalink): drop spotify-tokener, lavasrc uses client credentials 2026-08-30 00:29:13 +02:00
Dockerfile fix(docker): robust jar glob, lavalink healthcheck + startup order, restrict 2333 to loopback 2026-08-19 14:00:39 +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 chore: Java 26 + Gradle 9.7.0, all 20 deps updated, 1GB mem limit 2026-08-19 13:53:11 +02:00
gradlew.bat chore: Java 26 + Gradle 9.7.0, all 20 deps updated, 1GB mem limit 2026-08-19 13:53:11 +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 docs(todo): record 2026-08-30 bug-hunt audit findings (39 items, unfixed) 2026-08-30 00:33:09 +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