Laravel Packages

Bluesky notification channel for Laravel

Published
Bluesky notification channel for Laravel image

Enzo Innocenzi created a Laravel Notification channel for the Bluesky social media app, and you can find it on Github. We've been using it for a while now to auto-publish new articles on the site over to our Laravel News Bluesky account.

If you are new to Bluesky and want to try it out, Justin Jackson created a Laravel list of many active users on the service.

Getting started with Bluesky with Laravel

It's super easy to get started, and all you have to do is require the package:

composer require innocenzi/bluesky-notification-channel

Then add this to your .env:

BLUESKY_USERNAME=your-handle
BLUESKY_PASSWORD=your-app-password

Then in your config/services.php file:

return [
// ...
'bluesky' => [
'username' => env('BLUESKY_USERNAME'),
'password' => env('BLUESKY_PASSWORD'),
]
];

Finally, when Laravel Notification:

final class CreateBlueskyPost extends Notification
{
public function via(object $notifiable): array
{
return [
BlueskyChannel::class
];
}
 
public function toBluesky(object $notifiable): BlueskyPost
{
return BlueskyPost::make()
->text('Test from Laravel');
}
}

Laravel News Setup

Here is how ours is set up:

class ArticlePublishedNotification extends Notification
{
public function via($notifiable): array
{
return [
BlueskyChannel::class,
];
}
 
public function toBluesky($post): BlueskyPost
{
return BlueskyPost::make()
->text($post->routes['title'])
->language(['en-US'])
->withoutAutomaticEmbeds()
->embed(new External(
uri: 'https://laravel-news.com/'.$post->routes['uri'],
title: $post->routes['title'],
description: $post->routes['description'],
));
}

Find out more about this package on the Github repo and it has full installation instructions and details on how Bluesky handles embeds.

Eric L. Barnes photo

Eric is the creator of Laravel News and has been covering Laravel since 2012.

Sponsored

laravelcloud logo
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud

The latest

View all →
Laravel Rulebook: Business Rules That Change by Date image

Laravel Rulebook: Business Rules That Change by Date

Read article
Taylor disabled GitHub Issues on most Laravel open-source packages. image

Taylor disabled GitHub Issues on most Laravel open-source packages.

Read article
Exclude Vendor and Default Commands in `php artisan dev` image

Exclude Vendor and Default Commands in `php artisan dev`

Read article
The Laracon Archive image

The Laracon Archive

Read article
Group Adjacent Collection Items in Laravel with chunkBy() image

Group Adjacent Collection Items in Laravel with chunkBy()

Read article
Laravel queue:work Now Prints Why the Worker Stopped image

Laravel queue:work Now Prints Why the Worker Stopped

Read article