Skip to main content

概要

laravel-bluesky は Laravel の Notification システムに統合できます。BlueskyChannel で通常投稿、BlueskyPrivateChannel でダイレクトメッセージ(DM)を送れます。

利用可能なチャンネル

Notification クラス

BlueskyChannel

via()BlueskyChannel::class を指定し、toBluesky() で送信内容を返します。
Post の使い方は Basic client と同じです。TextBuilder、Embed なども同様に利用できます。

BlueskyPrivateChannel

BlueskyPrivateMessagePost とほぼ同じですが、text・facets・embed のみ対応しています。embed は QuoteRecord のみサポートします。

オンデマンド通知

モデルを使わずにその場で通知先を指定する場合は Notification::route() を使います。

BlueskyChannel

BlueskyPrivateChannel

DM には receiver(送信先の DID またはハンドル)の指定が必須です。また、受信者側でDM受信が有効になっている必要があります。
  • App password の場合は DM 送信権限が必要です。
  • OAuth の場合は transition:chat.bsky スコープが必要です。
Bluesky では自分自身に DM を送ることができません。自分宛に通知したい場合は、送信用に別アカウントを用意してください。
個人用途など、常に同じ送信者・受信者を使う場合は .env で設定できます。送信専用アカウントを作成してください。

ユーザー通知

Notifiable トレイトを使うモデルに通知ルーティングを定義します。

BlueskyChannel

BlueskyPrivateChannel

ユーザー自身を受信者にすることもできます。

BlueskyRoute

認証方式(App password または OAuth)によって指定方法が異なります。名前付き引数を使うことを推奨します。
自分のアカウントへの通知だけであれば App password が最もシンプルです。refresh_token の更新を考慮する必要がなく、.env を設定するだけで使えます。

通知結果の確認

通常の Laravel と同じように NotificationSent イベントで通知後のレスポンスを確認できます。
最終更新日 2026年4月29日