Канал сповіщень Bluesky для Laravel

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 31 жовтня, 2024
Досліджуйте, як інтегрувати Bluesky у свій проект на Laravel за допомогою нової бібліотеки для сповіщень! Ця стаття допоможе вам легко налаштувати автоматичну публікацію контенту. Не пропустіть можливість дізнатися більше!

Enzo Innocenzi розробив Laravel Notification Channel для соціальної мережі Bluesky, який доступний на GitHub. Ми вже деякий час використовуємо його для автоматичної публікації нових статей на наш акаунт Laravel News у Bluesky.

Якщо ви новачок у Bluesky і хочете спробувати, Justin Jackson створив список активних користувачів Laravel на цій платформі.

# Як почати роботу з Bluesky у 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');
    }
}

# Налаштування Laravel News

Ось як ми це налаштували:

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 обробляє вбудовані елементи.