Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ntrotner/matrix-rss
Matrix Bot to Fetch RSS and Send it to a Room
https://github.com/ntrotner/matrix-rss
feed matrix rss
Last synced: about 2 months ago
JSON representation
Matrix Bot to Fetch RSS and Send it to a Room
- Host: GitHub
- URL: https://github.com/ntrotner/matrix-rss
- Owner: ntrotner
- Created: 2021-01-18T21:39:29.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2021-07-01T15:33:32.000Z (over 3 years ago)
- Last Synced: 2023-03-06T02:33:59.111Z (almost 2 years ago)
- Topics: feed, matrix, rss
- Language: TypeScript
- Homepage:
- Size: 34.2 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# RSS Bot
This bot allows one to get RSS feed messages through the Matrix messenger protocol.## Requirements
- `npm`
- `npx`
- `node`## How to Run
- Matrix
- Create user account on a server and add user and password to the `settings.json`
- Create or join a room with that account
- settings.json
- Set the sync interval to rerun every x hours
- Add a server and room url
- In the "emitter" array one can add as many RSS emitter as desired
(There are some predefined ones, but they are just for reference)
- Run
- Default: `cd rss-fetch && npm install && npm start`
- ~~Build and run with docker: `docker build -t rssbot .` `docker run -d -v /path/to/Matrix-RSS-Feed/:/matrix rssbot`~~### Optional
- One can also emit different RSS feeds to other rooms by adding an object to "rssRooms"
- Customize the messages you receive by editing the `message-template.html`, as see in the "Template" section.### Note
On the first time every fetched RSS feed will be sent to you.
The next ones will only include new ones.## Template
Available RSS attributes that are used as id in the template:
- "title"
- "categories"
- "content
- "contentSnippet
- "creator"
- "enclosure"
- "guid"
- "isoDate"
- "link"
- "pubDate"### Example
The first two will be filled with title and creator (if exists in the RSS).
The third one won't be filled, as the class isn't mentioned.
```html
Text
```## TODO
- Docker support
- ~~Make it possible to use rooms with encryption (as it is a core feature of Matrix)~~ (somehow working)
- ~~Find a way to close the connection of the client after every message is sent~~ (connection is reused)
- Fix encoding issue of rss-parser
- ~~Integrate timestamp anchor to local storage~~ (working)
- ~~General testing for cross server usage~~ (working)