1 GrumpyGiveaways
darksoon edited this page 2026-07-11 01:05: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.

Giveaways — Verlosungen mit Buttons

GrumpyGiveaways startet zeitlich befristete Verlosungen mit einem Teilnehmen-Button, zieht automatisch Gewinner bei Ablauf und erlaubt manuelles Beenden sowie Neu-Auslosung.


Aktivierung

In configs/config.yml:

addons:
  giveaways: true   # Standard: true

Kein eigenes configs/modules/giveaways.yml — das Modul hat keine YAML-Konfigurationsdatei. Alle Daten (aktive/beendete Giveaways, Teilnahmen) werden ausschließlich in der Datenbank gespeichert.


Commands

Alle Subcommands benötigen die Berechtigung Manage Guild (Server verwalten).

/giveaway start <duration> <prize> [winners] [required-role] [channel]

Startet eine neue Verlosung.

Option Pflicht Beschreibung
duration ja Laufzeit, z.B. 30m, 1h, 3d (Einheiten: s, m, h, d, auch kombinierbar wie 1h30m)
prize ja Was verlost wird (max. 256 Zeichen)
winners nein Anzahl Gewinner, 120 (Standard: 1)
required-role nein Rolle, die zum Teilnehmen benötigt wird
channel nein Zielkanal (Text oder Announcement) — Standard: aktueller Kanal
/giveaway start duration:1h prize:Discord Nitro
/giveaway start duration:3d prize:Steam-Key winners:3 required-role:@Booster channel:#giveaways

/giveaway end <id>

Beendet eine laufende Verlosung sofort und zieht die Gewinner.

/giveaway end id:<Giveaway wählen via Autovervollständigung>

Die id-Option hat Autovervollständigung — sie listet aktive Giveaways nach Preis-Name durchsuchbar.


/giveaway reroll <id>

Zieht für eine bereits beendete Verlosung neue Gewinner aus demselben Teilnehmerpool (schließt vorherige Gewinner nicht aus).

/giveaway reroll id:<beendetes Giveaway wählen>

Die id-Option listet hier per Autovervollständigung die zuletzt beendeten Giveaways (bis zu 25).


/giveaway list

Listet alle laufenden Verlosungen des Servers mit Preis, Kanal, Ablaufzeit (relativ) und Kurz-ID.

/giveaway list

Teilnahme per Button

Jede Giveaway-Nachricht hat einen 🎉 Teilnehmen-Button:

  • Klick an-/abmelden: Ein erneuter Klick meldet wieder ab (Toggle) — kein zweiter Command nötig.
  • Ist eine required-role gesetzt, wird sie beim Klick geprüft; fehlt sie, gibt's eine ephemere Fehlermeldung statt Eintragung.
  • Nach Ablauf der Verlosung ist der Button deaktiviert und ein Klick auf eine bereits beendete Verlosung wird abgewiesen.
  • Alle Antworten auf den Button sind ephemer (nur für den Klickenden sichtbar).

Ablauf & Auslosung

  • Ein Hintergrund-Job prüft alle 30 Sekunden, ob Giveaways fällig sind (Ablaufzeit erreicht).
  • Bei Ablauf wird die Original-Nachricht editiert (Embed-Status → „beendet", Button deaktiviert) und eine Ergebnis-Nachricht mit den Gewinnern gepostet (inkl. Mention-Ping).
  • Auslosung: Gewinner werden zufällig aus allen Teilnehmern gezogen, ohne Zurücklegen. Gibt es weniger Teilnehmer als winners verlangt, werden entsprechend weniger (oder gar keine) Gewinner gezogen.
  • /giveaway end funktioniert identisch, nur manuell ausgelöst und sofort — nützlich um eine Verlosung vorzeitig zu beenden.
  • /giveaway reroll zieht aus demselben Teilnehmerpool erneut — Vorsicht: bereits gezogene Gewinner können erneut gezogen werden, sie werden nicht ausgeschlossen.
  • Beendete Giveaways bleiben in der Datenbank erhalten (für /giveaway reroll-Autovervollständigung) und sind nicht löschbar über Commands.

Embed-Anzeige

Das Giveaway-Embed zeigt:

Feld Inhalt
Titel 🎉 + Preis
Gewinner Anzahl der zu ziehenden Gewinner
Teilnehmer Aktuelle Teilnehmerzahl (live)
Gastgeber Wer die Verlosung gestartet hat
Benötigte Rolle Nur sichtbar, wenn eine required-role gesetzt ist
Fußzeile / Timestamp Ablaufzeit relativ (aktiv) bzw. „Giveaway beendet"

Farbe: grün (aktiv) → grau (beendet).