+ 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
9.6 KiB
🤖 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- статистика счетчика
🚀 Быстрый старт
- Запуск:
gradle run
- Настройка:
!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
- Готово! Зайди в канал-триггер → создастся личный канал
📦 Структура проекта
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