Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/banonotit/rss-to-telegram


https://github.com/banonotit/rss-to-telegram

Last synced: 15 days ago
JSON representation

Awesome Lists containing this project

README

        

# rss-to-telegram

Features:
- [ ] RSS parsing
- [ ] Atom parsing
- [ ] Telegram messaging
- [ ] Saving last state to file
- [ ] Template language for messages
- [ ] Escaped html
- [ ] Telegram message pinning
- [ ] Auth in sources
- [ ] Implement daemon mode with schedule
- [ ] Implement inline link buttons
- [ ] Create a JSON Schema for config files

## Files
**Config file format**
```yaml
%YAML 1.2
---
# this file is located in $XDG_CONFIG/rss-to-telegram/config.yaml or is passed through --config/-c param
version: rss2telegram/v0-alpha

tasks:
- id: url-complaint-task-id-to-be-used-in-logs
first run:
# using full iso8601 / rfc3339
since: 1985-04-12T23:20:50.52Z
# or
config file attr: mtime # or ctime
# or
skip: yes

sources:
- url: https://login:[email protected]/rss.xml

messages:
# only html format available
- pin: yes
silent: yes
attachments:
- channel image
- mime: image/*
with caption: yes
- mime: video/mp4
with caption: yes
template: |
{{ title }}
{{ excerpt | cleanTg }}

{{ date | date "Y/M/d T:mm" }}

- chain to previous: yes
attachments:
- mime: audio/*
with caption: yes

- chain to previous: yes
attachments:
- mime: */*
with caption: yes

outputs:
- token: 123456:deafdeadbeefe
receivers:
- -123465
- @channelname
- -87951349875661687 # long numbers should be done witout strings

persist:
path: /absolute/file/path.yaml # or is provided by --persist/-P

daemon:
enabled: yes # or use --daemon / -d
schedule: */5 * * * * # cron syntax
```

**Persistant file format**
```yaml
last run: 2020-01-01T01:01:01Z

sources:
- uuid: 000000000-000000-000000-000000 # uuid generated using url
internal id: http://asdf;lkja;lskdjfas # id generated by source
masked url: https://***@example.com/rss.xml # somehow secured url
ETag: jklkjklj
accessed: 2020-01-01T01:01:01Z
```