Zum Hauptinhalt springen

Erste Schritte

Discord Giveaway Bot

Ein mehrsprachiger Discord Giveaway Bot auf Basis von Discord.js v14, der sich pro Server einstellen lässt und seine Daten in MariaDB (über Prisma) ablegt. Mit neustartsicherem Zeitplaner, Teilnahme per Button, gewichteter Auslosung samt Prüfung der Teilnahmebedingungen und Nachziehen von Gewinnern. Entwickelt und gepflegt von MSK Scripts.

Lizenz: AGPL-3.0 · Node.js 22+ · Discord.js v14

Du willst erst den Überblick? Die Seite Discord Giveaway Bot, kostenlos und neustartsicher auf msk-scripts.de geht die Funktionen, die Befehle und die Tebex-Gutscheine für Gewinner durch.


➕ Zum eigenen Server hinzufügen

Am einfachsten nutzt du die offizielle öffentliche Instanz: kein Hosting, keine Datenbank, keine Einrichtung.

🎉 Giveaway Bot einladen →

Diesen Link bekommst du jederzeit auch in Discord über den Befehl /ginvite.

Sobald der Bot beigetreten ist, eröffnet jemand mit Servermanager-Rechten über /gcreate ein Gewinnspiel. Mitglieder nehmen mit einem einzigen Klick teil, und der Bot lost die Gewinner automatisch aus, sobald die Zeit abgelaufen ist.


✨ Funktionen

FunktionBeschreibung
🎉 Teilnahme per ButtonMitglieder machen mit einem Klick mit, Emoji, Beschriftung und Button-Stil sind frei wählbar
🔁 NeustartsicherDer Zeitplaner arbeitet mit Abfragen, es geht also kein Gewinnspiel verloren, auch nicht nach einem Neustart
🎁 Mehrere PreiseFühre mehrere Preise je Gewinnspiel auf, entweder bekommen alle jeden Preis oder jeder Gewinner seinen eigenen
👥 Gewichtete ZusatzloseGib bestimmten Rollen zusätzliche Lose (bis zu 100), sichtbar in der Gewinnspielnachricht, damit alle davon wissen
🛡️ TeilnahmebedingungenRollen erlauben oder ausschließen, dazu Mindestalter des Kontos und Mindestzugehörigkeit zum Server. Serverweit, und ein einzelnes Gewinnspiel darf eigene Regeln nutzen
⏸️ Pausieren und fortsetzenHalte den Zeitgeber mittendrin an und mach nahtlos dort weiter, wo du aufgehört hast
🗂️ VorlagenSichere jedes Gewinnspiel mit einem Klick als Vorlage, Preise und Bedingungen inklusive, und nutze sie per Befehl oder im Dashboard wieder
✨ NachziehenLose für ein beendetes Gewinnspiel neue Gewinner aus, die Sperrliste wird dabei beachtet
🖥️ Web-DashboardGewinnspiele und Einstellungen vollständig im Browser anlegen und verwalten, mit Discord-Login und ganz ohne Befehle
🏆 Öffentliche ErgebnisseitenJedes beendete Gewinnspiel bekommt eine teilbare Ergebnisseite mit den Gewinnern und der Teilnehmerzahl
🎟️ Tebex-Gutscheine für GewinnerVerbinde deinen eigenen Tebex-Shop, jeder Gewinner bekommt per DM seinen eigenen Einmal-Rabattcode
🌐 MehrsprachigEnglisch, Deutsch, Französisch, Spanisch, Ungarisch, Polnisch und Portugiesisch, je Server wählbar
🎨 Eigenes Design je ServerEigene Embed-Farbe, eigenes Button-Emoji, eigener Button-Stil
📜 PrüfprotokollEin optionaler Log-Kanal hält jedes Ereignis eines Gewinnspiels fest
🧑‍⚖️ Manager-RolleGib die Steuerung der Gewinnspiele weiter, ohne Server verwalten zu vergeben
🔒 Minimale RechteNur der Guilds-Intent und die nötigsten Rechte, kein Zugriff auf Nachrichteninhalte

🔑 Benötigte Rechte

Über den Link oben eingeladen, fragt der Bot genau die Rechte an, die er braucht (Rechte-Zahl 478208):

RechtWofür es gebraucht wird
Kanal ansehenDen Kanal sehen, in dem das Gewinnspiel läuft
Nachrichten sendenDie Gewinnspielnachricht posten
Links einbettenDas Gewinnspiel-Embed darstellen
Nachrichtenverlauf lesenDie eigene Gewinnspielnachricht finden und bearbeiten
Externe Emojis verwendenEin eigenes Button-Emoji ermöglichen
Alle erwähnenDie eingestellte Benachrichtigungsrolle beim Anlegen anpingen

Zur Laufzeit begrenzt allowedMentions die Pings ausdrücklich auf die eingestellte Benachrichtigungsrolle, der Bot pingt niemals @everyone durch.

Der Bot nutzt ausschließlich den Gateway-Intent Guilds. Er braucht keine privilegierten Intents und öffnet keinen eingehenden Port.


🌍 Live-Statistiken

Anonyme, serverübergreifende Statistiken der offiziellen Instanz findest du unter msk-scripts.de/giveaway/stats: Anzahl der Server, Gewinnspiele, Teilnahmen und Gewinner, dazu die Verteilung nach Sprache und Status. Server-IDs, Nutzer-IDs oder andere personenbezogene Daten stehen dort nicht.


🖥 Web-Dashboard

Lieber Browser als Slash-Befehle? Serveradministratoren verwalten alles unter msk-scripts.de/giveaway/dashboard:

  1. Mit Discord anmelden. Du siehst nur Server, auf denen du Server verwalten hast und der Bot vorhanden ist.
  2. Einen Server auswählen.
  3. Gewinnspiele anlegen, bearbeiten, verlängern, pausieren und fortsetzen, beenden, abbrechen und nachziehen, dazu jede Einstellung des Servers ändern.
  4. Vorlagen in einem eigenen Reiter verwalten und beim Anlegen davon ausgehen: Wähle sie über dem Formular aus, und jedes Feld ist gefüllt. Als Vorlage sichern auf einer Gewinnspielkarte macht aus einem gelaufenen Gewinnspiel eine Vorlage.
  5. Die Teilnahmebedingungen setzen: gesperrte und verlangte Rollen sowie Zusatzlose je Rolle, serverweit im Reiter Einstellungen oder für ein einzelnes Gewinnspiel in dessen Formular. Die Felder je Gewinnspiel starten als Kopie der Servereinstellungen und gelten an deren Stelle, du kannst eine serverweite Regel für ein einzelnes Gewinnspiel also aufheben.

Im Dashboard stecken auch die beiden Dinge, für die es keinen Slash-Befehl gibt: die Einstellungen zum Gewinner-Gutschein eines Gewinnspiels und der Reiter Tebex-Shop, den nur der Serverinhaber sieht.

Im Hintergrund reicht das Dashboard jede Aktion über einen privaten, serverinternen Kanal an den laufenden Bot weiter. Discord-Nachricht, Button, Gewinner-DMs und Prüfprotokoll bleiben dadurch genau im Gleichtakt, so als hättest du die Slash-Befehle benutzt. Alles, was du im Dashboard tust, landet weiterhin in deinem Log-Kanal.


🏆 Öffentliche Ergebnisseiten

Endet ein Gewinnspiel, veröffentlicht der Bot eine aufgeräumte, teilbare Ergebnisseite unter msk-scripts.de/giveaway/g/<token>, verlinkt automatisch in der Ergebnisnachricht und in den Gewinner-DMs. Sie zeigt Titel und Preis des Gewinnspiels, die Gewinner und die Zahl der Teilnehmer. Gab es einen Preis je Gewinner, steht bei jedem Gewinner dabei, was er gewonnen hat. Die vollständige Teilnehmerliste wird aus Datenschutzgründen nie veröffentlicht. Entfernst du den Bot von deinem Server, verschwindet die Seite automatisch.


🎟️ Tebex-Gutscheine für Gewinner

Du betreibst einen Tebex-Shop? Dann bekommen Gewinner automatisch einen persönlichen Einmal-Rabattcode für deinen eigenen Shop, nicht für unseren. Der Serverinhaber verbindet den Shop einmalig im Dashboard, danach kann jedes Gewinnspiel einen Rabattprozentsatz, wahlweise eine Einschränkung auf bestimmte Pakete und wahlweise eine Gültigkeitsdauer mitbringen.

Der Code kommt zusammen mit dem Preis per DM und taucht weder in der öffentlichen Ergebnisnachricht noch auf der Ergebnisseite auf. Wird nachgezogen, verfällt der Code des ersetzten Gewinners, bevor der neue ausgestellt wird.

Weil ein Tebex-Plugin-Secret vollen Zugriff auf einen Shop gibt, darf nur der Serverinhaber einen Shop verbinden, und der Schlüssel liegt verschlüsselt. Die vollständige Einrichtung steht in der Konfiguration.


🔒 Selbst hosten

Eine eigene Kopie dieses Bots zu betreiben, wird weder unterstützt noch empfohlen. Der Quellcode ist offen, damit nachvollziehbar ist, wie sich der Bot verhält, und damit andere Entwickler daraus lernen können. Er ist kein fertiges Produkt zum Weiterbetreiben. Für das Installieren, Anpassen oder Bauen einer eigenen Instanz gibt es keinen Support.

Lade stattdessen einfach die offizielle Instanz ein.


📝 Lizenz

AGPL-3.0. Der Quellcode muss offen bleiben und bei Weitergabe oder beim Hosten unter derselben Lizenz veröffentlicht werden.