Giter Club home page Giter Club logo

notify's Introduction

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 

notify's People

Contributors

wbrowne avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.