概要
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 またはハンドル)の指定が必須です。また、受信者側でDM受信が有効になっている必要があります。
- App password の場合は DM 送信権限が必要です。
- OAuth の場合は
transition:chat.bskyスコープが必要です。
Bluesky では自分自身に DM を送ることができません。自分宛に通知したい場合は、送信用に別アカウントを用意してください。
.env で設定できます。送信専用アカウントを作成してください。
ユーザー通知
Notifiable トレイトを使うモデルに通知ルーティングを定義します。
BlueskyChannel
BlueskyPrivateChannel
BlueskyRoute
認証方式(App password または OAuth)によって指定方法が異なります。名前付き引数を使うことを推奨します。通知結果の確認
通常の Laravel と同じようにNotificationSent イベントで通知後のレスポンスを確認できます。
Source: docs/notification.md