Skip to main content

Connect an RSS Feed to Mastodon

Project description

better_feediverse will read RSS/Atom feeds and send the messages as Mastodon posts. It's meant to add a little bit of spice to your timeline from other places. Please use it responsibly.

Install

pip install better_feediverse

Run

The first time you run better_feediverse you'll need to tell it your Mastodon instance and get an access token which it will save in a configuration file. If you don't specify a config file it will use ~/.better_feediverse:

better_feediverse

Once better_feediverse is configured you can add it to your crontab:

*/15 * * * * /usr/local/bin/better_feediverse    

Run better_feediverse --help to show the command line options.

Post Format

You can customize the post format by opening the configuration file (default is ~/.better_feediverse) and updating the template property of your feed. The default format is:

{title} {url}

If you want you can use {summary} in your template, and add boilerplate text like so:

Bookmark: {title} {url} {summary}

{hashtags} will look for tags in the feed entry and turn them into a space separated list of hashtags. For some feeds (e.g. youtube-rss) you should use {link} instead of {url}.

{content} is the whole content of the feed entry (with html-tags stripped). Please be aware that this might easily exceed Mastodon's limit of 512 characters.

Multiple Feeds

Since feeds is a list you can add additional feeds to watch if you want.

...
feeds:
  - url: https://example.com/feed/
    template: "dot com: {title} {url}"
  - url: https://example.org/feed/
    template: "dot org: {title} {url}"

Custom Headers (optional)

if you want to include own headers you can place custom_http_headers in your config:

....
feeds:
  - url: https://example.com/feed/
    template: "dot com: {title} {url}"
    custom_http_headers: 'header1: value1, header2: value2'

Filter (optional)

if you want to exclude some titles you can place ignoretitle in your config:

....
feeds:
  - url: https://example.com/feed/
    template: "dot com: {title} {url}"
    ignoretitle: 'value1, value2'

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

better_feediverse-2.0.1.tar.gz (5.5 kB view hashes)

Uploaded Source

Built Distribution

better_feediverse-2.0.1-py3-none-any.whl (5.9 kB view hashes)

Uploaded Python 3

Supported by

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