RSS feeds to Discord channel using FeedCord
Tired of cluttered feeds and spam-filled inboxes? Try RSS: a simple way to grab headlines without the hassle. This post shows how to integrate RSS into Discord—even if it lacks built-in options, there’s a way to make it work for your server. Let’s dive in!
Let me paint you a picture. If you want to stay on top of industry (or hobby) trends, what’s your game plan? Follow countless individuals and organizations across multiple social media platforms, hoping to outsmart their bizarre algorithms? Or maybe you sign up for every newsletter you can find, only to abandon that inbox when it’s overrun with junk mail after your email is sold off? Ugh, what a headache.
Instead, why not use RSS? It serves up headlines and blurbs, letting you decide what’s worth reading—no accounts, no nonsense. Chances are you’ve seen the RSS logo on a website, clicked it, encountered a wall of code, and noped out of there. Don’t worry, there’s a treasure trove of tools to make it work for you, from browser extensions to full-blown apps.
In this post, I’ll show you how to set up RSS for Discord. Maybe you run your own server, or maybe you’ve done unspeakable things to snag a mod role on someone else’s. Other chat apps like Teams or Slack have their own built in RSS-to-channel integrations, but Discord? Sadly lacking. Sure, there are pre-built bots, but most are paywalled or limit how many sources and channels you can use.
We're going to use FeedCord to run our own RSS bot. It's lightweight, self hosted, and dead simple. This guide will assume you have docker installed already, see one of my previous posts if you need help with that.
First, in the Discord channel you want to send the RSS notifications to, create a Webhook and copy that URL.
The host for this will obviously need to have outbound internet access, to hit the RSS sites and the Discord webhook. Create a folder where you want the config file to persist. I will make one in /home/techbyjeff/feedcord
.
Now let's make the compose.yml
in the folder we just made.
services:
feedcord:
image: qolors/feedcord:latest # for amd64 architecture
# image: qolors/feedcord:latest-arm64 # For arm64 architecture (Uncomment this line and comment the above if using arm64)
container_name: FeedCord
restart: unless-stopped
volumes:
- /home/techbyjeff/feedcord/appsettings.json:/app/config/appsettings.json
We'll need to make the appsettings.json
that we reference.
{
"Instances": [
{
"Id": "Tech News",
"RssUrls": [
"https://anthonyfontanez.com/index.php/feed/",
"https://www.techbyjeff.net/rss/",
"https://skiptotheendpoint.co.uk/settings-rundown/rss/",
"https://techcommunity.microsoft.com/t5/s/gxcuf89792/rss/board?board.id=Windows-ITPro-blog",
"https://entra.news/feed",
"https://techcommunity.microsoft.com/t5/s/gxcuf89792/rss/board?board.id=Identity",
"https://practical365.com/feed/",
"https://techcommunity.microsoft.com/t5/s/gxcuf89792/rss/board?board.id=MicrosoftEndpointManagerBlog",
"https://www.bleepingcomputer.com/feed/",
"https://feeds.arstechnica.com/arstechnica/technology-lab",
"https://www.neowin.net/news/rss/microsoft/",
"https://petervanderwoude.nl/feed/",
"https://ourcloudnetwork.com/feed/",
"https://oofhours.com/feed/",
"https://mobile-jon.com/feed/",
"https://www.lieben.nu/liebensraum/feed/",
"https://www.thirdtier.net/feed/",
"https://us13.campaign-archive.com/feed?u=45c4ca50425f376ea593dcd22&id=c344a80940",
"https://o365info.com/feed/"
],
"YoutubeUrls": [ "" ],
"DiscordWebhookUrl": "https://discord.com/api/webhooks/123456789/blahblahblah",
"RssCheckIntervalMinutes": 30,
"EnableAutoRemove": true,
"Color": 8411391,
"DescriptionLimit": 200,
"Forum": false,
"AvatarURL": "https://cdn-icons-png.flaticon.com/128/14061/14061415.png",
"Username": "Tech News"
}
]
}
Update DiscordWebhookUrl
to be the URL you made earlier for your Discord channel. Username
is what you want the posts bot name to be displayed. AvatarURL
is the profile picture the bot uses. RssCheckIntervalMinutes
is how often you want to hit the RSS endpoints, if it's set to the 3 minutes that Qolors puts in their sample you may end up being blocked depending on the site.
Lastly the bulk of this bot is the RssUrls
. Most of the popular blogging platforms, WordPress, Medium, Ghost, etc have a built in RSS feed that you can tap by adding /rss
or /feed
at the end of the base url. Other sites may have the RSS icon specifically so that you can use that URL. I've included the ones I follow for my entra/intune updates as examples.
With that said, you can now just docker compose up -d
and the bot will be sending new posts to the channel as you've configured. Adding/removing feeds as you come across them is as simple as editing the appsettings.json
file and restarting the container.
That is all there is to it. FeedCord can have multiple webhooks to different channels, even utilizing Discord's Thread channel instead of just posts. Please refer to their github for other samples/fields that can be utilized. I believe there's a webgui in the roadmap, but as-is it very much does what is needed.