RSS to Matrix bot
Find a file
2025-02-18 01:35:10 +00:00
.gitignore Update changes 2025-02-18 01:35:10 +00:00
example-config.yaml Update example-config.yaml 2025-01-30 08:41:39 +00:00
README.md Update README.md 2025-01-30 08:40:35 +00:00
russy.py Auto-update: Thu 30 Jan 2025 08:31:55 AM UTC 2025-01-30 08:31:55 +00:00

russy

russy is a simple RSS-to-Matrix bot that fetches RSS feeds and posts new entries to Matrix rooms. It runs persistently and requires minimal setup.

Features

  • Fetches RSS feeds and posts new entries to Matrix.
  • Uses room aliases and automatically resolves them to real room IDs.
  • Minimal setup just edit config.yaml and run.
  • Lightweight no database, state is stored in a simple YAML file.

Installation

  1. Install Dependencies

    pip install -r requirements.txt
    
  2. Configure config.yaml
    Copy the example config and edit it:

    cp example-config.yaml config.yaml
    

    Set the Matrix server, bot credentials, and RSS feeds. Example:

    matrix:
      server: "https://we2.ee"
      username: "@bot:we2.ee"
      password: "yourpassword"
    
    rss:
      - name: "Tech News"
        feed: "https://example.com/rss"
        room: "#tech:we2.ee"
        interval: 3600
    
      - name: "World News"
        feed: "https://news.com/world/feed"
        room: "#worldnews:matrix.org"
        interval: 60
    

Usage

Run the bot with:

python russy.py

Once running, it will:

  • Join the configured Matrix rooms if not already a member.
  • Monitor RSS feeds and post new articles as they appear.
  • Run continuously, checking for updates at regular intervals.

To stop it, use Ctrl+C.


Notes

  • The bot must be invited to private Matrix rooms before it can join.
  • Room aliases (#room:server) must be valid and correctly mapped to room IDs.
  • By default, it checks feeds once per hour (configurable in config.yaml).