revolution/laravel-bluesky 是一个从 Laravel 使用 AT Protocol(Bluesky)的扩展包。
Facade 是 Revolution\Bluesky\Facades\Bluesky。你可以以接近 Laravel HTTP 客户端的方式使用它来完成发帖、获取 feed、搜索、发送媒体等操作。
环境要求
- PHP
>= 8.3
- Laravel
>= 12.x
composer require revolution/laravel-bluesky
环境变量
如果要使用 App Password 认证,请配置 .env。
BLUESKY_IDENTIFIER=your-handle.bsky.social
BLUESKY_APP_PASSWORD=xxxx-xxxx-xxxx-xxxx
快速上手
第一条帖子
use Revolution\Bluesky\Facades\Bluesky;
$response = Bluesky::login(
identifier: config('bluesky.identifier'),
password: config('bluesky.password'),
)->post('Hello Bluesky');
用 TextBuilder 处理链接和 tag
use Revolution\Bluesky\Facades\Bluesky;
use Revolution\Bluesky\Record\Post;
use Revolution\Bluesky\RichText\TextBuilder;
$post = Post::build(function (TextBuilder $builder) {
$builder->text('Hello Bluesky')
->newLine(count: 2)
->link('https://bsky.app/')
->newLine()
->tag('#Bluesky');
});
$response = Bluesky::login(
identifier: config('bluesky.identifier'),
password: config('bluesky.password'),
)->post($post);
由于 API 侧的临时限制,searchPosts() 目前在未认证状态下无法使用。使用搜索时也请使用已认证的 session。
Basic client
介绍 App Password / OAuth、发帖、媒体、回复、引用、feed、搜索。
Socialite
介绍使用 AT Protocol OAuth(DPoP)的 Bluesky 专属 Socialite 配置与用法。
通知通道
以 Laravel Notification 通道的形式向 Bluesky 发送帖子和 DM。
Feed Generator
创建并发布自定义算法 feed。
参考链接