discord-bot/FEATURES.md
loki5512344 fe121c8546 feat: economy system with minigames, bank, rob, jobs, fishing, blackjack, slots
+ economy domain (EconomyAccount, Job, SlotCombination, EconomyTransaction)
+ EconomyRepository + SqlEconomyRepository + DB schema
+ EconomyService (transfer, daily, deposit/withdraw, stat upgrades)
+ FishingService (fish grid with difficulty levels, speed bonus)
+ BlackjackService (dealer stands on 16, ties lose)
+ SlotService (weighted combos up to x50)
+ JobService (6 jobs with level reqs and efficiency stat)
+ 11 commands: balance, baltop, pay, daily, bank, rob,
  fish, blackjack, slot, job, work
+ Tests for SqlEconomyRepository
+ EconomyModule + EconomyCommandRegistrar wired into BotModule
2026-06-20 00:23:15 +02:00

9.6 KiB
Raw Blame History

🤖 Loki Discord Bot - Функции

📋 Описание

Многофункциональный Discord бот с системой уровней, личными голосовыми каналами, модерацией и развлекательными командами. Все команды — префиксные (ниже для краткости префикс !; реальный префикс задаётся в конфиге бота).

Технологии:

  • Java 21
  • JDA 5.0.0
  • SQLite + автомиграция
  • Google Guice (DI)

⭐ Основные функции

🎯 Система уровней и опыта

  • Формула: 200 XP × уровень
  • Получение XP:
    • 10 XP за сообщение (cooldown 60 сек)
    • 1 XP за минуту в войсе
  • Команды:
    • !rank [@user] — карточка ранга
    • !leaderboard — топ по уровням/сообщениям/войсу
  • Уведомления: Красивые embed при повышении уровня
  • Награды: Роли за достижение уровней (5, 10, 20, 30, 50)

🎤 Личные голосовые каналы

  • Автосоздание: Зайди в канал-триггер → создастся личный канал
  • Управление через кнопки:
    • 🔒 Закрыть/Открыть
    • 👥 Лимит пользователей
    • ✏️ Переименовать
    • 🎨 Битрейт
    • 🚫 Удалить
  • Автоудаление: Пустые каналы удаляются автоматически
  • Настройка: !voice-setup

📊 Счетчик участников

  • Автообновление: Название канала с количеством участников
  • Формат: 【👥】Участники: 123
  • Статистика: Присоединения/выходы за день
  • История: 30 дней
  • Настройка: !counter-setup

📝 Логи модерации

  • Что логируется:
    • 🗑️ Удаление сообщений
    • 🔨 Баны/разбаны
    • 👢 Кики
    • 🔇 Муты/размуты
    • 🎤 Отключение микрофона/звука
  • Настройка: !log-setup moderation / !log-setup levelup

🎮 Развлекательные команды

Игры:

  • !coin — подбросить монетку
  • !dice — бросить кубик
  • !8ball — магический шар
  • !ship @user1 @user2 — совместимость
  • !rate — оценить что-то
  • !gay, !fat, !iq, !pp — процентомеры

GIF-интерактив (nekos.life):

  • !hug, !kiss, !poke, !slap, !tickle, !cuddle, !feed

Развлечения (текст):

  • !pat — погладить (без GIF, несколько pat-pat)
  • !compliment, !roast — комплимент / жарка

🛡️ Модерация

  • !ban, !kick — бан / кик пользователя
  • !clear <amount> — очистить сообщения
  • Автологирование всех действий

🎨 Кастомные роли

  • !createrole — создать роль
  • !deleterole — удалить роль
  • !editrole — редактировать роль
  • !myroles — мои роли

📈 Статистика

  • !stats — статистика сервера
  • !rep, !minusrep — репутация
  • !reptop — топ по репутации

🔧 Утилиты

  • !avatar [@user] — аватар пользователя
  • !info [@user] — информация о пользователе
  • !poll — создать голосование
  • !ping — пинг бота
  • !help — справка

⚙️ Команды настройки (только админы)

Личные войс-каналы

!voice-setup trigger <channel>      - канал-триггер
!voice-setup category <category>    - категория для каналов
!voice-setup text-channel <channel> - текстовый канал для панелей
!voice-setup info                   - показать настройки

Счетчик участников

!counter-setup channel <channel>  - установить канал
!counter-setup format <format>    - формат ({count})
!counter-setup info               - показать настройки

Логирование

!log-setup moderation <channel>  - канал логов модерации
!log-setup levelup <channel>     - канал уведомлений level up
!log-setup info                  - показать настройки

Сброс уровней (одноразовая команда)

!resetlevels

Описание: Сбрасывает уровни и XP всех пользователей на сервере.

Требования:

  • Права администратора
  • Команда работает только один раз
  • Требует подтверждения через кнопки

Что сбрасывается:

  • Уровень → 0
  • XP → 0

Что сохраняется:

  • Время в голосовых каналах
  • Количество сообщений
  • Репутация

🔐 Команды супер-админа

Супер-админ ID: 1414975197269987471

Генерация рейтингов

!generateratings

Описание: Генерирует все rating значения для всех участников сервера.

Генерируемые рейтинги:

  • Ship (0-100%)
  • Gay (0-100%)
  • IQ (0-200)
  • PP (0-30 см)
  • Mustache (0-100, редко 1000-1500)
  • Fat (0-100%)
  • Boykisser (0-100%)

Особенности:

  • Не перезаписывает существующие значения
  • Пропускает ботов
  • Генерирует для всех участников сервера

🗄️ База данных

SQLite с автоматической миграцией из JSON:

  • config - конфигурация
  • user_stats - статистика пользователей
  • reputation - репутация
  • ship_pairs - ship пары
  • custom_roles - кастомные роли
  • voice_channels - личные каналы
  • counter_stats - статистика счетчика

🚀 Быстрый старт

  1. Запуск:
gradle run
  1. Настройка:
!voice-setup trigger #создать-канал
!voice-setup category Личные каналы
!voice-setup text-channel #управление

!counter-setup channel #счетчик
!counter-setup format 【👥】Участники: {count}

!log-setup moderation #логи
!log-setup levelup #level-up
  1. Готово! Зайди в канал-триггер → создастся личный канал

📦 Структура проекта

src/main/java/creator/loki/
├── audio/          # TTS и аудио
├── command/        # Команды
│   └── impl/
│       ├── entertainment/  # Игры и взаимодействия
│       ├── moderation/     # Модерация
│       ├── roles/          # Кастомные роли
│       ├── setup/          # Настройка
│       ├── stats/          # Статистика
│       └── utility/        # Утилиты
├── config/         # Конфигурация
├── core/           # Ядро бота
├── counter/        # Счетчик участников
├── data/           # JSON хранилище
├── database/       # SQLite + миграция
├── level/          # Система уровней
├── listener/       # Event listeners
├── voice/          # Личные каналы
└── util/           # Утилиты

🎯 Особенности

✅ Dependency Injection (Google Guice)
✅ SQLite с автомиграцией из JSON
✅ Graceful shutdown всех компонентов
✅ Логирование (SLF4J + Logback)
✅ Кэширование (Caffeine)
✅ Rate limiting и cooldowns
✅ Метрики производительности
✅ Модульная архитектура


📝 Права бота

Необходимые права:

  • ✅ MANAGE_CHANNELS - создание/удаление каналов
  • ✅ MOVE_MEMBERS - перемещение пользователей
  • ✅ MANAGE_PERMISSIONS - выдача прав
  • ✅ MANAGE_ROLES - управление ролями
  • ✅ BAN_MEMBERS - баны
  • ✅ KICK_MEMBERS - кики
  • ✅ MANAGE_MESSAGES - удаление сообщений
  • ✅ VIEW_AUDIT_LOG - просмотр логов

🔄 Обновления

v2.0 (2026-05-11)

  • ✅ SQLite база данных
  • ✅ Автомиграция из JSON
  • ✅ Личные голосовые каналы
  • ✅ Счетчик участников
  • ✅ Логи модерации
  • ✅ Уведомления level up
  • ✅ Обработчик кнопок для войс-каналов

v1.0

  • Базовая система уровней
  • Команды развлечений
  • Модерация
  • Кастомные роли

Версия: 2.0
Дата: 2026-05-11
Автор: Loki Bot Team