8.1 KiB
8.1 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
🎮 Развлекательные команды
Игры:
/coin- подбросить монетку/dice- бросить кубик/8ball- магический шар/ship @user1 @user2- совместимость/rate- оценить что-то/gay/@fat/@iq/@pp- процентомеры
Взаимодействия:
/hug/@kiss/@pat/@poke- обнять/поцеловать/погладить/ткнуть/slap/@tickle/@cuddle- шлепнуть/пощекотать/обнять/compliment/@roast- комплимент/жарка/feed- покормить
🛡️ Модерация
/ban/@kick- бан/кик пользователя/clear <amount>- очистить сообщения- Автологирование всех действий
🎨 Кастомные роли
/createrole- создать роль/deleterole- удалить роль/editrole- редактировать роль/myroles- мои роли
📈 Статистика
/stats [@user]- статистика пользователя/rep/@minusrep- репутация/reptop- топ по репутации/serverstats- статистика сервера
🔧 Утилиты
/avatar [@user]- аватар пользователя/info [@user]- информация о пользователе/poll- создать голосование/ping- пинг бота/help- справка/tts <text>- озвучить текст
⚙️ Команды настройки (только админы)
Личные войс-каналы
/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 - показать настройки
🗄️ База данных
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