Discord Webhook
隨附於 Macro Deck透過 Webhook 將含有嵌入內容和提及的豐富訊息發布到 Discord 頻道,並提供即時預覽。
「新增 Discord Webhook」對話方塊,含「名稱」和「Webhook URL」欄位
- 依名稱儲存 Webhook,每個頻道一個
- 附有與 Discord 外觀相同之預覽的視覺化編輯器
- 最多 10 個嵌入內容,支援欄位、圖片、作者和頁尾
- 除非你允許,否則提及不會通知任何人
- 範本變數會在動作執行時填入
Discord Webhook 讓任何知道其 URL 的程式都能發布訊息到某個 Discord 頻道。Discord Webhook 整合會依名稱儲存 Webhook,並提供一個附有視覺化訊息編輯器的動作:傳送 Discord Webhook 訊息。執行 Macro Deck 的電腦上不需要 Discord 應用程式,也不需要 Discord 帳戶。
可以傳送的內容
編輯器有四個分頁:
- 訊息:支援 Discord Markdown 和換行的訊息文字,以及用來插入使用者或身分組提及、
@everyone或@here的按鈕。 - 嵌入內容:最多 10 個嵌入內容,每個都可以包含標題和標題連結、描述、顏色、時間戳記、作者、頁尾、圖片、縮圖,以及最多 25 個可並排顯示的欄位。
- 個人資料:這則訊息使用的使用者名稱和頭像,取代 Webhook 本身的設定。
- 提及:訊息中的提及可以通知哪些人。
根據預設,即使訊息提及了某人、@everyone 或 @here,也不會通知任何人。提及仍會顯示在 Discord 中,只是不會發出提醒。所有文字欄位都支援範本變數,變數會在動作執行時填入,因此訊息可以包含目前的場景、歌曲或觀看人數。
編輯器下方的預覽會隨著你輸入即時變化,並以 Discord 的樣式顯示訊息。預覽不會傳送任何內容給 Discord。圖片會顯示為預留位置,變數則依你撰寫的原樣顯示。傳送測試訊息 會在你以 立即傳送 確認後,立即將訊息傳送到 Discord,方便你查看實際效果。
設定範例:
- 開始直播 按鈕,將含有直播標題和連結的嵌入內容發布到公告頻道。
- 將正在播放的歌曲發布到音樂頻道的按鈕。
- 直播中發生某件事時,傳送訊息到管理員頻道的自動化。
已儲存的 Webhook 和自訂 URL
為每個頻道新增一個設定,然後在每個動作中依名稱選擇 Webhook。URL 變更時,只需在一個地方修改。若是一次性的訊息,也可以將 Webhook 設為 自訂 URL,並將 URL 貼到動作中。Macro Deck 會加密儲存每個 Webhook URL,之後不會再顯示,也絕不會寫入記錄檔。
Macro Deck 會在傳送前檢查 Discord 的限制,例如訊息文字最多 2000 個字元、所有嵌入內容合計最多 6000 個字元,並在你編輯時將問題列在預覽上方。當 Discord 限制 Webhook 的發布頻率時,如果等待時間不超過 5 秒,Macro Deck 會等待並再試一次。
需要準備
- 在 Windows、macOS 或 Linux 上執行的 Macro Deck 3
- 執行 Macro Deck 的電腦需連上網際網路
- 你有權管理 Webhook 的 Discord 頻道及其 Webhook URL
開始設定
步驟 1: 在 Discord 中建立 Webhook
在 Discord 中開啟頻道設定,前往 Integrations,再前往 Webhooks,建立 Webhook 或選擇現有的 Webhook。按一下 Copy Webhook URL。URL 以
https://discord.com/api/webhooks/開頭。任何擁有它的人都能發布訊息到該頻道,因此請像對待密碼一樣對待它。步驟 2: 在 Macro Deck 中開啟 Discord Webhook
在 Macro Deck 的側邊欄中按一下 整合,然後按一下 Discord Webhook。在 概覽 分頁的 設定 區段中按一下 新增設定。開啟右上角的開關也會開啟相同的對話方塊。
步驟 3: 儲存 Webhook
填寫 新增 Discord Webhook 對話方塊:
- 名稱:在動作中選擇 Webhook 時顯示,例如頻道名稱。
- Webhook URL:你在 Discord 中複製的 URL。
按一下 繼續。每增加一個頻道,就新增一個設定。
步驟 4: 在按鈕上加入動作
在 面板 頁面上,按一下要使用的按鈕。面板必須處於解鎖狀態:右上角的按鈕顯示 鎖定 時即為已解鎖。編輯器開啟時會選取 短按。按一下 + 新增動作,在 新增動作 對話方塊左側選擇 Discord Webhook,然後選擇 傳送 Discord Webhook 訊息。
步驟 5: 撰寫訊息
在 Webhook 下選擇已儲存的 Webhook。在 訊息 分頁中撰寫 訊息文字,如有需要,可在 嵌入內容 分頁中加入嵌入內容。檢查預覽後,按一下 傳送測試訊息 和 立即傳送,在 Discord 中查看訊息。
步驟 6: 按下按鈕
在手機、平板電腦或網頁用戶端上按下按鈕。訊息會出現在 Discord 頻道中,其中的變數都已填入。如果沒有出現,動作會顯示原因,例如 Discord 拒絕了 Webhook 權杖。
動作1
可放在按鈕上,或從流程中執行。
- 傳送 Discord Webhook 訊息
- 透過已儲存或自訂的 Discord Webhook 傳送訊息,可附加嵌入內容,並使用即時預覽進行編輯。
常見問題
如何提及使用者或身分組?
提及需要 Discord ID。在 Discord 的進階設定中開啟 Developer Mode,然後在使用者或身分組上按一下滑鼠右鍵,並選擇 Copy ID。在 提及 分頁中,選擇不通知任何人、通知所有被提及的人,或只通知你列出的 ID。
它和 Discord 整合有什麼不同?
Discord 整合有一個較舊的 執行 Webhook 動作,只支援一個嵌入內容且沒有預覽。該動作仍可繼續使用。Discord Webhook 增加了多個嵌入內容、提及控制、每則訊息各自的個人資料,以及即時預覽。
Webhook URL 儲存在哪裡?
Macro Deck 會將它加密儲存在執行 Macro Deck 的電腦上。它不會再次顯示,不會寫入記錄檔,也不會出現在預覽中。若要變更,請重新輸入。只接受 discord.com、discordapp.com、ptb.discord.com 和 canary.discord.com 上的 Discord Webhook 位址。
為什麼測試訊息中的變數沒有填入?
傳送測試訊息 會依原樣傳送變數。只有當動作從按鈕、自動化或指令碼執行時,變數才會填入。
為什麼動作會失敗?
動作會顯示原因,例如訊息為空或太長、Webhook 已不存在於 Discord 中、Discord 拒絕了 Webhook 權杖,或 Discord 正在限制該 Webhook 的發布頻率。如果權杖遭到拒絕,請重新複製 Webhook URL 並在設定中輸入。
可以在 Companion 應用程式中編輯訊息嗎?
Companion 應用程式和舊版桌面應用程式會顯示動作的原始設定,訊息會以 content 和 embeds.0.title 等鍵和值的形式呈現,而且不會儲存在視覺化編輯器中所做的變更。請在目前版本的桌面應用程式中編輯豐富訊息。