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년 7월 13일