Raid-Schutz: erkennt Beitritts-Wellen und sperrt voruebergehend
Neues Modul anti_raid, standardmaessig AUS. Zaehlt Beitritte in einem Zeitfenster; reisst es, geht der Server dicht: Verifizierung auf Hoch, Einladungen gesperrt, DM an den Owner und Eintrag ins Protokoll. Bewusst zurueckhaltend — es wird niemand gekickt oder gebannt. Bei einem Fehlalarm, etwa nach einem Stream-Shoutout, waere ein Massenkick schlimmer als der Raid. Beide Massnahmen sind reversibel und treffen niemanden, der schon drin ist. Der Sperrzustand liegt in den Einstellungen, nicht nur im Speicher: startet der Bot mitten in einer Sperre neu, waere der Timer sonst weg und der Server bliebe fuer immer dicht. Beim Start wird die Restzeit abgesessen oder, wenn laengst abgelaufen, sofort aufgehoben. Drei Werte im Panel: Schwelle (8), Fenster (20 s), Sperrdauer (15 min). disableInvites() gibt es erst ab discord.js 14.4 und nur mit ManageGuild — beides wird geprueft, statt im Ernstfall einen Fehler zu werfen. Die Fenster-Logik ist als reine Funktion herausgezogen und mit neun Faellen geprueft: langsame Beitritte loesen nicht aus, die Welle schon, der Rand des Zeitfensters zaehlt nicht mehr mit, und nach Ruhe faengt das Fenster von vorn. Offen: ein Befehl zum sofortigen Aufheben. Bis dahin laeuft die Sperre aus oder man setzt die Verifizierung in Discord selbst zurueck. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -278,6 +278,8 @@ export default {
|
||||
|
||||
'feat.moderation': 'Moderation',
|
||||
'feat.moderation.desc': 'Warnings, timeouts, cleanup — with history and a log.',
|
||||
'feat.anti_raid': 'Raid protection',
|
||||
'feat.anti_raid.desc': 'Spots waves of joins and locks the server down for a while.',
|
||||
'feat.modlog': 'Audit log',
|
||||
'feat.modlog.desc': 'Deleted and edited messages, joins, name and role changes.',
|
||||
'feat.modmail': 'Modmail',
|
||||
|
||||
@@ -19,7 +19,7 @@ export const MODULE_ICONS = {
|
||||
voting: IconThumbsUp, giveaways: IconGiveaway, birthdays: IconBirthday,
|
||||
events: IconEvents, playtester: IconGame, alpha_keys: IconKey,
|
||||
role_menus: IconRoles, applications: IconApplications,
|
||||
moderation: IconShield, modlog: IconArchive, modmail: IconMail,
|
||||
moderation: IconShield, anti_raid: IconLock, modlog: IconArchive, modmail: IconMail,
|
||||
tickets: IconSupport, welcome: IconMagic, autorole: IconTeam,
|
||||
sticky_roles: IconRefresh, bug_reports: IconWarning,
|
||||
server_monitor: IconServer, watchdog: IconMonitor, temp_voice: IconVoice,
|
||||
|
||||
Reference in New Issue
Block a user