Webhook 應用

置頂來提供顯示嵌入訊息功能

除了可以要求我們 API 外來查看誰置頂你的群組/機器人,你現在也可以使用 Webhooks 來接收訊息喔!Webhook 會傳送一則 POST 訊息,到您的填寫的連結,每當有你的群組/機器人被置頂,我們會傳送要求給予你喔~

開始

機器人

那我們來開始吧,首先是要已經有 新增 過的機器人,如果還沒有設定可以前往 如何新增機器人 來查看教學。接著到 我的機器人 點選 編輯 有一個欄位寫著 Webhooks 進入。

網址如下:

https://dsb.tw/my/b/{my-bot-id}/edit#webhook

按照網頁上的步驟,當你設定好後,就可以可使用了喔~

群組

那我們來開始吧,首先是要已經有 新增 過的群組,如果還沒有設定可以前往 如何新增群組 來查看教學。接著到 我的群組 點選 編輯 有一個欄位寫著 Webhooks 進入。

網址如下:

https://dsb.tw/my/s/{my-guild-id}/edit#webhook

按照網頁上的步驟,當你設定好後,就可以可使用了喔~

安全

在編輯頁面上,您可以看到另一個名為「驗證 (Authorization)」的輸入欄位。在這裡,您可以提供一個共用密鑰,以便在伺服器端進行驗證。

為了確認請求確實來自我們,請檢查請求中的「驗證 (Authorization)」標頭,並確保其值與您在表單中提供的值相同。

如果您正在使用防火牆,您可以將以下 IP 位址列入白名單,這些 IP 將在可預見的未來用於傳送 Webhook。

IP
xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx

接收訊息

dsb.tw 發送的 Webhook 必須以 200 回應碼 來確認接收成功,否則將被視為失敗。

使用 dsb.tw 提供的處理 Webhook 的程式庫,會自動回應並確認這些 Webhook。

遇時

對 Webhook 的回應必須在 5 秒內 傳回,否則將被視為逾時,並會被加入佇列重新嘗試發送(若仍可重試的話)。

資料型態

您的 Webhook URL 在接收 POST 請求時,會收到的資料格式如下。

📬 機器人 Webhook 資料格式

欄位名稱類型說明
botsnowflake收到投票的機器人之 Discord ID。
usera user object進行投票的使用者之 Discord ID。
typestring投票的類型。通常是 "vote",若是使用測試按鈕則為 "test"

🛎️ 群組 Webhook 資料格式

欄位名稱類型說明
guildsnowflake收到投票的伺服器(Guild)之 Discord ID。
usersnowflake進行投票的使用者之 Discord ID。
typestring投票的類型。通常是 "vote",若是使用測試按鈕則為 "test"

===> User 型態

欄位名稱類型說明
idstring使用者 Discord ID
namestring使用者名稱
avatarstring使用者頭像 ID
avatarURLstring使用者頭像 URL

注意

這些資料會以 JSON 格式包含在 POST 請求的內容中發送到您的 Webhook URL。記得一樣要在 5 秒內以 HTTP 200 回應,以避免被當作失敗並重新嘗試發送。