Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nezort11/rss-notifier
Python script that notifies about changes to Upwork RSS feed via Telegram bot.
https://github.com/nezort11/rss-notifier
notifier rss upwork
Last synced: about 1 month ago
JSON representation
Python script that notifies about changes to Upwork RSS feed via Telegram bot.
- Host: GitHub
- URL: https://github.com/nezort11/rss-notifier
- Owner: nezort11
- License: mit
- Created: 2022-01-16T10:49:22.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-01T10:00:53.000Z (almost 2 years ago)
- Last Synced: 2024-04-28T04:31:16.629Z (9 months ago)
- Topics: notifier, rss, upwork
- Language: Python
- Homepage:
- Size: 35.2 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RSS updates notifier
## Getting started using
First clone the repo onto your server:
```sh
git clone https://github.com/Egor4ik325/rss-notifier
cd rss-notifier
```Create and edit `config.toml` in `src/` folder (based on `config.toml.example`).
Customize non-secret setting such as query and update check interval.Also `src/entries.json` file must exists (can be empty).
Upwork: To get `securityToken`, `userUid` and `orgUid` go the Upwork, search for any jobs, look for RSS link,
get these settings from RSS link query params.Telegram bot: Go to @BotFather and create new bot, paste token under `[bot].token` in `config.toml`.
Sentry: To get information when something goes wrong with the notifier, go to https://sentry.io and create a new project, paste key inside config file under `[sentry].key`.
After all of that build an Docker image and run a container:
```sh
# 'docker-compose' for V1 / 'docker compose' for V2
docker compose build
docker compose up -d
```## Desc
RSS updates notifier program and bot that send information about updates to RSS source.
I will use it primarily for getting Upwork job updates:
- check for updates every minute
- send short information about new job (price, title)
- information persistance (file/json serialization)
- periodic execution (timer, scheduler)
- bot update subscribersDisplay most important information:
- title
- budget
- category
- skills## Roadmap
These are the tasks that need to be solved when building such program:
- [x] Construct RSS source function
- [x] Get the RSS file
- [x] Parse RSS/XML file to determine new entries
- [x] Check for new entries/jobs
- [x] Implement bot subscribers list
- [x] Broadcast updates to subscribers
- [x] Convenient configuration interface via bot
- [x] Add Sentry error logging
## Tags
rss, feed, notifier, updates, news, parser, listener, scraper, upwork, jobs, poller, broadcast, jobs.