No description
Find a file
loki5512344 cfe05144f9
fix: create separate LavalinkManager for radio bot with its own token
Radio bot is a separate Discord bot account but shared the main bot's
LavalinkManager (created with main bot's user ID). When the radio bot
connected to voice, Lavalink received voice server updates mismatched
with the expected user ID, causing voice connection timeout.

Now the radio bot creates its own LavalinkManager with its own token,
matching the pattern already used by the music bot.
2026-07-12 23:47:46 +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: KISS/DRY/SOLID раунд + багфиксы радио/voice/message 2026-07-04 18:46:27 +02:00
config fix: update lavasrc 4.8.3, disable broken spotify, JDA 6.4.2 migration 2026-07-03 21:04:35 +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: enable spotify source in lavalink, add User-Agent to booru API requests 2026-07-12 23:34:24 +02:00
ref Remove lavmusicbot submodule, keep ref as files 2026-07-02 23:56:19 +02:00
src fix: create separate LavalinkManager for radio bot with its own token 2026-07-12 23:47:46 +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 feat: ai page parser, message scanner, lang filter, /clear, prompt rewrite 2026-07-07 01:22:21 +02:00
deploy.sh feat: image navigation, yandere/e621random commands, ai session manager, deploy script 2026-07-12 22:24:43 +02:00
docker-compose.yml fix: add rule34 API credentials support (required since Aug 2025) 2026-07-12 23:39:09 +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 refactor: KISS/DRY/SOLID раунд + багфиксы радио/voice/message 2026-07-04 18:46:27 +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