Skip to main content

概觀

laravel-bluesky 可整合至 Laravel 的 Notification 系統。透過 BlueskyChannel 發送一般貼文,BlueskyPrivateChannel 則可發送私訊(DM)。

可用的頻道

Notification 類別

BlueskyChannel

via() 中指定 BlueskyChannel::class,並在 toBluesky() 回傳發送內容。
Post 的用法與 Basic client 相同。TextBuilder、Embed 等也可以同樣使用。

BlueskyPrivateChannel

BlueskyPrivateMessage 幾乎與 Post 相同,但僅支援 text、facets、embed。embed 僅支援 QuoteRecord

隨選通知

若不使用模型,而是當場指定通知對象,可使用 Notification::route()

BlueskyChannel

BlueskyPrivateChannel

DM 必須指定 receiver(收件者的 DID 或 handle)。同時,接收方也需啟用 DM 接收。
  • 使用 App password 時需具備 DM 發送權限。
  • 使用 OAuth 時需具備 transition:chat.bsky scope。
Bluesky 中無法對自己發送 DM。若要對自己發送通知,請另備一個帳號用於發送。
若為個人用途等常固定同一發送者與接收者的情境,可透過 .env 設定。請建立發送專用的帳號。

使用者通知

在使用 Notifiable trait 的模型上定義通知路由。

BlueskyChannel

BlueskyPrivateChannel

也可以將使用者自己設為接收者。

BlueskyRoute

根據認證方式(App password 或 OAuth)指定方法不同。建議使用具名參數。
若僅是對自己的帳號發送通知,使用 App password 最為簡單。無需考量 refresh_token 的更新,只要設定 .env 即可使用。

確認通知結果

與一般 Laravel 相同,可透過 NotificationSent 事件確認通知後的回應。
最後修改於 2026年8月2日