# 🤖 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 ` - очистить сообщения - Автологирование всех действий ### 🎨 Кастомные роли - `/createrole` - создать роль - `/deleterole` - удалить роль - `/editrole` - редактировать роль - `/myroles` - мои роли ### 📈 Статистика - `/stats [@user]` - статистика пользователя - `/rep/@minusrep` - репутация - `/reptop` - топ по репутации - `/serverstats` - статистика сервера ### 🔧 Утилиты - `/avatar [@user]` - аватар пользователя - `/info [@user]` - информация о пользователе - `/poll` - создать голосование - `/ping` - пинг бота - `/help` - справка - `/tts ` - озвучить текст --- ## ⚙️ Команды настройки (только админы) ### Личные войс-каналы ``` /voice-setup trigger - канал-триггер /voice-setup category - категория для каналов /voice-setup text-channel - текстовый канал для панелей /voice-setup info - показать настройки ``` ### Счетчик участников ``` /counter-setup channel - установить канал /counter-setup format - формат ({count}) /counter-setup info - показать настройки ``` ### Логирование ``` /log-setup moderation - канал логов модерации /log-setup levelup - канал уведомлений level up /log-setup info - показать настройки ``` --- ## 🗄️ База данных **SQLite** с автоматической миграцией из JSON: - `config` - конфигурация - `user_stats` - статистика пользователей - `reputation` - репутация - `ship_pairs` - ship пары - `custom_roles` - кастомные роли - `voice_channels` - личные каналы - `counter_stats` - статистика счетчика --- ## 🚀 Быстрый старт 1. **Запуск:** ```bash gradle run ``` 2. **Настройка:** ``` /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 ``` 3. **Готово!** Зайди в канал-триггер → создастся личный канал --- ## 📦 Структура проекта ``` 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