refactor: split god classes, fix OCP/ISP/SRP, migrate commands to BaseCommand hierarchy
This commit is contained in:
parent
793924c9ba
commit
90c3cac5cf
244 changed files with 1677 additions and 1570 deletions
|
|
@ -1,290 +1,212 @@
|
|||
# ╔══════════════════════════════════════════════════════════════════════════════╗
|
||||
# ║ LoChat Mute Configuration ║
|
||||
# ║ Конфигурация мутов ║
|
||||
# ║ Версия: 1.5.5-1.20.1 ║
|
||||
# ╚══════════════════════════════════════════════════════════════════════════════╝
|
||||
# LoChat mute system configuration
|
||||
# Controls mute durations, automatic mutes, escalation, and notifications.
|
||||
|
||||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
# │ ОСНОВНЫЕ НАСТРОЙКИ │
|
||||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||||
# ── General Settings ───────────────────────────────────────────────────────────
|
||||
|
||||
settings:
|
||||
# Причина мута по умолчанию
|
||||
default-reason: "Нарушение правил чата"
|
||||
|
||||
# Длительность мута по умолчанию
|
||||
default-reason: "Chat rule violation"
|
||||
default-duration: "1h"
|
||||
|
||||
# Максимальная длина причины мута
|
||||
max-reason-length: 100
|
||||
|
||||
# Показывать причину мута игроку
|
||||
show-reason: true
|
||||
|
||||
# Показывать оставшееся время мута
|
||||
show-remaining-time: true
|
||||
|
||||
# Автоматически размучивать при истечении времени
|
||||
auto-unmute: true
|
||||
|
||||
# Сохранять историю мутов
|
||||
save-history: true
|
||||
|
||||
# Максимальное количество записей в истории на игрока
|
||||
max-history-entries: 50
|
||||
|
||||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
# │ ДОСТУПНЫЕ ДЛИТЕЛЬНОСТИ │
|
||||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||||
# ── Available Durations ────────────────────────────────────────────────────────
|
||||
# Each duration requires a permission. Empty permission = no restriction.
|
||||
|
||||
durations:
|
||||
# Формат: "время": "право для использования"
|
||||
"5m":
|
||||
permission: "lochat.mute.dur.5m"
|
||||
display: "5 минут"
|
||||
|
||||
display: "5 minutes"
|
||||
|
||||
"10m":
|
||||
permission: "lochat.mute.dur.10m"
|
||||
display: "10 минут"
|
||||
|
||||
display: "10 minutes"
|
||||
|
||||
"30m":
|
||||
permission: "lochat.mute.dur.30m"
|
||||
display: "30 минут"
|
||||
|
||||
display: "30 minutes"
|
||||
|
||||
"1h":
|
||||
permission: "lochat.mute.dur.1h"
|
||||
display: "1 час"
|
||||
|
||||
display: "1 hour"
|
||||
|
||||
"3h":
|
||||
permission: "lochat.mute.dur.3h"
|
||||
display: "3 часа"
|
||||
|
||||
display: "3 hours"
|
||||
|
||||
"6h":
|
||||
permission: "lochat.mute.dur.6h"
|
||||
display: "6 часов"
|
||||
|
||||
display: "6 hours"
|
||||
|
||||
"12h":
|
||||
permission: "lochat.mute.dur.12h"
|
||||
display: "12 часов"
|
||||
|
||||
display: "12 hours"
|
||||
|
||||
"1d":
|
||||
permission: "lochat.mute.dur.1d"
|
||||
display: "1 день"
|
||||
|
||||
display: "1 day"
|
||||
|
||||
"3d":
|
||||
permission: "lochat.mute.dur.3d"
|
||||
display: "3 дня"
|
||||
|
||||
display: "3 days"
|
||||
|
||||
"7d":
|
||||
permission: "lochat.mute.dur.7d"
|
||||
display: "7 дней"
|
||||
|
||||
display: "7 days"
|
||||
|
||||
"14d":
|
||||
permission: "lochat.mute.dur.14d"
|
||||
display: "14 дней"
|
||||
|
||||
display: "14 days"
|
||||
|
||||
"30d":
|
||||
permission: "lochat.mute.dur.30d"
|
||||
display: "30 дней"
|
||||
|
||||
display: "30 days"
|
||||
|
||||
"perm":
|
||||
permission: "lochat.mute.dur.perm"
|
||||
display: "Навсегда"
|
||||
display: "Permanent"
|
||||
|
||||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
# │ ГОТОВЫЕ ПРИЧИНЫ │
|
||||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||||
# ── Preset Reasons ─────────────────────────────────────────────────────────────
|
||||
|
||||
reasons:
|
||||
spam:
|
||||
text: "Спам в чате"
|
||||
text: "Spam"
|
||||
duration: "30m"
|
||||
permission: "lochat.mute.reason.spam"
|
||||
|
||||
|
||||
caps:
|
||||
text: "Злоупотребление заглавными буквами"
|
||||
text: "Excessive caps"
|
||||
duration: "15m"
|
||||
permission: "lochat.mute.reason.caps"
|
||||
|
||||
|
||||
swear:
|
||||
text: "Использование нецензурной лексики"
|
||||
text: "Inappropriate language"
|
||||
duration: "1h"
|
||||
permission: "lochat.mute.reason.swear"
|
||||
|
||||
|
||||
flood:
|
||||
text: "Флуд в чате"
|
||||
text: "Flood"
|
||||
duration: "20m"
|
||||
permission: "lochat.mute.reason.flood"
|
||||
|
||||
|
||||
advertising:
|
||||
text: "Реклама"
|
||||
text: "Advertising"
|
||||
duration: "3h"
|
||||
permission: "lochat.mute.reason.advertising"
|
||||
|
||||
|
||||
insult:
|
||||
text: "Оскорбления игроков"
|
||||
text: "Insulting players"
|
||||
duration: "2h"
|
||||
permission: "lochat.mute.reason.insult"
|
||||
|
||||
toxicity:
|
||||
text: "Токсичное поведение"
|
||||
duration: "6h"
|
||||
permission: "lochat.mute.reason.toxicity"
|
||||
|
||||
politics:
|
||||
text: "Обсуждение политики"
|
||||
duration: "1h"
|
||||
permission: "lochat.mute.reason.politics"
|
||||
|
||||
religion:
|
||||
text: "Религиозные споры"
|
||||
duration: "1h"
|
||||
permission: "lochat.mute.reason.religion"
|
||||
|
||||
begging:
|
||||
text: "Попрошайничество"
|
||||
duration: "30m"
|
||||
permission: "lochat.mute.reason.begging"
|
||||
|
||||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
# │ АВТОМАТИЧЕСКИЕ МУТЫ │
|
||||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||||
# ── Auto-Mute ──────────────────────────────────────────────────────────────────
|
||||
|
||||
auto-mute:
|
||||
# Включить автоматические муты
|
||||
enabled: true
|
||||
|
||||
# Мут за спам
|
||||
|
||||
spam:
|
||||
enabled: true
|
||||
threshold: 5 # Количество сообщений
|
||||
time-window: 10 # За какое время (секунды)
|
||||
threshold: 5
|
||||
time-window: 10
|
||||
duration: "10m"
|
||||
reason: "Автомут: спам в чате"
|
||||
|
||||
# Мут за мат
|
||||
reason: "Auto-mute: spam"
|
||||
|
||||
swear:
|
||||
enabled: true
|
||||
threshold: 3 # Количество нарушений
|
||||
threshold: 3
|
||||
duration: "30m"
|
||||
reason: "Автомут: использование мата"
|
||||
|
||||
# Мут за заглавные буквы
|
||||
reason: "Auto-mute: inappropriate language"
|
||||
|
||||
caps:
|
||||
enabled: true
|
||||
threshold: 5 # Количество нарушений
|
||||
threshold: 5
|
||||
duration: "5m"
|
||||
reason: "Автомут: злоупотребление CAPS"
|
||||
|
||||
# Мут за рекламу
|
||||
reason: "Auto-mute: excessive caps"
|
||||
|
||||
advertising:
|
||||
enabled: true
|
||||
threshold: 1 # Одно нарушение
|
||||
threshold: 1
|
||||
duration: "1h"
|
||||
reason: "Автомут: реклама"
|
||||
reason: "Auto-mute: advertising"
|
||||
|
||||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
# │ ЭСКАЛАЦИЯ НАКАЗАНИЙ │
|
||||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||||
# ── Punishment Escalation ──────────────────────────────────────────────────────
|
||||
|
||||
escalation:
|
||||
# Включить эскалацию наказаний
|
||||
enabled: true
|
||||
|
||||
# Период для подсчета нарушений (дни)
|
||||
period: 30
|
||||
|
||||
# Уровни наказаний
|
||||
|
||||
levels:
|
||||
1:
|
||||
duration: "30m"
|
||||
reason: "Первое нарушение"
|
||||
|
||||
reason: "First offense"
|
||||
|
||||
2:
|
||||
duration: "2h"
|
||||
reason: "Повторное нарушение"
|
||||
|
||||
reason: "Second offense"
|
||||
|
||||
3:
|
||||
duration: "12h"
|
||||
reason: "Третье нарушение"
|
||||
|
||||
reason: "Third offense"
|
||||
|
||||
4:
|
||||
duration: "3d"
|
||||
reason: "Четвертое нарушение"
|
||||
|
||||
reason: "Fourth offense"
|
||||
|
||||
5:
|
||||
duration: "7d"
|
||||
reason: "Пятое нарушение"
|
||||
|
||||
reason: "Fifth offense"
|
||||
|
||||
6:
|
||||
duration: "perm"
|
||||
reason: "Систематические нарушения"
|
||||
reason: "Systematic violations"
|
||||
|
||||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
# │ УВЕДОМЛЕНИЯ │
|
||||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||||
# ── Notifications ──────────────────────────────────────────────────────────────
|
||||
|
||||
notifications:
|
||||
# Уведомлять администраторов о мутах
|
||||
notify-staff: true
|
||||
|
||||
# Право для получения уведомлений
|
||||
staff-permission: "lochat.mute.notify"
|
||||
|
||||
# Публичные уведомления о мутах
|
||||
public-mute: false
|
||||
|
||||
# Публичные уведомления о размутах
|
||||
public-unmute: false
|
||||
|
||||
# Скрытые муты (с флагом -s)
|
||||
|
||||
silent-mute:
|
||||
enabled: true
|
||||
permission: "lochat.mute.silent"
|
||||
notify-permission: "lochat.mute.see-silent"
|
||||
|
||||
# Формат уведомлений
|
||||
formats:
|
||||
mute: "&#FF6B6B{moderator} замутил {player} на {duration}. Причина: {reason}"
|
||||
unmute: "BCB77{moderator} размутил {player}"
|
||||
silent-mute: "&#FFA726[ТИХО] {moderator} замутил {player} на {duration}. Причина: {reason}"
|
||||
auto-mute: "&#FF6B6B[АВТО] {player} замучен на {duration}. Причина: {reason}"
|
||||
|
||||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
# │ ИНТЕГРАЦИИ │
|
||||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||||
formats:
|
||||
mute: "&c{moderator} &7muted &f{player} &7for &f{duration}&7. Reason: &f{reason}"
|
||||
unmute: "&a{moderator} &7unmuted &f{player}"
|
||||
silent-mute: "&6[SILENT] &f{moderator} &7muted &f{player} &7for &f{duration}"
|
||||
auto-mute: "&c[AUTO] &f{player} &7muted for &f{duration}&7. Reason: &f{reason}"
|
||||
|
||||
# ── Integrations ───────────────────────────────────────────────────────────────
|
||||
|
||||
integrations:
|
||||
# LibertyBans
|
||||
libertybans:
|
||||
enabled: false
|
||||
sync-mutes: true
|
||||
|
||||
# AdvancedBan
|
||||
|
||||
advancedban:
|
||||
enabled: false
|
||||
sync-mutes: true
|
||||
|
||||
# LiteBans
|
||||
|
||||
litebans:
|
||||
enabled: false
|
||||
sync-mutes: true
|
||||
|
||||
# Discord уведомления
|
||||
|
||||
discord:
|
||||
enabled: false
|
||||
webhook-url: ""
|
||||
format: "**{moderator}** замутил **{player}** на **{duration}**\nПричина: {reason}"
|
||||
format: "**{moderator}** muted **{player}** for **{duration}**\nReason: {reason}"
|
||||
|
||||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
# │ ХРАНЕНИЕ ДАННЫХ │
|
||||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||||
# ── Storage ────────────────────────────────────────────────────────────────────
|
||||
|
||||
storage:
|
||||
# Тип хранения: file, mysql, sqlite
|
||||
type: "file"
|
||||
|
||||
# Настройки MySQL
|
||||
type: file
|
||||
|
||||
mysql:
|
||||
host: "localhost"
|
||||
port: 3306
|
||||
|
|
@ -292,45 +214,36 @@ storage:
|
|||
username: "root"
|
||||
password: "password"
|
||||
table-prefix: "lochat_"
|
||||
|
||||
# Настройки SQLite
|
||||
|
||||
sqlite:
|
||||
file: "plugins/LoChat/mutes.db"
|
||||
|
||||
# Автоматическая очистка старых записей
|
||||
|
||||
cleanup:
|
||||
enabled: true
|
||||
days: 90 # Удалять записи старше N дней
|
||||
days: 90
|
||||
|
||||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
# │ ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ │
|
||||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||||
# ── Extra Features ─────────────────────────────────────────────────────────────
|
||||
|
||||
features:
|
||||
# Временные муты (автоматически снимаются)
|
||||
temporary-mutes: true
|
||||
|
||||
# IP муты (мутить по IP адресу)
|
||||
|
||||
ip-mutes:
|
||||
enabled: false
|
||||
permission: "lochat.mute.ip"
|
||||
|
||||
# Мут команд (блокировать определенные команды)
|
||||
|
||||
command-mute:
|
||||
enabled: false
|
||||
blocked-commands:
|
||||
- "me"
|
||||
- "say"
|
||||
- "tell"
|
||||
|
||||
# Предупреждения перед мутом
|
||||
|
||||
warnings:
|
||||
enabled: true
|
||||
max-warnings: 3
|
||||
reset-time: 3600 # Сброс предупреждений (секунды)
|
||||
|
||||
# Апелляции на муты
|
||||
reset-time: 3600
|
||||
|
||||
appeals:
|
||||
enabled: false
|
||||
command: "/appeal"
|
||||
permission: "lochat.appeal"
|
||||
permission: "lochat.appeal"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue