BlueSky
| Schemes | bsky://, bluesky:// |
| Cargo feature | service-bluesky |
| Service | https://bluesky.us/ |
| Body formats | text (first is the default) |
| Attachments | yes |
| Title length | no title (merged into the body) |
| Body length | 280 characters |
| Body lines | unlimited |
| Request throttle | none |
| Vendor URLs accepted | no |
URL formats
{schema}://{user}@{password}
{schema} is one of bsky://, bluesky://.
URL tokens
| Token | Meaning | Type | Required | Default | Notes |
|---|---|---|---|---|---|
{password} | Password | string | yes | secret | |
{user} | Username | string | yes |
Query parameters
No service-specific parameters.
The common URL parameters (format, overflow, verify, redirect, cto, rto, retry, wait, store, tag, tz, user, password, port, optional, emojis) apply as well.
Examples
Accepted URLs (tokens are fake):
bsky://user@app-pw
bluesky://user@app-pw
Rejected URLs:
bluesky://
bluesky://:@/
bluesky://app-pw
Send one from the command line:
mercurio -t 'Backup' -b 'Finished in 42s' 'bsky://user@app-pw'
Notes
BlueSky (bsky://, bluesky://): posts to a BlueSky account through the AT Protocol API.
Flow per message: resolve the handle to a DID, fetch the DID document to find the PDS endpoint, create a session, upload image blobs, then create one record per blob (or a single text record).
The persistent store keeps the DID and PDS endpoint of each handle (did.<handle>, endpoint.<handle>) and the session (access_token, refresh_token for an hour less 10 s, endpoint), so later sends skip the lookups and the login.