機能Premium 1
Bot API
サーバーのデータをご自身のウェブサイトに表示
ダッシュボードで秘密のトークンを作成すると、ご自身のウェブサイトやツールからサーバーのリアルタイムな情報を読み取れます。レベルランキング、開催中のギブアウェイ、チケット数、ゲームサーバーの状態、ショップの商品などです。読み取り専用なので、サーバーを変更することはできません。また、オプトアウトしたメンバーは常に匿名のままです。
bot-api
Discord へのメッセージなし
Bot API はダッシュボードとご自身のウェブサイトから動作します。Discord には何も投稿されません。
使い方
数分で使い始められます
- 01
トークンを作成
ダッシュボード、管理、Bot API の順に開き、名前を付けて、読み取れる内容にチェックを入れ、コピーします。表示されるのは一度だけです。
- 02
秘密にしてください
パスワードのように、ご自身のサーバーに保管してください。ウェブサイトやツールごとに1つのトークンを使います。
- 03
データを取得
ウェブサイトが Authorization ヘッダーでトークンを送信すると、データが JSON で返ってきます。
- 04
いつでも失効できます
Bot API ページで失効を押すと、トークンは直ちに使えなくなります。
できること
Bot API を使うと、ご自身のウェブサイトやツールから Discord サーバーのリアルタイムな情報を読み取れます。読み取り専用なので、作ったものがサーバーやメンバーに影響することはありません。午後のうちに設定できるアイデアをご紹介します。
- ランキングウィジェットコミュニティのウェブサイトに、レベル上位10人のサバイバーを表示します。
- ギブアウェイのカウントダウン開催中のギブアウェイ、その賞品、終了時刻をホームページに載せられます。
- チケット数開いているチケットの数やチームの返信の速さを、スタッフ用ダッシュボードや「約10分で返信します」というバナーに表示できます。
- ステータスバッジゲームサーバーがオンラインかどうかと、参加人数を表示します。
- ショップの商品リスト寄付ショップの商品と価格をご自身のサイトに並べ、そのままチェックアウトへリンクできます。
ご自身でコードを書かない場合は、このページをウェブサイトを管理している方に送ってください。何をすればよいか分かるはずです。
ステップごとの手順: トークンを作成
トークンは、1つのウェブサイトやツールがサーバーを読み取れるようにする、長い秘密のパスワードです。ダッシュボードで作成します。
- 01
Bot API ページを開く
dayzhub.net にログインし、ダッシュボードを開いてサーバーを選び、サイドメニューの管理にある Bot API を選びます。表示されるのはサーバー管理の権限を持つ人だけです。チームアクセスのメンバーには表示されません。
- 02
名前を付ける
用途が分かる短い名前を入力します。例: 「ウェブサイトのランキング」。ウェブサイトやツールごとに1つのトークンを使ってください。
- 03
読み取れる内容を選ぶ
ギブアウェイやレベルランキングなど、必要なデータのボックスにチェックを入れます。チェックは少ないほど安全です。トークンは後からいつでも追加で作れます。
- 04
許可するウェブサイト(必要な場合のみ)
訪問者のブラウザー上のウェブページが API を直接呼び出す場合を除き、空のままにしてください。その場合は、サイトのアドレスを https://yoursite.com のように、末尾にパスを付けずに正確に入力します。
- 05
トークンを作成を押してコピー
dhba_ で始まるトークンがボックスに表示されます。コピーを押して、すぐに安全な場所に貼り付けてください。表示されるのは一度だけです。紛失した場合は、新しく作成します。
- 06
秘密にしてください
トークンはパスワードと同じように扱ってください。Discord に投稿したり、公開の GitHub プロジェクトに入れたり、訪問者が読めるウェブページに貼り付けたりしないでください。ご自身のサーバーかパスワード管理ツールに保管します。
最初のリクエスト
トークンが動作するか確認しましょう。必要なものは2つです。先ほどコピーしたトークンと、サーバー 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まで可能で、1つのインターネットアドレスからは毎分300までです。超えると、待つ秒数を示す Retry-After ヘッダー付きで 429 が返ります。
- やさしいポーリング応答には ETag が含まれます。これを If-None-Match ヘッダーで送り返すと、変更がない場合は全データの代わりに小さな 304 の応答が返ります。30~60秒ごとの確認で十分で、ほとんどのウィジェットはもっと少なくて大丈夫です。
- 共有されないものチケットのトランスクリプトとメッセージ、申請とその回答、支払いと注文、メールアドレス、名前とアバター、ギブアウェイの参加者は共有されません。取得できるのは件数と、Discord 上で人物がすでに公開されている機能(ギブアウェイの主催者やレベルランキングなど)の数字の Discord ID だけです。
- オプトアウトしたメンバー/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 | 1分間のリクエストが多すぎます。 | Retry-After ヘッダーの秒数だけ待ち、その後は呼び出す頻度を減らしてください。ETag と 304 の応答を活用します。 |
| PowerShell で curl を使うと変なエラーが出る | PowerShell では、curl は別のコマンドです。 | curl の代わりに curl.exe と入力してください。 |
| 503 unavailable | こちら側の一時的な不具合です。API が中途半端な応答を返すことはありません。 | 1分後にもう一度お試しください。 |
トークンの失効と入れ替え
トークンを誤って共有した、公開の場に投稿した、またはトークンを知っている人がチームを離れた場合は、すぐに行ってください。
- 01
先に新しいトークンを作成
Bot API ページで同じ設定の代わりのトークンを作成し、コピーします。
- 02
ウェブサイトやツールを切り替える
古いトークンを使っていた場所すべてに新しいトークンを入れ、すべて正常に動作するか確認します。
- 03
古いトークンを失効
トークンの一覧で、古いトークンの失効を押して確定します。直ちに使えなくなり、まだ使っているものは 401 を受け取ります。作成と失効はサーバーの監査ログに記録されますが、トークン自体は記録されません。
よくある質問
API でサーバーの何かを変更できますか?
いいえ。読み取り専用で、トークンにそれ以上の権限を与える方法はありません。
トークンを紛失しました。もう一度表示できますか?
いいえ。保管しているのはフィンガープリントだけなので、再表示はできません。失効して、新しく作成してください。
1つのトークンを複数のサーバーで使えますか?
いいえ。トークンは1つのサーバーに属し、そのサーバーしか読み取れません。各サーバーのダッシュボードでトークンを作成してください。
コードの書き方を知っている必要がありますか?
ウィジェットを作るには必要です。ウェブサイトを作っている方に頼むこともできます。ダッシュボードでの作業は2分で終わります。
API でギブアウェイの参加者を確認できますか?
いいえ。取得できるのは参加数と、Discord ID で表された当選者であり、参加者の一覧は取得できません。
なぜメンバーが匿名で表示されるのですか?
そのメンバーが /privacy optout でデータ処理を拒否したためです。ここを含め、あらゆる場所でその意思を尊重しています。
無料トライアルでも使えますか?
はい。トライアル中はトークンを作成し、トライアルに含まれる機能を読み取れます。寄付ショップはトライアルに含まれません。
なぜもう1つトークンを作成できないのですか?
プランごとに上限があります。Premium 1 は有効なトークン2件、Premium 2 は5件、Premium 3 は10件です。使わないトークンを失効するか、プランをアップグレードしてください。Bot API ページで使用数を確認できます。
プランが終了したらトークンはどうなりますか?
トークンは残りますが、プランまたはトライアルが再び有効になるまで 403 plan_required を返します。何も削除されません。
ライブプレビュー
Discord での表示
Premium 3 で使えるようになる内容を、サーバーでの表示そのままにお見せします。
Premium 3€6.99 / 月
bot-api
Discord へのメッセージなし
Bot API はダッシュボードとご自身のウェブサイトから動作します。Discord には何も投稿されません。
- Premium 2 のすべて
- サーバーあたり最大10件の有効なトークン
- トークンごとに毎分300リクエスト
プラン
含まれるもの
各プランには記載の内容が含まれます。いつでもアップグレードでき、設定はそのまま引き継がれます。
€2.99/ 月
🎁 Premium 1には7日間の無料トライアルが含まれます(寄付ショップと無料Modは登録後に利用可能)
- ご自身のサーバーデータの読み取り専用アクセス
- サーバーあたり最大2件の有効なトークン
- レベルランキング、チケットの概要、提案の概要、ゲームサーバーの状態
- トークンあたり毎分60リクエスト
- 無料トライアル中も利用可能
€4.99/ 月
- Premium 1 のすべて
- サーバーあたり最大5件の有効なトークン
- トークンごとに毎分120リクエスト
- ギブアウェイのデータ(開催中と終了済み)
€6.99/ 月
- Premium 2 のすべて
- サーバーあたり最大10件の有効なトークン
- トークンごとに毎分300リクエスト