跳转到主要内容

概览

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。

参考链接

最后修改于 2026年7月13日

相关主题

Laravel Bluesky