Custom Comparisons

This documentation site is deprecated. Please visit the control panel at https://monitorss.xyz for all up-to-date functionality

Custom Comparisons are additional checks after the default algorithm determines whether an article is new or old. They can be accessed by the compare command. Properties on the original article object are used. To get the original properties, use the dump command with the original argument. For nested keys, separate them with _.

All comparison keys are from the original feed object, which can be accessed through the rss.dump original command. If the values are not pure strings, they will get ignored (this includes dates).

To remove all settings, add the reset argument, for example rss.compare reset.

Blocking Comparisons

"blocking" comparisons will check additional article properties to attempt to block an article from sending after default algorithms mark an article as new.

An example use case is when you don't want articles with the same title to send.

Passing Comparisons

"passing" comparisons will check additional article properties to attempt to pass an article for it to send after default algorithms mark an article as old.

An example use case is when you want the same article that frequently changes description to repeatedly send.

If date checks are turned on, an article that passes p-comparisons will still be blocked if it is marked old via date checks.

Format

Feed
{
    "title" : "some title", 
    "url" : "https://somefeed.com/feed.xml", 
    "channel" : "12345", 
    "text" : "📰  |  **{title}**\n\n{description}\n\n{subscriptions}",
    "pcomparisons" : [
        "description"
    ],
    "ncomparisons": [
        "title"
    ]
}

Example

Assume dump original gives the file contents:

[
  {
    "title": "[Monitor] Samsung Odyssey G5-34\" UWQHD 3440x1440 165hz 1ms VA-($599.99-$50.00)$549.99",
    "description": "<table> <tr><td> <a href=\"https://www.reddit.com/r/buildapcsales/comments/ldz9yg/monitor_samsung_odyssey_g534_uwqhd_3440x1440/\"> <img src=\"https://b.thumbs.redditmedia.com/ynjnniuznA1nN7hZHSSU3jRzTRcE8E1JifDtXWUNWPA.jpg\" alt=\"[Monitor] Samsung Odyssey G5-34&quot; UWQHD 3440x1440 165hz 1ms VA-($599.99-$50.00)$549.99\" title=\"[Monitor] Samsung Odyssey G5-34&quot; UWQHD 3440x1440 165hz 1ms VA-($599.99-$50.00)$549.99\" /> </a> </td><td> &#32; submitted by &#32; <a href=\"https://www.reddit.com/user/SenorSalsa\"> /u/SenorSalsa </a> <br/> <span><a href=\"https://www.bestbuy.com/site/samsung-g5-odyssey-34-curved-gaming-monitor-with-165hz-refresh-rate-black/6445082.p?skuId=6445082\">[link]</a></span> &#32; <span><a href=\"https://www.reddit.com/r/buildapcsales/comments/ldz9yg/monitor_samsung_odyssey_g534_uwqhd_3440x1440/\">[comments]</a></span> </td></tr></table>",
    "summary": null,
    "date": "2021-02-06T15:03:27.000Z",
    "pubdate": "2021-02-06T15:03:27.000Z",
    "pubDate": "2021-02-06T15:03:27.000Z",
    "link": "https://www.reddit.com/r/buildapcsales/comments/ldz9yg/monitor_samsung_odyssey_g534_uwqhd_3440x1440/",
    "guid": "t3_ldz9yg",
    "author": "/u/SenorSalsa",
    "comments": null,
    "origlink": null,
    "image": {
      "url": "https://b.thumbs.redditmedia.com/ynjnniuznA1nN7hZHSSU3jRzTRcE8E1JifDtXWUNWPA.jpg"
    }
  }
]

The first object is an example of an article object.

If you'd like the article to be delivered whenever the image.url changes for any article, the command would be rss.compare +image_url.

If you'd like the article to be delivered whenever the both the image.url and the author changes, the command would be rss.compare +image_url +author.

If you'd like articles to be blocked if a title was already posted by another article, the command would be compare -title.

If you'd like articles to be blocked if either the title or the guid was posted by another article, the command would be compare -title -guid.

You can mix + and - as much as you'd like.

Last updated