FunktionenPremium 1
Bot-API
Zeige die Daten deines Servers auf deiner eigenen Website
Erstelle in deinem Dashboard einen geheimen Token, und deine Website oder deine Tools können aktuelle Fakten über deinen Server lesen: die Level-Rangliste, laufende Gewinnspiele, Ticketzahlen, den Status deines Spielservers und deine Shop-Produkte. Der Token liest nur. Nichts davon kann deinen Server verändern, und Mitglieder, die widersprochen haben, bleiben immer anonym.
bot-api
Keine Discord-Nachricht
Die Bot-API läuft über dein Dashboard und deine eigene Website. Es wird nichts in Discord gepostet.
So funktioniert's
In wenigen Minuten startklar
- 01
Token erstellen
Dashboard, Verwaltung, Bot-API: Gib ihm einen Namen, hake an, was er lesen darf, und kopiere ihn. Er wird nur einmal angezeigt.
- 02
Halte ihn geheim
Speichere ihn wie ein Passwort auf deinem eigenen Server. Verwende pro Website oder Tool einen eigenen Token.
- 03
Deine Daten abrufen
Deine Website sendet den Token in einem Authorization-Header und bekommt deine Daten als JSON zurück.
- 04
Jederzeit widerrufen
Klicke auf der Seite Bot-API auf Widerrufen, und der Token funktioniert sofort nicht mehr.
Was du bauen kannst
Mit der Bot-API können deine eigene Website oder deine Tools aktuelle Fakten über deinen Discord-Server lesen. Sie liest nur. Nichts, was du damit baust, kann deinen Server verändern oder deine Mitglieder anrühren. Hier sind ein paar Ideen, die man an einem Nachmittag umsetzen kann.
- Ein Ranglisten-WidgetZeige die 10 besten Überlebenden nach Level auf der Website deiner Community.
- Ein Gewinnspiel-CountdownZeige das laufende Gewinnspiel, den Preis und das Ende auf deiner Startseite.
- TicketzahlenZeige, wie viele Tickets offen sind und wie schnell dein Team antwortet, für ein Team-Dashboard oder ein Banner wie „Wir antworten in etwa 10 Minuten“.
- Ein Status-BadgeZeige, ob dein Spielserver online ist und wie viele Spieler darauf sind.
- Eine Produktliste des ShopsListe die Produkte deines Spenden-Shops mit Preisen auf deiner eigenen Seite auf und verlinke direkt zur Kasse.
Du programmierst nicht selbst? Schick diese Seite an die Person, die deine Website betreut. Sie weiß, was zu tun ist.
Schritt für Schritt: Token erstellen
Ein Token ist ein langes geheimes Passwort, mit dem eine Website oder ein Tool deinen Server lesen darf. Du erstellst ihn in deinem Dashboard.
- 01
Seite Bot-API öffnen
Melde dich auf dayzhub.net an, öffne dein Dashboard, wähle deinen Server und klicke im Seitenmenü unter Verwaltung auf Bot-API. Nur Personen mit der Berechtigung Server verwalten sehen sie. Mitglieder mit Teamzugriff nicht.
- 02
Name vergeben
Gib einen kurzen Namen ein, der dir sagt, wofür er gedacht ist, zum Beispiel „Website-Rangliste“. Verwende pro Website oder Tool einen eigenen Token.
- 03
Wähle, was er lesen darf
Hake die Kästchen für die Daten an, die du brauchst, etwa Gewinnspiele oder die Level-Rangliste. Weniger Kästchen sind sicherer. Du kannst später jederzeit einen weiteren Token erstellen.
- 04
Erlaubte Website (nur manchmal)
Lass das Feld leer, außer eine Webseite ruft die API direkt im Browser deiner Besucher auf. Dann gib die Adresse deiner Seite genau so ein, wie https://deineseite.com, ohne Pfad am Ende.
- 05
Auf Token erstellen klicken und ihn kopieren
Ein Fenster mit deinem Token erscheint, der mit dhba_ beginnt. Klicke auf Kopieren und füge ihn sofort an einem sicheren Ort ein. Er wird nur einmal angezeigt. Wenn du ihn verlierst, erstellst du einen neuen.
- 06
Halte ihn geheim
Behandle den Token wie ein Passwort. Poste ihn nicht in Discord, lege ihn nicht in ein öffentliches GitHub-Projekt und füge ihn nicht in eine Webseite ein, die Besucher lesen können. Bewahre ihn auf deinem eigenen Server oder in einem Passwortmanager auf.
Deine erste Anfrage
Prüfen wir, ob dein Token funktioniert. Du brauchst zwei Dinge: den Token, den du gerade kopiert hast, und deine Server-ID (aktiviere in Discord in den Einstellungen den Entwicklermodus, klicke dann mit der rechten Maustaste auf deinen Server und wähle Server-ID kopieren). Der erste Aufruf unten braucht nur den Token.
Ersetze in jedem Beispiel dhba_YOUR_TOKEN durch deinen echten Token. Jedes Beispiel sendet den Token in einem Header namens Authorization. Ihn in die Webadresse zu schreiben funktioniert nicht.
Windows PowerShell (use curl.exe with the .exe, plain curl means something else in PowerShell)
curl.exe -H "Authorization: Bearer dhba_YOUR_TOKEN" https://dayzhub.net/api/v1/bot/me
curl (macOS, Linux and most hosting)
curl -H "Authorization: Bearer dhba_YOUR_TOKEN" https://dayzhub.net/api/v1/bot/me
JavaScript on your own server (Node 18 or newer). Keep the token in an environment variable.
const res = await fetch("https://dayzhub.net/api/v1/bot/guilds/YOUR_SERVER_ID/giveaways?status=active", {
headers: { Authorization: "Bearer " + process.env.DAYZHUB_BOT_API_TOKEN }
});
const { ok, data } = await res.json();
console.log(data);JavaScript in a visitor's browser (needs the Allowed website setting on the token, and shows the token to everyone, so use a token with the fewest boxes ticked)
fetch("https://dayzhub.net/api/v1/bot/guilds/YOUR_SERVER_ID/leaderboard/levels?limit=10", {
headers: { Authorization: "Bearer dhba_YOUR_TOKEN" }
}).then(r => r.json()).then(j => console.log(j.data));
Eine Seite, die im Browser eines Besuchers läuft, kann von diesem Besucher gelesen werden, samt Token. Die API von deinem eigenen Server aus aufzurufen ist der sichere Weg. Aufrufe aus dem Browser sind nur für Token gedacht, die harmlose öffentliche Fakten lesen.
Was zurückkommt
Jede Antwort ist JSON. Erfolgreiche Antworten enthalten "ok": true und deine Daten. Listen kommen mit einem Teil "page": Wenn "hasMore" true ist, sende den Wert von "nextCursor" als ?cursor= zurück, um die nächste Seite zu holen. Datumsangaben sind in UTC.
GET /me: who the token belongs to
{
"ok": true,
"data": {
"guildId": "123456789012345678",
"name": "Website leaderboard",
"prefix": "dhba_aB3dE",
"scopes": ["leveling:read", "giveaways:read"],
"allowedOrigin": null,
"rateLimitPerMin": 60,
"createdAt": "2026-10-01T12:00:00.000Z",
"plan": "premium1",
"limits": { "tokens": 2, "perMinute": 60 },
"tokensUsed": 1
}
}GET /guilds/ID/leaderboard/levels?limit=2
{
"ok": true,
"data": [
{ "rank": 1, "member": { "id": "111111111111111111", "anonymous": false }, "xp": 18450, "level": 27 },
{ "rank": 2, "member": { "id": null, "anonymous": true }, "xp": 17020, "level": 26 }
],
"page": { "limit": 2, "hasMore": true, "nextCursor": "eyJpZCI6IjY..." }
}GET /guilds/ID/giveaways?status=active
{
"ok": true,
"data": [{
"id": "6650f0c2a1b2c3d4e5f60718",
"prize": "Premium VIP for 30 days",
"status": "active",
"type": "reaction",
"winnerCount": 1,
"entryCount": 86,
"endsAt": "2026-10-08T18:00:00.000Z",
"requirements": { "role": false, "verified": true, "minInvites": 0 },
"host": { "id": "111111111111111111", "anonymous": false },
"winners": []
}],
"page": { "limit": 25, "hasMore": false, "nextCursor": null }
}GET /guilds/ID/tickets/summary
{
"ok": true,
"data": {
"open": 4,
"closed": 212,
"total": 216,
"last30Days": { "created": 38, "closed": 41, "averageRating": 4.7, "ratingCount": 29, "averageFirstResponseMinutes": 9.5 },
"byCategory": [ { "category": "Support", "open": 3, "closed": 150 } ]
}
}GET /guilds/ID/shop/products
{
"ok": true,
"shop": { "name": "Survivor HQ Shop", "description": "Support the server", "slug": "survivor-hq", "url": "https://dayzhub.net/shop/survivor-hq" },
"data": [{
"id": "6650f0c2a1b2c3d4e5f60999", "name": "VIP Role", "slug": "vip-role", "description": "Priority queue and a gold name",
"price": 9.99, "compareAtPrice": null, "currency": "EUR", "type": "subscription", "interval": "monthly",
"thumbnailUrl": null, "featured": true, "inStock": true, "url": "https://dayzhub.net/shop/survivor-hq/vip-role"
}],
"page": { "limit": 25, "hasMore": false, "nextCursor": null }
}GET /guilds/ID/server-status
{
"ok": true,
"data": {
"listed": true,
"servers": [{ "name": "Survivor HQ", "slug": "survivor-hq", "url": "https://dayzhub.net/s/survivor-hq", "online": true, "players": 42, "maxPlayers": 60, "address": "game.yourserver.gg:2302", "lastChangeAt": "2026-10-01T09:30:00.000Z" }]
}
}When something is wrong, for example a mixed-up server ID (HTTP 403)
{ "ok": false, "error": "guild_mismatch", "code": "guild_mismatch", "message": "This token belongs to another server", "requestId": "3f2b8c1e-5a7d-4e0b-9c64-1d2e3f4a5b6c" }
Die vollständige Liste der Endpunkte und aller Felder findest du in der maschinenlesbaren Beschreibung unter /api/v1/bot/openapi.json. Jede Antwort trägt den Header X-Request-Id, und Fehler wiederholen ihn als requestId. Nenne ihn, wenn du den Support kontaktierst.
Limits, Pläne und Datenschutz
- Nur lesendEs gibt keine Schaltflächen, die etwas ändern. Es werden nur GET-Anfragen beantwortet.
- PläneDein Server braucht einen bezahlten Plan oder eine aktive kostenlose Testphase. Gewinnspieldaten brauchen Premium 2. Die Shop-Liste braucht echten bezahlten Zugang, denn die kostenlose Testphase enthält den Spenden-Shop nicht.
- Wie viele Token du haben kannstPremium 1 enthält 2 aktive Token, Premium 2 enthält 5 und Premium 3 enthält 10. Eine kostenlose Testphase oder ein gesponserter Server zählt als Premium 1. Widerrufe die, die du nicht mehr brauchst, um Platz zu schaffen. Sinkt dein Plan, funktionieren die Token, die du schon hast, weiter. Du kannst nur keine neuen erstellen, bis du unter dem Limit bist.
- GeschwindigkeitslimitsJeder Token darf bei Premium 1 60 Anfragen pro Minute stellen, bei Premium 2 120 und bei Premium 3 300, und eine Internetadresse 300 pro Minute. Darüber gibt es eine 429-Antwort mit einem Retry-After-Header, der sagt, wie viele Sekunden du warten sollst.
- Rücksichtsvoll abfragenDie Antworten enthalten einen ETag. Sende ihn in einem If-None-Match-Header zurück, und wenn sich nichts geändert hat, bekommst du eine winzige 304-Antwort statt aller Daten. Alle 30 bis 60 Sekunden zu fragen reicht völlig, und die meisten Widgets können seltener fragen.
- Was nie geteilt wirdTicket-Protokolle und Nachrichten, Bewerbungen und ihre Antworten, Zahlungen und Bestellungen, E-Mail-Adressen, Namen und Avatare sowie die Personen, die an einem Gewinnspiel teilgenommen haben. Du bekommst immer nur Zahlen, dazu numerische Discord-IDs dort, wo die Funktion Personen in Discord ohnehin öffentlich zeigt, etwa bei einem Gewinnspiel-Host oder der Level-Rangliste.
- Mitglieder, die widersprochen habenWer /privacy optout genutzt hat, erscheint immer als anonym (eine id von null). Rang und Zahlen zählen trotzdem mit, sodass die Summen stimmen.
Fehlerbehebung
| Was du siehst | Warum es passiert | So behebst du es |
|---|---|---|
| 401 unauthorized oder invalid_token | Der Token fehlt, ist falsch getippt, abgeschnitten oder wurde widerrufen. | Kopiere ihn erneut vollständig, mit dem Anfang dhba_, und sende ihn als Authorization: Bearer TOKEN. Wenn er widerrufen wurde, erstelle einen neuen. |
| 403 guild_mismatch | Die Server-ID in der Adresse gehört nicht zu dem Server, zu dem der Token gehört. | Rufe /me auf, um die richtige guildId zu sehen, und verwende diese. |
| 403 missing_scope | Der Token durfte diese Art von Daten nicht lesen. | Erstelle einen neuen Token mit dem passenden angehakten Kästchen. |
| 403 feature_not_in_plan | Diese Funktion gehört nicht zum Plan deines Servers, zum Beispiel Gewinnspiele ohne Premium 2. | Upgrade den Plan oder lass diese Daten weg. |
| 403 plan_required | Der Server hat keinen bezahlten Plan und keine aktive kostenlose Testphase. | Starte einen Plan unter Abrechnung. Die API funktioniert sofort wieder. |
| 403 origin_not_allowed | Eine Webseite auf einer anderen Website hat versucht, den Token zu nutzen. | Trage die genaue Website beim Token als Erlaubte Website ein (https://deineseite.com) oder rufe stattdessen von deinem eigenen Server aus auf. |
| Der Browser meldet einen CORS-Fehler | Der Token hat keine Erlaubte Website, deshalb dürfen Browser ihn nicht aufrufen. | Erstelle einen Token mit deiner Seite im Feld Erlaubte Website oder verlege den Aufruf auf deinen Server. |
| 404 shop_not_enabled | Dein Spenden-Shop ist nicht eingeschaltet. | Schalte den Shop in deinem Dashboard ein. |
| 429 rate_limited | Zu viele Anfragen in einer Minute. | Warte die Anzahl Sekunden aus dem Retry-After-Header ab und frage dann seltener. Nutze ETag und 304-Antworten. |
| PowerShell zeigt bei curl einen seltsamen Fehler | In PowerShell ist curl ein anderer Befehl. | Tippe curl.exe statt curl. |
| 503 unavailable | Ein kurzer Aussetzer auf unserer Seite. Die API sendet nie halbe Antworten. | Versuche es in einer Minute erneut. |
Token widerrufen und austauschen
Tu das sofort, wenn ein Token versehentlich weitergegeben oder öffentlich gepostet wurde oder wenn jemand, der ihn kannte, dein Team verlassen hat.
- 01
Zuerst den neuen Token erstellen
Erstelle auf der Seite Bot-API einen Ersatz mit denselben Einstellungen und kopiere ihn.
- 02
Website oder Tool umstellen
Trage den neuen Token überall ein, wo der alte verwendet wurde, und prüfe, ob alles noch funktioniert.
- 03
Den alten widerrufen
Klicke in der Liste deiner Token beim alten auf Widerrufen und bestätige. Er funktioniert sofort nicht mehr, und alles, was ihn noch nutzt, bekommt eine 401. Erstellen und Widerrufen werden in das Audit-Log deines Servers geschrieben, nie der Token selbst.
Fragen, die Leute stellen
Kann die API etwas auf meinem Server ändern?
Nein. Sie ist nur lesend, und man kann einem Token keine weitergehenden Rechte geben.
Ich habe meinen Token verloren. Könnt ihr ihn nochmal anzeigen?
Nein. Wir speichern nur einen Fingerabdruck davon, er kann also nicht erneut angezeigt werden. Widerrufe ihn und erstelle einen neuen.
Kann ich einen Token für mehrere Server nutzen?
Nein. Ein Token gehört zu einem Server und kann nur diesen lesen. Erstelle Token im Dashboard jedes Servers.
Muss ich programmieren können?
Für ein Widget ja, oder frage die Person, die deine Website macht. Der Teil im Dashboard dauert zwei Minuten.
Kann ich über die API sehen, wer an meinem Gewinnspiel teilgenommen hat?
Nein. Du bekommst die Anzahl der Teilnahmen und die Gewinner als Discord-IDs, nie die Liste der Teilnehmer.
Warum wird ein Mitglied als anonym angezeigt?
Es hat der Datenverarbeitung mit /privacy optout widersprochen. Das respektieren wir überall, auch hier.
Funktioniert die kostenlose Testphase?
Ja, während einer aktiven Testphase kannst du Token erstellen und die Funktionen lesen, die die Testphase enthält. Der Spenden-Shop gehört nicht zur Testphase.
Warum kann ich keinen weiteren Token erstellen?
Jeder Plan hat ein Limit: 2 aktive Token bei Premium 1, 5 bei Premium 2 und 10 bei Premium 3. Widerrufe einen Token, den du nicht mehr brauchst, oder erhöhe deinen Plan. Die Bot-API-Seite zeigt, wie viele du verwendet hast.
Was passiert mit meinem Token, wenn mein Plan endet?
Er bleibt bestehen, antwortet aber mit 403 plan_required, bis du wieder einen Plan oder eine Testphase hast. Nichts wird gelöscht.
Live-Vorschau
So sieht es in Discord aus
Genau das schaltet Premium 3 frei — so, wie es auf deinem Server erscheint.
Premium 3€6.99 / Monat
bot-api
Keine Discord-Nachricht
Die Bot-API läuft über dein Dashboard und deine eigene Website. Es wird nichts in Discord gepostet.
- Alles aus Premium 2
- Bis zu 10 aktive Token pro Server
- 300 Anfragen pro Minute und Token
Pläne
Das bekommst du
Jede Stufe enthält, was aufgelistet ist. Jederzeit upgraden — deine Einstellungen bleiben erhalten.
€2.99/ Monat
🎁 Premium 1 enthält eine 7-tägige kostenlose Testphase (Spenden-Shop und Gratis-Mods werden mit dem Abo freigeschaltet)
- Nur lesender Zugriff auf deine eigenen Serverdaten
- Bis zu 2 aktive Token pro Server
- Level-Rangliste, Ticket-Zusammenfassung, Vorschlags-Zusammenfassung, Spielserver-Status
- 60 Anfragen pro Minute und Token
- Funktioniert während der kostenlosen Testphase
€4.99/ Monat
- Alles aus Premium 1
- Bis zu 5 aktive Token pro Server
- 120 Anfragen pro Minute und Token
- Gewinnspieldaten (laufende und beendete Gewinnspiele)
€6.99/ Monat
- Alles aus Premium 2
- Bis zu 10 aktive Token pro Server
- 300 Anfragen pro Minute und Token
🔌 Bot-API
Zeige die Daten deines Servers auf deiner eigenen Website
Füge DayZ Hub mit Premium 1 zu deinem Server hinzu und steig auf, wenn du bereit für mehr bist.