+ 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
99 lines
3.1 KiB
Markdown
99 lines
3.1 KiB
Markdown
# 🤖 Loki Discord Bot
|
||
|
||
Многофункциональный Discord бот с системой уровней, личными голосовыми каналами и модерацией.
|
||
|
||
## ⚡ Быстрый старт
|
||
|
||
```bash
|
||
# Запуск
|
||
gradle run
|
||
|
||
# Настройка через 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)** - Полный список функций
|
||
- **[TODO.md](TODO.md)** - План развития
|
||
|
||
## 🎯 Основные функции
|
||
|
||
- 🎯 Система уровней (200 XP × уровень)
|
||
- 🎤 Личные голосовые каналы
|
||
- 📊 Счетчик участников
|
||
- 📝 Логи модерации
|
||
- 🎮 Развлекательные команды
|
||
- 🛡️ Модерация
|
||
- 🎨 Кастомные роли
|
||
|
||
## 🛠️ Технологии
|
||
|
||
- Java 21
|
||
- JDA 5.0.0
|
||
- SQLite
|
||
- Google Guice
|
||
|
||
## 📦 Требования
|
||
|
||
- Java 21+
|
||
- Gradle 8.x
|
||
|
||
## ❤️ Health (HTTP)
|
||
|
||
В `.env` можно задать **`HEALTH_HTTP_PORT`** (0–65535, **0** = не поднимать сервер). После готовности JDA слушает **`GET /health`** и отдаёт JSON (uptime, счётчики команд, версия из манифеста или `dev`).
|
||
|
||
---
|
||
|
||
**Версия:** 2.0 | **Лицензия:** MIT
|