This project provides an automated solution to generate a single RSS feed for a specific YouTube channel’s community posts. It uses a Python script and a GitHub Actions workflow to periodically scrape community posts and publish them as a standard RSS file, which can be used with any RSS reader or automation tool.
The primary use case is to easily cross-post your YouTube community announcements to other platforms like Discord, Reddit, or Bluesky, which often support RSS feeds.
Start by forking this repository to your own GitHub account. This will create a copy of the entire project under your user profile.
The GitHub Actions workflow needs permission to commit the generated RSS file back to your repository. You must create a Personal Access Token and add it as a secret.
YOUTUBE_RSS_BOT
).repo
(Full control of private repositories). This is the only permission needed.GH_TOKEN
and paste the token you copied into the “Secret” field.Since the script is now for a single channel, you need to edit the generate_rss.py
file to include the CHANNEL_ID
of the channel you want to monitor.
Open the generate_rss.py
file and change the line:
CHANNEL_ID = "UCO6axYvGFekWJjmSdbHo-8Q"
to your channel ID. If you want to use a filename other than feed.xml
, you can also edit the corresponding line.
The workflow (.github/workflows/rss.yml
) is already configured to run the script and commit the generated feed.xml
file. For the first run, you need to run the workflow manually:
Go to the Actions tab of your repository.
Generate Single RSS Feed
workflow in the left sidebar.The workflow will run and commit the new feed.xml
file. It will continue to run hourly to keep the feed updated.
For the RSS feed to be public, you must enable GitHub Pages.
Source
to Deploy from a branch
.main
as the branch and /
(root) as the folder.After the first run of the workflow, you can find your feed at a URL like:
https://[seu-usuario].github.io/[seu-repositorio]/feed.xml