Moderation
Zuständig für Auto-Mod, Anti-Nuke, manuelle Moderation, Reports — und den Server-Audit-Logger.
Auto-Mod
Jede Nachricht wird gegen die konfigurierten Filter geprüft (in dieser Reihenfolge — der erste Treffer wendet seine Aktion an: warn · delete · timeout · nothing).
| Check | Was er macht | Default |
|---|---|---|
| antiAd | Discord-Invites blockieren; optional alle URLs (mit Allow-List) | warn + delete |
| antiFlood | Zu viele User-/Rollen-Mentions in einer Nachricht | warn + delete |
| antiCaps | Mehr als N% Großbuchstaben | delete |
| wordFilter | Konfigurierte Wörter (exact / substring) | warn + delete |
| antiRepeat | Gleiche Nachricht N-mal hintereinander | warn + delete |
| antiSpam | N+ Nachrichten in Y Sekunden | warn + delete |
Whitelisting: Rollen in whitelistRoleIds und Channels in whitelistChannelIds sind komplett ausgenommen.
Eskalation: Erreicht ein User einen escalation-Threshold an aktiven Warns, wird die zugehörige Aktion automatisch ausgelöst (höchster passender Threshold gewinnt).
Anti-Nuke
Erkennt koordinierte oder versehentliche Server-Zerstörung in Echtzeit.
Auslöser:
- Massenhafte Channel-Löschungen (Default 3 in 10 Sek)
- Massenhafte Bans (Default 5 in 10 Sek)
- Massenhafte Rollen-Löschungen (Default 3 in 10 Sek)
Reaktion:
- Dem Verursacher werden sofort alle Rollen entzogen
- Im
alert-Channel erscheint eine Benachrichtigung - Die
alert-ping-Rolle wird gepingt (falls konfiguriert)
Mit Double-Fire-Prevention — derselbe Trigger wird nicht zweimal verarbeitet.
Server-Audit-Logger
Der Bot loggt automatisch eine breite Palette an Server-Events in den mod-log-Channel — als strukturierte Embeds mit Kategorie-Badge, Executor (Von:), Target und Details.
| Kategorie | Events |
|---|---|
| Channels | CHANNEL_CREATE · CHANNEL_DELETE · CHANNEL_UPDATE |
| Roles | ROLE_CREATE · ROLE_DELETE · ROLE_UPDATE |
| Members | ROLE_ADD · ROLE_REMOVE · MEMBER_UPDATE · MEMBER_KICK · MEMBER_BAN · MEMBER_UNBAN |
| Profil | NICKNAME_UPDATE · USERNAME_CHANGE · DISPLAY_NAME_CHANGE · AVATAR_CHANGE |
| Sonstige | INVITE_CREATE/DELETE · WEBHOOK_CREATE/DELETE · EMOJI_CREATE/DELETE · MESSAGE_DELETE · MESSAGE_BULK_DELETE |
Channel via channels.mod-log in configs/config.yml setzen — kein zusätzliches Setup.
Punishment-System
Jede Mod-Aktion bekommt eine eindeutige P-#-ID und wird in der Datenbank gespeichert.
- History anzeigen:
/mod history @user - Einzelne Warn deaktivieren:
/mod unwarn <id> - Volle Befehlsliste: Mod-Commands
Neue Punishment-Typen:
- Note (
/mod note) — Staff-Notiz ohne Strafe, taucht in/mod historyauf - Softban (
/mod softban) — Kick + Lösch-Cleanup (Ban+Unban) ohne permanenten Ban
Report-System
/report @User <Grund>
- Cooldown: 5 Min zwischen Reports
- Limit: 3 Reports pro Tag
- Mods/Admins können nicht gemeldet werden
- Staff sieht den Report im konfigurierten
mod-log-Channel - Reporter-Tracker pruned stündlich (kein Memory-Leak mehr)
Konfiguration (Auszug)
# configs/modules/mod.yml
autoMod:
antiSpam:
enabled: true
threshold: 5
windowSeconds: 5
action: "warn"
antiAd:
enabled: true
blockAllUrls: false
allowedDomains: ["youtube.com", "github.com"]
antiCaps:
enabled: true
minLength: 8
percentageThreshold: 70
antiNuke:
enabled: true
channelDeleteThreshold: 3
banThreshold: 5
roleDeleteThreshold: 3
windowSeconds: 10
escalation:
- warns: 3
action: "timeout"
durationMinutes: 10
- warns: 5
action: "kick"
- warns: 7
action: "ban"
reports:
cooldownSeconds: 300
maxPerDay: 3
GrumpyCore Wiki
⚙️ Setup
🔧 Core-Module
🆕 Neue Module
💬 Commands
👥 Staff
GrumpyCore Wiki (English)
⚙️ Setup
🔧 Core Modules
🆕 New Modules
💬 Commands
👥 Staff