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:
loki5512344 2026-06-20 00:23:15 +02:00
parent fcb5cd7207
commit fe121c8546
270 changed files with 18632 additions and 11656 deletions

View file

@ -8,12 +8,61 @@
# Запуск
gradle run
# Настройка через Discord
/voice-setup trigger #создать-канал
/counter-setup channel #счетчик
/log-setup moderation #логи
# Настройка через Discord (префикс по умолчанию «!»)
!voice-setup trigger #создать-канал
!counter-setup channel #счетчик
!log-setup moderation #логи
```
## 🔧 Административные команды
### Сброс уровней (одноразовая команда)
```
!resetlevels
```
**Описание:** Сбрасывает уровни и XP всех пользователей на сервере. Сохраняет время в войсе и количество сообщений.
**Требования:**
- Права администратора
- Команда работает только один раз
- Требует подтверждения через кнопки
**Что сбрасывается:**
- Уровень → 0
- XP → 0
**Что сохраняется:**
- Время в голосовых каналах
- Количество сообщений
- Репутация
---
### Генерация рейтингов (супер-админ)
```
!generateratings
```
**Описание:** Генерирует все rating значения (ship, gay, iq, pp, mustache, fat, boykisser) для всех участников сервера.
**Требования:**
- Только для супер-админа (ID: `1414975197269987471`)
- Не перезаписывает существующие значения
- Сохраняет в SQLite базу данных
**Генерируемые рейтинги:**
- Ship (0-100%)
- Gay (0-100%)
- IQ (0-200)
- PP (0-30 см)
- Mustache (0-100, редко 1000-1500)
- Fat (0-100%)
- Boykisser (0-100%)
**Особенности:**
- Хранится в таблице `ratings` в SQLite
- Пропускает ботов
- Показывает статистику генерации
## 📚 Документация
- **[FEATURES.md](FEATURES.md)** - Полный список функций
@ -41,6 +90,10 @@ gradle run
- Java 21+
- Gradle 8.x
## ❤️ Health (HTTP)
В `.env` можно задать **`HEALTH_HTTP_PORT`** (0–65535, **0** = не поднимать сервер). После готовности JDA слушает **`GET /health`** и отдаёт JSON (uptime, счётчики команд, версия из манифеста или `dev`).
---
**Версия:** 2.0 | **Лицензия:** MIT