Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

davegallant/rfd-notify

Repository files navigation

rfd-notify

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.

Prerequisites

  • either poetry, docker, or github actions

Usage

The simplest way to get started is to clone this repo, and run with docker:

docker run --rm -v "$(pwd)/examples/config.yml:/app/config.yml" $(docker build -q -t rfd-notify .)

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

Environment Variables

The following environment variables are required:

VARIABLE DESCRIPTION
APPRISE_URL See supported notifications.

Example Configuration

Pass a list of expressions to be used for discovering deals:

# config.yml
expressions:
 - pizza
 - starbucks
 - price error

Github Actions (and Gitea Actions)

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 "actions@github.com"
 git config --local user.name "RFD Notify"
 git add previous_matches
 git commit -m "Update previous_matches" -a || true
 git push

Gitlab Pipelines

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:2
 entrypoint: [""]
run:
 cache:
 - key: previous_matches
 paths:
 - previous_matches
 script:
 - python /app/rfd_notify/cli.py -c config.yml

About

get notified of deals based on regex

Topics

Resources

License

Stars

Watchers

Forks

Packages

Contributors 4

AltStyle によって変換されたページ (->オリジナル) /