Skip to content

Latest commit

 

History

History
72 lines (61 loc) · 1.97 KB

README.md

File metadata and controls

72 lines (61 loc) · 1.97 KB

Notify is a (very stupid) ruby script that will periodically visit a web page and notify you based on changing web content which you specify.

For example - you would like to know when a certain product page no longer displays the text "Not in stock". IE you want a Logitech camera and don't want to spend all your free time refreshing the product page.

{
  "url": "https://www.logitech.com/de-de/product/hd-pro-webcam-c920s",
  "criteria": {
    "js_selector": "#section-product-hero > div.container.product-hero-container-top.js-productContainerTop > div.product-details-ctn.js-productDetailsCtn > div > div.product-details-block.cart.buyAtPartner.black > div > p.product-hero-availability-message",
    "match": {
      "condition": "ne",
      "text": "Nicht auf Lager"
    }
  },
  "interval": 60
},
...

Installation

(only macOS currently)

bundle install

Usage

ruby ./main.rb watch config.json
{
  "url": "https://www.logitech.com/de-de/product/hd-pro-webcam-c920s",
  "criteria": {
    "js_selector": "#section-product-hero > div.container.product-hero-container-top.js-productContainerTop > div.product-details-ctn.js-productDetailsCtn > div > div.product-details-block.cart.buyAtPartner.black > div > p.product-hero-availability-message",
    "match": {
      "condition": "ne",
      "text": "Nicht auf Lager"
    }
  },
  "interval": 60,
  "notification": {
    "name": "Logitech webcam stock check",
    "from": "[email protected]",
    "to": "[email protected]",
    "redirect": "https://www.logitech.com/de-de/product/hd-pro-webcam-c920s",
    "server": {
      "address": "smtp.notify.com",
      "port": 587,
      "domain": "mail.notify.com",
      "username": "[email protected]",
      "password": "$up@S3cu]Ur3"
    }
  }
}

Command helper:

ruby ./main.rb help