Overview
Discover what makes FeedCord powerful
FeedCord is a lightweight, self‑hosted RSS and YouTube feed aggregator that posts updates directly to Discord via webhooks. From a developer standpoint, it functions as an event‑driven microservice: every configured feed is polled on a configurable interval, new items are parsed and transformed into Discord embed payloads, then dispatched to the target webhook. The service is intentionally stateless beyond a minimal persistence layer that can be toggled on shutdown, making it trivial to redeploy or scale horizontally in containerized environments.
Feed Scheduler
Feed Parsers
Embed Builder
Webhook Dispatcher
Overview
FeedCord is a lightweight, self‑hosted RSS and YouTube feed aggregator that posts updates directly to Discord via webhooks. From a developer standpoint, it functions as an event‑driven microservice: every configured feed is polled on a configurable interval, new items are parsed and transformed into Discord embed payloads, then dispatched to the target webhook. The service is intentionally stateless beyond a minimal persistence layer that can be toggled on shutdown, making it trivial to redeploy or scale horizontally in containerized environments.
Architecture
The core of FeedCord is written in C# using the .NET 8 runtime, leveraging ASP.NET Core’s hosting abstractions for scheduling and dependency injection. It uses System.Net.Http for HTTP requests, AngleSharp for HTML parsing when needed, and Microsoft.Extensions.Configuration to load the appsettings.json configuration file. Data persistence is optional and implemented via a lightweight JSON store or an in‑memory dictionary when PersistenceOnShutdown is disabled. The application exposes no external API; interaction occurs solely through the configuration file and Discord webhooks, which keeps the attack surface minimal.
Key Components
- Feed Scheduler – A
Timer‑based orchestrator that respects the globalConcurrentRequestslimit and individual instance intervals. - Feed Parsers – Separate modules for RSS/Atom feeds, YouTube channel feeds (via the XML feed URL), and optional JSON endpoints.
- Embed Builder – Transforms parsed items into Discord embed objects, supporting custom colors, description truncation, and Markdown formatting.
- Webhook Dispatcher – Sends HTTP POST requests to Discord webhook URLs, handling rate limits and retry logic.
Core Capabilities
- Multi‑Instance Support – Configure dozens of feed instances in a single
appsettings.json, each with its own webhook, color scheme, and polling interval. - YouTube Integration – Pulls uploads from any channel by parsing the base URL or using a direct XML feed link.
- Forum Channel Compatibility – When
Forumis enabled, FeedCord creates a new thread per feed item instead of posting to a standard channel. - Auto‑Removal – Optional cleanup of old embeds after a configurable period, preventing clutter in active channels.
- Extensibility Hooks – The codebase exposes virtual methods for parsing and embed generation, allowing developers to subclass and inject custom logic without modifying the core.
Deployment & Infrastructure
FeedCord runs as a simple console application, making it ideal for Docker deployments. A minimal Dockerfile can expose the runtime on a single port (though no HTTP endpoint is required) and mount a local appsettings.json for configuration. For larger deployments, Kubernetes or Docker Compose can orchestrate multiple replicas; the stateless design ensures that any instance can take over if another fails. The application’s low memory footprint (< 50 MiB) and modest CPU usage (≈10 ms per feed poll) mean it can comfortably run on a single VPS or even a Raspberry Pi.
Integration & Extensibility
While the primary integration point is Discord webhooks, FeedCord can be embedded into larger systems. For example, a CI/CD pipeline could generate an appsettings.json on the fly and trigger FeedCord to post build status updates. The open‑source nature allows contributors to add new feed types (e.g., JSON APIs, Twitter RSS) by implementing the IFeedParser interface. Webhooks can be chained to downstream services such as Slack or Mattermost by forwarding the Discord embed payloads.
Developer Experience
The configuration schema is self‑documenting; each property in appsettings.json has an explicit description in the reference documentation. The project includes a comprehensive README, inline XML comments, and unit tests that cover parsing logic and webhook dispatch. Community support is active on GitHub Discussions, where contributors share custom parsers and deployment scripts. Licensing under MIT ensures no commercial restrictions.
Use Cases
- Community News Channels – Automatically surface blog posts, tech news, or niche newsletters into a Discord server’s discussion threads.
- YouTube Content Promotion – Keep followers updated on new uploads from favorite channels without manual posting.
- Product Release Feeds – Monitor multiple vendor RSS feeds and push release notes to a dedicated channel for rapid internal communication.
- Personal Automation – Individuals can use FeedCord as a lightweight RSS reader that integrates directly with their Discord DM or channel.
Advantages
- Zero‑Maintenance – Once configured, FeedCord requires no manual intervention; it handles polling, parsing, and posting autonomously.
- Performance – Built on .NET 8 with async I/O, it scales horizontally and handles high‑frequency feeds without throttling.
- Flexibility – The configuration file is the sole source of truth; no database migrations or schema changes are needed when adding feeds.
- Open Source & MIT – Free to use, fork, and modify; no licensing fees or vendor lock‑in.
- Discord‑First Design – Optimized for Discord’s embed format and thread handling, ensuring a native look and feel.
FeedCord provides developers with a robust, extensible foundation for integrating RSS/YouTube feeds into Discord ecosystems, all while maintaining simplicity and high performance.
Open SourceReady to get started?
Join the community and start self-hosting FeedCord today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Easy-WI
Automated game & voice server management platform
MeiliSearch
Lightning‑fast, user‑friendly search engine for apps and sites
SiYuan
Personal knowledge management, offline-first with end-to-end encryption
LibreTime
Self‑hosted radio station automation
MinIO
Fast, S3-compatible object storage for AI and analytics
webtrees
Collaborative online genealogy platform for family tree management.
