This tool looks for matches on RedFlagDeals.com forums and will send push notifications via apprise.
This was originally written before alerts existed. With rfd-notify, alerts never expire and support regular expressions.
- either poetry, docker, or github actions
- for email notifications see supported providers
The simplest way to get started is to clone this repo, and run with docker:
docker run -it -v "$(pwd)/examples/config.yml:/app/config.yml" ghcr.io/davegallant/rfd-notify:1
To run the code with poetry, clone this repo and run the following:
poetry install
poetry run python rfd_notify/cli.py -c examples/config.yml
The following environment variables are required:
VARIABLE | DESCRIPTION |
---|---|
APPRISE_URL | See notifications. |
Pass a list of expressions to be used for discovering deals:
# config.yml
expressions:
- pizza
- starbucks
- price error
Commiting the pickled data (previous_matches) back into the repository is a bit of a hack, but allows for a simpler setup.
An action can be setup to scan for deals, send a notification and store previously found deals in the repo.
The following workflow requires an APPRISE_URL
secret.
# .github/workflows/rfd-notify.yml
on:
schedule:
- cron: "*/5 * * * *"
jobs:
rfd_notify:
name: rfd-notify
steps:
- name: Checkout
uses: actions/checkout@v4
with:
sparse-checkout: |
config.yml
previous_matches
- name: git pull
run: git pull
- name: Run rfd-notify
uses: davegallant/rfd-notify@main
env:
APPRISE_URL: ${{ secrets.APPRISE_URL }}
- name: Commit and push changes
run: |
git config --local user.email "[email protected]"
git config --local user.name "RFD Notify"
git add previous_matches
git commit -m "Update previous_matches" -a || true
git push
Create a scheduled pipeline to run on a regular interval.
With Gitlab Pipelines, the following configuration works:
#.gitlab-ci.yml
default:
image:
name: ghcr.io/davegallant/rfd-notify:1
entrypoint: [""]
run:
cache:
- key: previous_matches
paths:
- previous_matches
script:
- python /app/rfd_notify/cli.py -c config.yml