rss2discord
A simple script for posting RSS feeds to a Discord webhook.
Installation
You can install this using pipx or the like, e.g.
pipx install rss2discord
Configuration
First, set up a webhook on Discord; consult the Discord Intro to Webhooks for more information.
Then, for each webhook, create a .json file with the following format:
{
"webhook": "https://discord.com/api/webhooks/<channel_id>/<token>",
"database": "feed.db",
"username": "RSS Bot",
"avatar_url": "https://example.com/bot.png",
"include_summary": true,
"include_image": false,
"feeds": [{
"feed_url": "https://example.com/feed",
"username": "Example Feed",
"avatar_url": "https://example.com/image.png",
"include_image": true,
"content": "<@&1272615804453785631>"
}, {
"feed_url": "https://example.com/another_feed",
"avatar_url": "https://example.com/another_image.png",
"include_summary": false
},
"https://example.com/feed3",
"https://example.com/feed4"
]
}
The schema is pretty basic; at the top level, the following keys are supported:
-
webhook: the webhook URL (i.e. the channel to post to); REQUIRED -
database: The path to the file to store the information about already-seen entries; REQUIRED -
username: The display name to use for the posting bot (will default to the webhook name) -
avatar_url: An image to use as the post avatar (will default to the webhook's icon) -
include_summary: Whether to put the feed's summary text into the preview (defaults totrue) -
include_image: Whether to include the primary entry image into the preview (defaults totrue) -
summary_limit: The limit of how many characters to include in the post text (defaults to 512) -
content: Text to include with the update (for e.g.@notifications) -
feeds: A list of feeds to send to the channel. A feed can be just a URL, or it can be a configuration blob with the following values:feed_url: The URL to the feedusername,avatar_url,include_summary,include_image,content: Overrides the top-level configuration
Running it
You can run rss2discord config.json and it will go ahead and post all new items to the Discord channel. rss2discord --help will give you more detailed information about how to use it.
When first setting things up, I highly recommend doing:
rss2discord config.json -nvv
to get an idea of what will happen, and
rss2discord config.json -p
to pre-populate the database with existing items so that it doesn't spam the channel, unless you like that sort of thing.
Metadata
Release files for rss2discord 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rss2discord-0.5.0.tar.gz | 8.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rss2discord-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.7 kB
Release files / rss2discord-0.5.0.tar.gz
| Download URL | rss2discord-0.5.0.tar.gz |
|---|---|
| Size | 8.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bf683ea4268eb318673a25529ef5cf998925c7ac00a76b5a1115bc495c8b379c
|
|
BLAKE2b-256 checksum How to use checksums |
b338f124890996c459c774d0e468717d2093ff1bbfd1939d6f38b38f4c9d53db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.4 CPython/3.13.15 Darwin/27.0.0
|
Release files / rss2discord-0.5.0-py3-none-any.whl
| Download URL | rss2discord-0.5.0-py3-none-any.whl |
|---|---|
| Size | 10.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a05405da8f363450e580be91ff777430782b01f9765a32f8a73579f4c358f97c
|
|
BLAKE2b-256 checksum How to use checksums |
38ce5daee2ae05417c25a5af924fd4feef99a731a3042eb8c486182616dc4227
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.4 CPython/3.13.15 Darwin/27.0.0
|