Libphpsky is a PHP library designed to interact with Bluesky decentralized social media protocol - AT protocol.
Libphpsky is a PHP library designed to interact with the Bluesky decentralized social media protocol. All types are generated from the Bluesky protocol schema, along with queries and procedures, ensuring everything is statically typed.
Note: This is not an official library and is not affiliated with Bluesky.
To install Libphpsky, use Composer:
composer require aazsamir/libphpsky
For integration with Laravel, use aazsamir/libphpsky-laravel package:
composer require aazsamir/libphpsky-laravel
For integration with Symfony, use aazsamir/libphpsky-symfony package:
composer require aazsamir/libphpsky-symfony
Check docs at https://aazsamir.github.io/libphpsky/.
The default implementation handles authorization out of the box by providing ATPROTO_LOGIN and ATPROTO_PASSWORD environment variables. If the session is stale, it will automatically refresh it.
$resolveHandle = ResolveHandle::default();
$did = $resolveHandle->query('bsky.app')->did;
$getProfile = GetProfile::default();
$response = $getProfile->query($did);
On top of that, there is a meta client, which can be used to handle all possible endpoints.
$client = new ATProtoMetaClient();
$resolved = $client->comAtprotoIdentityResolveHandle()->query('bsky.app');
Libphpsky also supports \Amp\Http\Client\HttpClient from amphp/http-client package out of the box.
$client = ATProtoClientBuilder::default()->useAsync(true)->build();
$getProfile = new GetProfile($client);
$actors = ['bsky.app', 'steampowered.com'];
$futures = [];
foreach ($actors as $actor) {
$futures[] = \Amp\async(fn() => $getProfile->query($actor));
}
[$errors, $profiles] = \Amp\Future\awaitAll($futures);
libphpsky-feed is an example project that uses libphpsky to serve a bluesky feed.
For more examples, check examples directory.
Contributions are welcome! Just make sure that phpstan, php-cs-fixer and phpunit pass.
Libphpsky is licensed under the MIT License. See the LICENSE file for more details.
An small PHP library for Bluesky social using the AT Protocol.
Helper library to post to Bluesky Social
Bluesky notification channel for the Laravel framework
Simple helper for interacting with the Bluesky API/AT protocol
Converting a BlueSky Starter Pack to User List
BlueSky SDK is a comprehensive PHP library designed to seamlessly integrate with the BlueSky social network.
Your Brand Here!
50K+ engaged viewers every month
Limited spots available!
📧 Contact us via email🦋 Contact us on Bluesky