3 GrumpyWelcome
darksoon edited this page 2026-05-05 21:24:01 +02:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Welcome

Zuständig für Willkommens- und Leave-Nachrichten, Verifizierung mit CAPTCHA und Raid-Schutz.


Modi: Banner · Embed · Text

Sowohl Join (Willkommens-) als auch Leave-Nachrichten unterstützen drei Modi mit identischem Schema:

Modus Beschreibung
banner (Default) Canvas-gerendertes Bild (900×300), eigene Farben, optionaler Background
embed Voll konfigurierbarer Discord-Embed (Author, Thumbnail, Footer, Fields, Timestamp)
text Einfacher Text-Post

In configs/modules/welcome.yml:

join:
  enabled: true
  mode: banner            # banner | embed | text
  channel: "CHANNEL_ID"
  banner:
    backgroundColor: "#1a1a2e"
    accentColor: "#ff6b35"
    textColor: "#ffffff"
    backgroundUrl: ""     # Optional: eigenes Hintergrundbild (https://...)
                          # Cover-fit — beliebiges Seitenverhältnis funktioniert

leave:
  enabled: true
  mode: banner            # banner | embed | text
  channel: "CHANNEL_ID"
  banner:
    subText: "Auf Wiedersehen!"
    backgroundColor: "#2a1010"
    accentColor: "#ff3333"
    textColor: "#ffffff"

Banner-Default-Größe ist 900×300. Eigene Hintergrundbilder werden mit Cover-Fit eingepasst — das Seitenverhältnis muss nicht passen.


Verifizierung

Ablauf:

  1. Neuer Member joined → bekommt unverified-Rolle (sieht nur #verify)
  2. Bot pingt ihn kurz in #verify (löscht sich nach 10 Sek)
  3. User klickt 📋 Verifizieren
  4. Bot schickt CAPTCHA per DM (Matheaufgabe oder Image-CAPTCHA)
  5. Richtig → unverified weg, member-Rolle drauf

Bei gesperrten DMs: Bot zeigt Anleitung wie man DMs aktiviert.

3 Fehlversuche → User wird automatisch gekickt.

Verify-Panel mit voller Embed-Schema-Parität

Das Verify-Panel ist kein einfacher Title/Description-Embed mehr — es unterstützt das volle Embed-Schema:

verification:
  enabled: true
  channelId: "CHANNEL_ID"
  embed:
    title: "Verifizierung"
    description: |
      Willkommen auf dem Server! Bitte verifiziere dich:
      1. Klicke unten auf **Verifizieren**
      2. Du erhältst per DM eine CAPTCHA
      3. Antworte mit der Lösung
    color: "#5865F2"
    author:
      name: "Minetechworld"
      iconUrl: "https://..."
    thumbnail: "https://..."
    footer:
      text: "GrumpyCore"
      iconUrl: "https://..."
    timestamp: false
    fields: []
  buttonLabel: "Verifizieren"
  buttonEmoji: "📋"

Auto-Deployment

Beim Bot-Start wird das Verify-Panel automatisch in den konfigurierten Channel gepostet. Der Bot trackt die Message-ID in der DB (WelcomeState). Wird das Panel manuell gelöscht, postet der Bot beim nächsten Start ein neues. Manuell neu posten: /welcome setup-verify.


Anti-Alt-Account-Check

Neue Member werden auf verdächtig junges Account-Alter geprüft. Accounts unter dem Minimum werden gekickt und erhalten eine DM mit Hinweis.

verification:
  minAccountAgeDays: 7    # 0 = deaktiviert

Raid-Schutz

Bei einem Massen-Join erkennt das Modul die ungewöhnliche Aktivität.

raidProtection:
  enabled: true
  joinThreshold: 10       # Joins für Alert
  windowSeconds: 10       # Zeitfenster
  action: "kick"          # "kick" oder "alert"

Lockdown manuell beenden: /welcome clear-lockdown.


Preview-Commands

Command Funktion
/welcome preview Eigenen Welcome-Banner / Embed / Text
/welcome preview-leave Zufällige Leave-Nachricht mit eigenem Namen
/welcome preview-verify Verify-Embed + Button
/welcome preview-captcha Beispiel-Image-CAPTCHA mit Auflösung

Berechtigung: Server verwalten

→ Siehe auch Preview-Commands