DayzHUBDiscord

功能Premium 1

機器人 API

在你自己的網站上展示伺服器資料

在控制面板中建立一個祕密權杖,你的網站或工具就能讀取伺服器的即時資料:等級排行榜、進行中的抽獎、客服單數量、遊戲伺服器狀態和商店商品。它只能讀取。任何操作都無法變更你的伺服器,選擇退出資料處理的成員也一律保持匿名。

bot-api

🚫

不在 Discord 發送訊息

機器人 API 透過你的控制面板和你自己的網站運作。不會在 Discord 中發布任何內容。

運作方式

幾分鐘就能上手

  1. 01

    建立權杖

    控制面板,管理,機器人 API:幫它取個名字,勾選它可以讀取的內容,然後複製。它只顯示一次。

  2. 02

    請保密

    像密碼一樣把它存放在你自己的伺服器上。每個網站或工具使用一個權杖。

  3. 03

    請求你的資料

    你的網站在 Authorization 標頭中傳送權杖,並以 JSON 格式取回你的資料。

  4. 04

    隨時撤銷

    在機器人 API 頁面點擊「撤銷」,權杖會立即失效。

你可以做什麼

機器人 API 讓你自己的網站或工具讀取 Discord 伺服器的即時資料。它只能讀取。你建置的任何東西都無法變更伺服器或影響成員。以下是一些人們一個下午就能做好的點子。

  • 排行榜小工具在你的社群網站上展示等級前 10 名的倖存者。
  • 抽獎倒數計時把正在進行的抽獎、獎品和結束時間放在你的首頁。
  • 客服單數量顯示有多少客服單處於開啟狀態以及團隊的回覆速度,可用於管理員儀表板,或「我們大約 10 分鐘內回覆」的橫幅。
  • 狀態徽章顯示你的遊戲伺服器是否在線以及有多少玩家。
  • 商店商品清單在你自己的網站上列出贊助商店的商品和價格,並直接連結到結帳頁面。

自己不會寫程式?把這個頁面傳給負責你網站的人,他們會知道怎麼做。

逐步操作:建立你的權杖

權杖是一長串祕密密碼,讓一個網站或工具可以讀取你的伺服器。你在控制面板中建立它。

  1. 01

    開啟機器人 API 頁面

    登入 dayzhub.net,開啟控制面板,選擇你的伺服器,在側邊選單的「管理」區塊點擊機器人 API。只有擁有「管理伺服器」權限的人才看得到。團隊存取成員看不到。

  2. 02

    幫它取個名字

    輸入一個簡短的名稱,說明它的用途,例如「網站排行榜」。每個網站或工具使用一個權杖。

  3. 03

    選擇它可以讀取的內容

    勾選你需要的資料,例如抽獎或等級排行榜。勾選越少越安全。之後隨時可以再建立另一個權杖。

  4. 04

    允許的網站(僅在需要時)

    保持空白,除非訪客瀏覽器中的網頁要直接呼叫 API。那種情況下請準確填寫你的網站位址,例如 https://yoursite.com,結尾不含路徑。

  5. 05

    點擊「建立權杖」並複製

    會出現一個顯示你的權杖的方框,權杖以 dhba_ 開頭。點擊「複製」,並立即貼到安全的地方。它只顯示一次。如果遺失,請建立一個新的。

  6. 06

    請保密

    把權杖當作密碼對待。不要在 Discord 中發布,不要放進公開的 GitHub 專案,也不要貼到訪客看得到的網頁裡。請把它保存在你自己的伺服器或密碼管理員中。

你的第一個請求

我們來檢查你的權杖是否有效。你需要兩樣東西:剛複製的權杖,以及你的伺服器 ID(在 Discord 設定中開啟開發者模式,然後右鍵點擊你的伺服器並選擇「複製伺服器 ID」)。下面的第一個呼叫只需要權杖。

在每個範例中,把 dhba_YOUR_TOKEN 替換為你真實的權杖。每個範例都在名為 Authorization 的標頭中傳送權杖。把它放在網址裡是行不通的。

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));

在訪客瀏覽器中執行的頁面,訪客可以讀到其中的內容,包括權杖。從你自己的伺服器呼叫 API 才是安全的方式。瀏覽器呼叫只適用於只能讀取無害公開資訊的權杖。

回傳的內容

每個回應都是 JSON。成功的回應包含 "ok": true 和你的資料。清單帶有 "page" 部分:當 "hasMore" 為 true 時,把 "nextCursor" 的值作為 ?cursor= 傳回即可取得下一頁。日期使用 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" }

完整的端點清單和每個欄位都在機器可讀的描述中:/api/v1/bot/openapi.json。 每個回應都帶有 X-Request-Id 標頭,錯誤回應中會以 requestId 重複它。聯絡支援時請提供它。

限制、方案和隱私

  • 唯讀沒有任何會變更內容的按鈕。只回應 GET 請求。
  • 方案你的伺服器需要付費方案或有效的免費試用。抽獎資料需要 Premium 2。商店清單需要真正的付費權限,因為免費試用不包含贊助商店。
  • 你可以擁有多少個權杖Premium 1 包含 2 個有效權杖,Premium 2 包含 5 個,Premium 3 包含 10 個。免費試用或受贊助的伺服器視為 Premium 1。撤銷不再使用的權杖即可騰出名額。如果方案降級,你已有的權杖仍可繼續使用,只是在降到上限以下之前不能建立新權杖。
  • 速度限制每個權杖每分鐘可發出的請求數:Premium 1 為 60,Premium 2 為 120,Premium 3 為 300;同一個網路位址每分鐘 300。超出後會回傳 429,並帶有告訴你需等待多少秒的 Retry-After 標頭。
  • 友善地輪詢回應中包含 ETag。把它放在 If-None-Match 標頭中傳回,如果沒有變更,你會收到一個很小的 304 回應,而不是完整資料。每 30 到 60 秒請求一次就足夠了,大多數小工具可以更不頻繁。
  • 絕不分享的內容客服單的紀錄和訊息、申請及其回答、付款和訂單、電子郵件地址、名稱和頭像,以及參與抽獎的人。你只會得到數量,外加數字形式的 Discord ID,且僅限該功能本來就在 Discord 中公開展示人員的地方,例如抽獎主辦人或等級排行榜。
  • 選擇退出的成員任何使用過 /privacy optout 的人一律顯示為匿名(id 為 null)。他們的排名和數據仍會計入,因此總數是對得上的。

疑難排解

你看到的現象原因解決方法
401 unauthorized 或 invalid_token權杖缺失、輸入有誤、被截斷或已被撤銷。重新完整複製,包括開頭的 dhba_,並以 Authorization: Bearer TOKEN 的形式傳送。如果已被撤銷,請建立一個新的。
403 guild_mismatch位址中的伺服器 ID 不是該權杖所屬的伺服器。呼叫 /me 查看正確的 guildId,並使用它。
403 missing_scope該權杖沒有被允許讀取這類資料。建立一個新權杖,並勾選對應的選項。
403 feature_not_in_plan該功能不在你伺服器的方案內,例如沒有 Premium 2 的抽獎。升級方案,或不要請求這些資料。
403 plan_required伺服器沒有付費方案,也沒有有效的免費試用。在「帳單」中開通方案。API 會立即恢復運作。
403 origin_not_allowed另一個網站上的網頁嘗試使用該權杖。在權杖上把準確的網站設定為「允許的網站」(https://yoursite.com),或改為從你自己的伺服器呼叫。
瀏覽器提示 CORS 錯誤該權杖沒有設定允許的網站,因此瀏覽器不被允許呼叫它。建立一個在「允許的網站」中填寫了你網站的權杖,或把呼叫移到你的伺服器上。
404 shop_not_enabled你的贊助商店未開啟。在控制面板中開啟商店。
429 rate_limited一分鐘內請求過多。等待 Retry-After 標頭中指定的秒數,然後降低請求頻率。使用 ETag 和 304 回應。
在 PowerShell 中使用 curl 出現奇怪的錯誤在 PowerShell 中,curl 是另一個指令。輸入 curl.exe,而不是 curl。
503 unavailable我們這邊出現了短暫的小故障。API 從不回傳不完整的回應。一分鐘後再試。

撤銷和更換權杖

如果權杖被誤分享、被公開發布,或者知道它的人已離開你的團隊,請立即這樣做。

  1. 01

    先建立新權杖

    在機器人 API 頁面建立一個設定相同的替代權杖,並複製它。

  2. 02

    切換你的網站或工具

    把新權杖放到所有使用舊權杖的地方,並檢查一切仍然正常。

  3. 03

    撤銷舊權杖

    在你的權杖清單中,點擊舊權杖的「撤銷」並確認。它會立即失效,仍在使用它的任何東西都會收到 401。建立和撤銷操作會記錄在你伺服器的稽核日誌中,但權杖本身絕不會被記錄。

常見問題

API 能變更我伺服器上的任何內容嗎?

不能。它是唯讀的,沒有辦法給權杖更多權限。

我弄丟了權杖,能再顯示一次嗎?

不能。我們只保存權杖的指紋,所以無法再次顯示。請撤銷它並建立一個新的。

一個權杖可以用於多個伺服器嗎?

不可以。權杖屬於一個伺服器,只能讀取該伺服器。請在每個伺服器的控制面板中分別建立權杖。

我需要會寫程式嗎?

要建置小工具的話需要,或者請負責你網站的人來做。控制面板這部分只要兩分鐘。

我能透過 API 看到誰參與了我的抽獎嗎?

不能。你會得到參與人數和以 Discord ID 表示的得獎者,但永遠得不到參與者名單。

為什麼某位成員顯示為匿名?

他們透過 /privacy optout 選擇退出了資料處理。我們在所有地方都尊重這一點,這裡也不例外。

免費試用可以用嗎?

可以,在試用有效期間你可以建立權杖,並讀取試用包含的功能。贊助商店不包含在試用中。

為什麼我不能再建立一個權杖?

每個方案都有上限:Premium 1 為 2 個有效權杖,Premium 2 為 5 個,Premium 3 為 10 個。請撤銷不再使用的權杖,或升級你的方案。Bot API 頁面會顯示你已使用多少個。

如果我的方案到期,權杖會怎樣?

它會繼續存在,但在你重新擁有方案或試用之前,會回傳 403 plan_required。不會刪除任何內容。

即時預覽

在 Discord 中的樣子

Premium 3 解鎖的內容 — 就像在你的伺服器中顯示的一樣。

Premium 3€6.99 / 月

bot-api

🚫

不在 Discord 發送訊息

機器人 API 透過你的控制面板和你自己的網站運作。不會在 Discord 中發布任何內容。

  • Premium 2 的所有內容
  • 每個伺服器最多 10 個有效權杖
  • 每個權杖每分鐘 300 個請求

方案

你會得到

每個等級都包含列出的內容。隨時可以升級 — 你的設定會保留。

Premium 1

€2.99/ 月

🎁 Premium 1 包含 7 天免費試用(捐贈商店和免費模組在訂閱後解鎖)

  • 唯讀存取你自己的伺服器資料
  • 每個伺服器最多 2 個有效權杖
  • 等級排行榜、客服單概覽、建議概覽、遊戲伺服器狀態
  • 每個權杖每分鐘 60 個請求
  • 免費試用期間可用
Premium 2

€4.99/ 月

  • Premium 1 的所有內容
  • 每個伺服器最多 5 個有效權杖
  • 每個權杖每分鐘 120 個請求
  • 抽獎資料(進行中和已結束的抽獎)
Premium 3

€6.99/ 月

  • Premium 2 的所有內容
  • 每個伺服器最多 10 個有效權杖
  • 每個權杖每分鐘 300 個請求

🔌 機器人 API

在你自己的網站上展示伺服器資料

用 Premium 1 把 DayZ Hub 加入你的伺服器,準備好後再升級。

DayZ Hub

Cookie 設定

選擇是否允許 DayZ Hub 使用我們無 Cookie 的統計功能記錄你的造訪。你可以隨時更改。

必要 Cookie用於登入、安全性、你的語言設定以及儲存此選擇。
一律啟用
統計 — Plausible在不使用 Cookie、不收集個人資料的情況下統計網頁造訪次數,協助我們改善 DayZ Hub。