Skip to main content

Fetch info about Bluesky links in your IRC conversations using Sopel.

Project description

sopel-bsky

Fetch info about Bluesky links in your IRC conversations using Sopel.

Installing

Releases are hosted on PyPI, so after installing Sopel, all you need is pip:

$ pip install sopel-bsky

Please note that the atproto package maintains a strict Python version policy, so installation might not be possible on a given Python release even if Sopel itself is compatible with it. Drop by GitHub and open a PR or issue if you notice that the dependencies are outdated.

Configuring

The easiest way to configure sopel-bsky is via Sopel's configuration wizard—simply run sopel-plugins configure bsky and enter the values for which it prompts you.

Account login

At present, you need to give the plugin a Bluesky account for which you don't mind storing the handle & password in Sopel's config file in plain text. It's recommended to create a new account specifically for your bot, instead of using your real account's credentials (if you have one).

Output behavior

These settings control how sopel-bsky displays skeet contents.

newline_replacement

Default value: "⏎"

Runs of one or more newlines in a skeet's text will be replaced with this string, wrapped in spaces. For example, the default value of is used like this:

<Sopel> [skeet] Wil Wheaton (@wilwheaton.net) | 6 hours, 28 minutes ago |
        Ranking Star Wars movies is a thing? ⏎ Okay, I'll get in on this. ⏎ 1.
        Empire Strikes Back ⏎ 2. Star Wars 1977 theatrical release ⏎ 3. Rogue
        One ⏎ 4. Return of the Jedi (because I was 11) ⏎ Everything else is
        somewhere between "meh" and "why. why. y u do dis?" [sad kitten dot jpg]

The special value off will disable newline substitution. Note that leading & trailing spaces in the value you enter will be ignored; this is a limitation of Sopel's config format and parser.

Maintenance Note

This plugin as it exists now is mostly a proof of concept, just to have some minimal level of parity with the Sopel ecosystem's support for Twitter (it is not called X!) and Mastodon.

Showing details for links to Bluesky users and posts was tested and confirmed working as of the last release's publish date. The plugin is published in the hope that it will be useful; in case of breakage or needed improvements, pull requests are always welcome.

Changelog

0.2.0

Added:

  • Configurable replacement character for newlines in skeet text (#11, #12)

Fixed:

  • Fix handling of skeet links using DID instead of handle (#10)

General:

  • Updated atproto library version for Python 3.9+ (#6)
  • Require newer, faster-to-start pydantic on supported Python versions (#6)
  • Lazy-load atproto at plugin startup (#7)

0.1.2

  • Bumped atproto library version
  • Fixed parsing ISO-format timestamps without milliseconds
  • Meta-updates (package metadata, workflows)

Note: This release doesn't support Python 3.14 (which became stable earlier in October 2025), because atproto doesn't support it yet.

0.1.1

Bumped atproto library version. Skeets with video (a recently added feature) no longer cause exceptions.

0.1.0

First release of sopel-bsky.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sopel_bsky-0.2.0.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sopel_bsky-0.2.0-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file sopel_bsky-0.2.0.tar.gz.

File metadata

  • Download URL: sopel_bsky-0.2.0.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sopel_bsky-0.2.0.tar.gz
Algorithm Hash digest
SHA256 bf2b89cbd1b8f71214e44623106eb086ccd0327a0d2f253d3b1b3c853c53cbff
MD5 6256e9364c9ab48965b33e2ce8bc263d
BLAKE2b-256 eea1e334385c953b4dd25cf976b516c314c55368305a7e31109c8b17578f9be8

See more details on using hashes here.

Provenance

The following attestation bundles were made for sopel_bsky-0.2.0.tar.gz:

Publisher: pypi.yml on dgw/sopel-bsky

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sopel_bsky-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: sopel_bsky-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sopel_bsky-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6e154313fbcdeb7f74343e3cf461a2013d2745fd56146d9f55d5dd9672062649
MD5 16911e68806ae972668acc032537b77e
BLAKE2b-256 f4f397a8a4731fd96713dc9e97ca06750e65b7f8b3f3be8240adfdc99eb2f626

See more details on using hashes here.

Provenance

The following attestation bundles were made for sopel_bsky-0.2.0-py3-none-any.whl:

Publisher: pypi.yml on dgw/sopel-bsky

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page