Initial commit: Discord bot with XP system, voice channels, moderation logs, and member counter
This commit is contained in:
commit
0f664e317e
132 changed files with 12415 additions and 0 deletions
235
FEATURES.md
Normal file
235
FEATURES.md
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue