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.1
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.1.tar.gz | 8.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rss2discord-0.5.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.7 kB
Release files / rss2discord-0.5.1.tar.gz
| Download URL | rss2discord-0.5.1.tar.gz |
|---|---|
| Size | 8.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7e3a2b87a20c2e84b14c29843721e725f29b9e754e4065338d1a158e5ebaeeef
|
|
BLAKE2b-256 checksum How to use checksums |
939073eb19c0151f61cf687a02131f83e5cdc0e0aafa08a2b62f1af5125ced58
|
| 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.1-py3-none-any.whl
| Download URL | rss2discord-0.5.1-py3-none-any.whl |
|---|---|
| Size | 10.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2a47abe93ae0fb73451233dc7eff451a1ceccd442984861fccd6d86af2183b7b
|
|
BLAKE2b-256 checksum How to use checksums |
f78117c6a9f98e42d203fdf0f0a4618ef076851d23ee332d6a1ab72d09e86243
|
| 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
|