Skip to main content

概觀

revolution/laravel-notification-discord-webhook 是使用 Discord Webhook,從 Laravel Notifications 向 Discord 傳送通知的套件。 Discord 正式的 Bot API 需要維持 WebSocket 連線,設定較為複雜。而 Webhook 只要取得 URL 即可傳送通知。若只是想將應用程式事件通知到團隊的 Discord 頻道,Webhook 是最佳選擇。
本套件需要 PHP 8.3 以上、Laravel 12.0 以上。

安裝

設定

取得 Discord 的 Webhook URL

可於 Discord 伺服器的 設定 → 整合 → Webhook 建立 Webhook URL。詳細請參閱 Discord 官方指南

config/services.php

.env

基本用法

建立 Notification 類別

實作 toDiscordWebhook() 方法,並於 via() 傳回 DiscordChannel::class

傳送模式

On-Demand 通知

若不綁定特定 User 模型即傳送通知,可使用 Notification::route()

從 User 模型傳送通知

若要為每個 User 使用不同的 Webhook URL,可定義 routeNotificationForDiscordWebhook()

訊息類型

文字訊息

最簡單的傳送方式。

Embed 訊息

使用 DiscordEmbed 可呈現包含標題與 URL 的豐富顯示。

檔案附件

使用 DiscordAttachment 可以附加檔案傳送。content(檔案內容)與 filename 為必填。

於 Embed 中參照檔案

可於 Embed 的 imagethumbnailattachment://檔名 參照附件檔案。

傳送任意 Payload

使用 ->with() 可直接指定 Discord Webhook 的任意參數。
可透過 ->with() 指定的參數詳情請參閱 Discord 官方 API 文件

總結

Discord Bot 雖然強大,但若只是要傳送通知,Webhook 簡潔許多。使用本套件可以無縫整合 Laravel 的通知系統,快速將應用程式事件通知至團隊的 Discord 頻道。
最新資訊請參閱 GitHub 儲存庫
最後修改於 2026年8月2日