discord-bot/FEATURES.md

235 lines
8.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🤖 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