Initial commit: Discord bot with XP system, voice channels, moderation logs, and member counter

This commit is contained in:
loki5512344 2026-05-11 13:55:12 +02:00
commit 0f664e317e
132 changed files with 12415 additions and 0 deletions

235
FEATURES.md Normal file
View file

@ -0,0 +1,235 @@
# 🤖 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` - статистика счетчика
---
## 🚀 Быстрый старт
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