Enzo Innocenzi розробив Laravel Notification Channel для соціальної мережі Bluesky, який доступний на GitHub. Ми вже деякий час використовуємо його для автоматичної публікації нових статей на наш акаунт Laravel News у Bluesky.
Якщо ви новачок у Bluesky і хочете спробувати, Justin Jackson створив список активних користувачів Laravel на цій платформі.
Розпочати дуже просто — лише потрібно підключити пакет:
composer require innocenzi/bluesky-notification-channel
Далі додайте до свого файлу .env:
BLUESKY_USERNAME=ваш-нік
BLUESKY_PASSWORD=ваш-пароль-додатку
У файлі config/services.php
додайте:
return [
// ...
'bluesky' => [
'username' => env('BLUESKY_USERNAME'),
'password' => env('BLUESKY_PASSWORD'),
]
];
І наостанок, для створення повідомлення у 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('Тестове повідомлення з Laravel');
}
}
Ось як ми це налаштували:
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'],
));
}
Детальніше про цей пакет ви можете дізнатися на GitHub репозиторії, де також є повна інструкція з установки та інформація про те, як Bluesky обробляє вбудовані елементи.