Skip to main content

Vue d’ensemble

La facade Bluesky est une fine enveloppe autour de BlueskyManager. BlueskyManager gère plusieurs agents, et le trait HasShortHand regroupe les méthodes raccourci les plus fréquemment utilisées.

Architecture

Le BlueskyServiceProvider enregistre Factory::class en tant que singleton à portée limitée (une instance par requête) vers BlueskyManager.
Le getFacadeAccessor() de la facade résout ce binding.

Méthodes principales de BlueskyManager

Voici les méthodes principales définies par BlueskyManager lui-même. Les distinguer de celles du trait HasShortHand aide à comprendre la structure interne.

Authentification

Opérations sur l’Agent

Client HTTP

Utilitaires

Trait HasShortHand

Le trait HasShortHand enveloppe les API bas niveau d’AT Protocol dans des méthodes PHP plus lisibles. Il suffit d’ajouter use HasShortHand; dans BlueskyManager pour exposer ces méthodes directement via Bluesky::.
HasShortHand est isolé dans un trait pour faciliter les tests et la personnalisation. Ce trait permet de fournir un large éventail de raccourcis d’API tout en gardant le code de BlueskyManager simple.

Posts et flux

Engagement

Follow

Profil et compte

Médias

Notifications

Opérations sur les enregistrements AT Protocol

Feed generator et labeler

Exemples de raccourcis courants

Publier

Répondre

Pour une réponse, définissez la StrongRef du post parent via Post::build(). HasShortHand ne dispose pas de méthode reply() dédiée : on passe l’objet Post à post().

Like et repost

Mettre à jour son profil

upsertProfile() récupère le profil actuel et enregistre les modifications effectuées dans la closure. Les méthodes de l’objet Profile permettent de définir displayName, description, etc.

Définir des self labels

Vous pouvez utiliser SelfLabels pour appliquer un self label à l’ensemble du compte.

Appeler directement une API arbitraire

Pour toute méthode absente de HasShortHand, utilisez send() ou client().

Différences entre l’utilisation via la facade et l’utilisation directe

Bluesky::post() et app(Factory::class)->post() opèrent sur la même instance de BlueskyManager.
Grâce à l’enregistrement scoped, l’état de session obtenu après login() est conservé pendant toute la requête.

Conditionable et Macroable

BlueskyManager utilise également les traits Conditionable et Macroable.

Conditionable : when() / unless()

Macroable : ajouter des méthodes personnalisées

macro() permet à l’application d’ajouter des méthodes à BlueskyManager. On les définit typiquement dans la méthode boot() d’AppServiceProvider.

Injecter un Agent personnalisé

withAgent() permet d’installer directement une implémentation d’Agent de votre choix.
Comme l’authentification normale (login() / withToken()) installe automatiquement l’agent, l’usage direct de withAgent() intervient surtout lors des tests.

Liens utiles

Dernière modification le 13 juillet 2026