Webhook 應用
置頂來提供顯示嵌入訊息功能
除了可以要求我們 API 外來查看誰置頂你的群組/機器人,你現在也可以使用 Webhooks 來接收訊息喔!Webhook 會傳送一則 POST
訊息,到您的填寫的連結,每當有你的群組/機器人被置頂,我們會傳送要求給予你喔~
開始
機器人
那我們來開始吧,首先是要已經有 新增
過的機器人,如果還沒有設定可以前往 如何新增機器人 來查看教學。接著到 我的機器人
點選 編輯
有一個欄位寫著 Webhooks
進入。
網址如下:
按照網頁上的步驟,當你設定好後,就可以可使用了喔~
群組
那我們來開始吧,首先是要已經有 新增
過的群組,如果還沒有設定可以前往 如何新增群組 來查看教學。接著到 我的群組
點選 編輯
有一個欄位寫著 Webhooks
進入。
網址如下:
按照網頁上的步驟,當你設定好後,就可以可使用了喔~
安全
在編輯頁面上,您可以看到另一個名為「驗證 (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 資料格式
欄位名稱 | 類型 | 說明 |
---|---|---|
bot | snowflake | 收到投票的機器人之 Discord ID。 |
user | a user object | 進行投票的使用者之 Discord ID。 |
type | string | 投票的類型。通常是 "vote" ,若是使用測試按鈕則為 "test" 。 |
🛎️ 群組 Webhook 資料格式
欄位名稱 | 類型 | 說明 |
---|---|---|
guild | snowflake | 收到投票的伺服器(Guild)之 Discord ID。 |
user | snowflake | 進行投票的使用者之 Discord ID。 |
type | string | 投票的類型。通常是 "vote" ,若是使用測試按鈕則為 "test" 。 |
===> User 型態
欄位名稱 | 類型 | 說明 |
---|---|---|
id | string | 使用者 Discord ID |
name | string | 使用者名稱 |
avatar | string | 使用者頭像 ID |
avatarURL | string | 使用者頭像 URL |
注意
這些資料會以 JSON 格式包含在 POST 請求的內容中發送到您的 Webhook URL。記得一樣要在 5 秒內以 HTTP 200 回應,以避免被當作失敗並重新嘗試發送。