feat: economy system with minigames, bank, rob, jobs, fishing, blackjack, slots
+ economy domain (EconomyAccount, Job, SlotCombination, EconomyTransaction) + EconomyRepository + SqlEconomyRepository + DB schema + EconomyService (transfer, daily, deposit/withdraw, stat upgrades) + FishingService (fish grid with difficulty levels, speed bonus) + BlackjackService (dealer stands on 16, ties lose) + SlotService (weighted combos up to x50) + JobService (6 jobs with level reqs and efficiency stat) + 11 commands: balance, baltop, pay, daily, bank, rob, fish, blackjack, slot, job, work + Tests for SqlEconomyRepository + EconomyModule + EconomyCommandRegistrar wired into BotModule
This commit is contained in:
parent
fcb5cd7207
commit
fe121c8546
270 changed files with 18632 additions and 11656 deletions
145
FEATURES.md
145
FEATURES.md
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
## 📋 Описание
|
||||
|
||||
Многофункциональный Discord бот с системой уровней, личными голосовыми каналами, модерацией и развлекательными командами.
|
||||
Многофункциональный Discord бот с системой уровней, личными голосовыми каналами, модерацией и развлекательными командами. **Все команды — префиксные** (ниже для краткости префикс `!`; реальный префикс задаётся в конфиге бота).
|
||||
|
||||
**Технологии:**
|
||||
- Java 21
|
||||
|
|
@ -20,8 +20,8 @@
|
|||
- 10 XP за сообщение (cooldown 60 сек)
|
||||
- 1 XP за минуту в войсе
|
||||
- **Команды:**
|
||||
- `/rank [@user]` - карточка ранга
|
||||
- `/leaderboard` - топ по уровням/сообщениям/войсу
|
||||
- `!rank [@user]` — карточка ранга
|
||||
- `!leaderboard` — топ по уровням/сообщениям/войсу
|
||||
- **Уведомления:** Красивые embed при повышении уровня
|
||||
- **Награды:** Роли за достижение уровней (5, 10, 20, 30, 50)
|
||||
|
||||
|
|
@ -34,14 +34,14 @@
|
|||
- 🎨 Битрейт
|
||||
- 🚫 Удалить
|
||||
- **Автоудаление:** Пустые каналы удаляются автоматически
|
||||
- **Настройка:** `/voice-setup`
|
||||
- **Настройка:** `!voice-setup`
|
||||
|
||||
### 📊 Счетчик участников
|
||||
- **Автообновление:** Название канала с количеством участников
|
||||
- **Формат:** `【👥】Участники: 123`
|
||||
- **Статистика:** Присоединения/выходы за день
|
||||
- **История:** 30 дней
|
||||
- **Настройка:** `/counter-setup`
|
||||
- **Настройка:** `!counter-setup`
|
||||
|
||||
### 📝 Логи модерации
|
||||
- **Что логируется:**
|
||||
|
|
@ -50,48 +50,47 @@
|
|||
- 👢 Кики
|
||||
- 🔇 Муты/размуты
|
||||
- 🎤 Отключение микрофона/звука
|
||||
- **Настройка:** `/log-setup moderation`
|
||||
- **Настройка:** `!log-setup moderation` / `!log-setup levelup`
|
||||
|
||||
### 🎮 Развлекательные команды
|
||||
|
||||
**Игры:**
|
||||
- `/coin` - подбросить монетку
|
||||
- `/dice` - бросить кубик
|
||||
- `/8ball` - магический шар
|
||||
- `/ship @user1 @user2` - совместимость
|
||||
- `/rate` - оценить что-то
|
||||
- `/gay/@fat/@iq/@pp` - процентомеры
|
||||
- `!coin` — подбросить монетку
|
||||
- `!dice` — бросить кубик
|
||||
- `!8ball` — магический шар
|
||||
- `!ship @user1 @user2` — совместимость
|
||||
- `!rate` — оценить что-то
|
||||
- `!gay`, `!fat`, `!iq`, `!pp` — процентомеры
|
||||
|
||||
**Взаимодействия:**
|
||||
- `/hug/@kiss/@pat/@poke` - обнять/поцеловать/погладить/ткнуть
|
||||
- `/slap/@tickle/@cuddle` - шлепнуть/пощекотать/обнять
|
||||
- `/compliment/@roast` - комплимент/жарка
|
||||
- `/feed` - покормить
|
||||
**GIF-интерактив (nekos.life):**
|
||||
- `!hug`, `!kiss`, `!poke`, `!slap`, `!tickle`, `!cuddle`, `!feed`
|
||||
|
||||
**Развлечения (текст):**
|
||||
- `!pat` — погладить (без GIF, несколько pat-pat)
|
||||
- `!compliment`, `!roast` — комплимент / жарка
|
||||
|
||||
### 🛡️ Модерация
|
||||
- `/ban/@kick` - бан/кик пользователя
|
||||
- `/clear <amount>` - очистить сообщения
|
||||
- `!ban`, `!kick` — бан / кик пользователя
|
||||
- `!clear <amount>` — очистить сообщения
|
||||
- Автологирование всех действий
|
||||
|
||||
### 🎨 Кастомные роли
|
||||
- `/createrole` - создать роль
|
||||
- `/deleterole` - удалить роль
|
||||
- `/editrole` - редактировать роль
|
||||
- `/myroles` - мои роли
|
||||
- `!createrole` — создать роль
|
||||
- `!deleterole` — удалить роль
|
||||
- `!editrole` — редактировать роль
|
||||
- `!myroles` — мои роли
|
||||
|
||||
### 📈 Статистика
|
||||
- `/stats [@user]` - статистика пользователя
|
||||
- `/rep/@minusrep` - репутация
|
||||
- `/reptop` - топ по репутации
|
||||
- `/serverstats` - статистика сервера
|
||||
- `!stats` — статистика сервера
|
||||
- `!rep`, `!minusrep` — репутация
|
||||
- `!reptop` — топ по репутации
|
||||
|
||||
### 🔧 Утилиты
|
||||
- `/avatar [@user]` - аватар пользователя
|
||||
- `/info [@user]` - информация о пользователе
|
||||
- `/poll` - создать голосование
|
||||
- `/ping` - пинг бота
|
||||
- `/help` - справка
|
||||
- `/tts <text>` - озвучить текст
|
||||
- `!avatar [@user]` — аватар пользователя
|
||||
- `!info [@user]` — информация о пользователе
|
||||
- `!poll` — создать голосование
|
||||
- `!ping` — пинг бота
|
||||
- `!help` — справка
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -99,26 +98,72 @@
|
|||
|
||||
### Личные войс-каналы
|
||||
```
|
||||
/voice-setup trigger <channel> - канал-триггер
|
||||
/voice-setup category <category> - категория для каналов
|
||||
/voice-setup text-channel <channel> - текстовый канал для панелей
|
||||
/voice-setup info - показать настройки
|
||||
!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 - показать настройки
|
||||
!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 - показать настройки
|
||||
!log-setup moderation <channel> - канал логов модерации
|
||||
!log-setup levelup <channel> - канал уведомлений level up
|
||||
!log-setup info - показать настройки
|
||||
```
|
||||
|
||||
### Сброс уровней (одноразовая команда)
|
||||
```
|
||||
!resetlevels
|
||||
```
|
||||
**Описание:** Сбрасывает уровни и XP всех пользователей на сервере.
|
||||
|
||||
**Требования:**
|
||||
- Права администратора
|
||||
- Команда работает только один раз
|
||||
- Требует подтверждения через кнопки
|
||||
|
||||
**Что сбрасывается:**
|
||||
- Уровень → 0
|
||||
- XP → 0
|
||||
|
||||
**Что сохраняется:**
|
||||
- Время в голосовых каналах
|
||||
- Количество сообщений
|
||||
- Репутация
|
||||
|
||||
---
|
||||
|
||||
## 🔐 Команды супер-админа
|
||||
|
||||
**Супер-админ ID:** `1414975197269987471`
|
||||
|
||||
### Генерация рейтингов
|
||||
```
|
||||
!generateratings
|
||||
```
|
||||
**Описание:** Генерирует все rating значения для всех участников сервера.
|
||||
|
||||
**Генерируемые рейтинги:**
|
||||
- Ship (0-100%)
|
||||
- Gay (0-100%)
|
||||
- IQ (0-200)
|
||||
- PP (0-30 см)
|
||||
- Mustache (0-100, редко 1000-1500)
|
||||
- Fat (0-100%)
|
||||
- Boykisser (0-100%)
|
||||
|
||||
**Особенности:**
|
||||
- Не перезаписывает существующие значения
|
||||
- Пропускает ботов
|
||||
- Генерирует для всех участников сервера
|
||||
|
||||
---
|
||||
|
||||
## 🗄️ База данных
|
||||
|
|
@ -143,15 +188,15 @@ gradle run
|
|||
|
||||
2. **Настройка:**
|
||||
```
|
||||
/voice-setup trigger #создать-канал
|
||||
/voice-setup category Личные каналы
|
||||
/voice-setup text-channel #управление
|
||||
!voice-setup trigger #создать-канал
|
||||
!voice-setup category Личные каналы
|
||||
!voice-setup text-channel #управление
|
||||
|
||||
/counter-setup channel #счетчик
|
||||
/counter-setup format 【👥】Участники: {count}
|
||||
!counter-setup channel #счетчик
|
||||
!counter-setup format 【👥】Участники: {count}
|
||||
|
||||
/log-setup moderation #логи
|
||||
/log-setup levelup #level-up
|
||||
!log-setup moderation #логи
|
||||
!log-setup levelup #level-up
|
||||
```
|
||||
|
||||
3. **Готово!** Зайди в канал-триггер → создастся личный канал
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue