dependabot[bot] 0fb34f9fb7 Bump requests from 2.32.3 to 2.32.4 (#412)
Bumps [requests](https://github.com/psf/requests) from 2.32.3 to 2.32.4.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.3...v2.32.4)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.32.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-10 06:27:14 -04:00
2023-02-20 23:23:29 -05:00
2023-02-20 23:23:29 -05:00
2023-02-20 23:23:29 -05:00
2020-10-26 00:35:19 -04:00
2021-04-04 10:38:04 -04:00
2025-03-18 17:00:36 -04:00

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 -it -v "$(pwd)/examples/config.yml:/app/config.yml" ghcr.io/davegallant/rfd-notify:2

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
Description
get notified of deals based on regex
Readme GPL-3.0 4.5 MiB
Languages
Python 92.5%
Dockerfile 6.1%
Shell 1.4%