Name | rss2discord JSON |
Version |
0.1.2
JSON |
| download |
home_page | None |
Summary | A bot for feeding RSS feeds to Discord channels |
upload_time | 2025-07-13 04:29:42 |
maintainer | None |
docs_url | None |
author | fluffy |
requires_python | >=3.11 |
license | None |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# 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](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more information.
Then, for each webhook, create a `.json` file with the following format:
```json
{
"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,
"feeds": [{
"feed_url": "https://example.com/feed",
"username": "Example Feed",
"avatar_url": "https://example.com/image.png"
}, {
"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)
* `database`: The path to the file to store the information about already-seen entries
* `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 standard app icon)
* `include_summary`: Whether to put the feed's summary text into the Discord post; if the summary is shown, then the OpenGraph card will be suppressed, and vice-versa
* `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 feed
* `username`, `avatar_url`, `include_summary`: Overrides the top-level configuration
Only `webhook` is required, but `database` is *strongly* recommended.
## 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.
Raw data
{
"_id": null,
"home_page": null,
"name": "rss2discord",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": null,
"author": "fluffy",
"author_email": "fluffy@beesbuzz.biz",
"download_url": "https://files.pythonhosted.org/packages/b6/25/170c30441b06b3fde20e03cdff62830eb24c97b604d886d56830d9394266/rss2discord-0.1.2.tar.gz",
"platform": null,
"description": "# rss2discord\n\nA simple script for posting RSS feeds to a Discord webhook.\n\n## Installation\n\nYou can install this using `pipx` or the like, e.g.\n\n```\npipx install rss2discord\n```\n\n## Configuration\n\nFirst, set up a webhook on Discord; consult the [Discord Intro to Webhooks](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more information.\n\nThen, for each webhook, create a `.json` file with the following format:\n\n```json\n{\n \"webhook\": \"https://discord.com/api/webhooks/<channel_id>/<token>\",\n \"database\": \"feed.db\",\n\n \"username\": \"RSS Bot\",\n \"avatar_url\": \"https://example.com/bot.png\",\n \"include_summary\": true,\n\n \"feeds\": [{\n \"feed_url\": \"https://example.com/feed\",\n \"username\": \"Example Feed\",\n \"avatar_url\": \"https://example.com/image.png\"\n }, {\n \"feed_url\": \"https://example.com/another_feed\",\n \"avatar_url\": \"https://example.com/another_image.png\",\n \"include_summary\": false\n },\n \"https://example.com/feed3\",\n \"https://example.com/feed4\"\n ]\n}\n```\n\nThe schema is pretty basic; at the top level, the following keys are supported:\n\n* `webhook`: the webhook URL (i.e. the channel to post to)\n* `database`: The path to the file to store the information about already-seen entries\n* `username`: The display name to use for the posting bot (will default to the webhook name)\n* `avatar_url`: An image to use as the post avatar (will default to the standard app icon)\n* `include_summary`: Whether to put the feed's summary text into the Discord post; if the summary is shown, then the OpenGraph card will be suppressed, and vice-versa\n* `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:\n * `feed_url`: The URL to the feed\n * `username`, `avatar_url`, `include_summary`: Overrides the top-level configuration\n\nOnly `webhook` is required, but `database` is *strongly* recommended.\n\n## Running it\n\nYou 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.\n\nWhen first setting things up, I highly recommend doing:\n\n```\nrss2discord config.json -nvv\n```\n\nto get an idea of what will happen, and\n\n```\nrss2discord config.json -p\n```\n\nto pre-populate the database with existing items so that it doesn't spam the channel, unless you like that sort of thing.\n\n",
"bugtrack_url": null,
"license": null,
"summary": "A bot for feeding RSS feeds to Discord channels",
"version": "0.1.2",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "18ddd6d1182e9f8237a01598b307a67c566d8a718631cb61fcb5ae8d06b23a7d",
"md5": "c9f55b82f4c0325047df7f76e9e7c975",
"sha256": "916f840178fbb0b44d8dac461a280be667809161841f38d2d57d3cdb2b6d9744"
},
"downloads": -1,
"filename": "rss2discord-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c9f55b82f4c0325047df7f76e9e7c975",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 5393,
"upload_time": "2025-07-13T04:29:41",
"upload_time_iso_8601": "2025-07-13T04:29:41.258698Z",
"url": "https://files.pythonhosted.org/packages/18/dd/d6d1182e9f8237a01598b307a67c566d8a718631cb61fcb5ae8d06b23a7d/rss2discord-0.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b625170c30441b06b3fde20e03cdff62830eb24c97b604d886d56830d9394266",
"md5": "da3005f677e5ee6fbccdeff53634be84",
"sha256": "b9e562d22869cdc3311fee6e8b91a325dacb42975774e4343f1cbd95a2eb19bd"
},
"downloads": -1,
"filename": "rss2discord-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "da3005f677e5ee6fbccdeff53634be84",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 4477,
"upload_time": "2025-07-13T04:29:42",
"upload_time_iso_8601": "2025-07-13T04:29:42.303120Z",
"url": "https://files.pythonhosted.org/packages/b6/25/170c30441b06b3fde20e03cdff62830eb24c97b604d886d56830d9394266/rss2discord-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-13 04:29:42",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "rss2discord"
}