bsky
This is a preliminary integration with the BlueSky social network. It is meant to provide the API connection to other modules which actually provide functionality.
The first user story to be developed is automatic posting of content to the BlueSky API, using the ECA module.
Features
The initial feature to be released is an action plugin for use with ECA.
Also to be considered, integration with the Social API initiative, or any other module ecosystem people are interested in.
Post-Installation
This module uses the Key module for storing credentials. Configure a BlueSky account for your site to use in Admin -> Configuration -> Web Services -> BlueSky Settings.
Then, create an ECA model and use the following actions:
- Bluesky: Create Post - any post to Bluesky needs to start with this.
- Bluesky: Add Facets - (optional) this turns links, handles (starting with '@') and hashtags into links in the live post. Without this step, your entire message will be plain text.
- Bluesky: Add Image - (optional) Add the path or URL of an image to a post.
- Bluesky: Send Post - this action actually sends the post you created to Bluesky using the credentials set on the settings page.
Note on images: there is a maximum image size of 1MB. If your image is under that, it's best to use the image path ( token ending with :path or :uri ). But if you use an image style with :uri, and the image style has not yet populated, it does not set the image token, leading to a 404/not found error. Try using the :url version instead.
Additional Requirements
- Key module (for credentials/secrets)
- potibm/phluesky Composer library - handles parsing the text for "facets", uploading images, doing the actual posts.
- PHP 8.2 (minimum) - minimum requirement of the potibm/phluesky library.
Recommended modules/libraries
- ECA module (to post a message to BlueSky)
Similar projects
None found that integrate with BlueSky.
Supporting this Module
We are very much interested in having others co-maintain this module -- we are not big social media users. PRs to add functionality or fix issues are highly encouraged!