Skip to content

Latest commit

 

History

History
33 lines (30 loc) · 1.37 KB

README.md

File metadata and controls

33 lines (30 loc) · 1.37 KB

PatchBot

Patch Notification Robot: Providing you the latest update notifications.

Installation

Remove .example suffix from files and modify configuration to your needs. Run periodically php PatchCollector.php to collect the latest product versions from vendor websites. Limit requests, so web servers will not overload. For data export to webpage, RSS feed, Mastodon and Twitter use output of PatchViewer.php, PatchFeeder.php, PatchMastodon.php or PatchTwitter.php. Twitter requires a separate developer registration.

Writing web scraper

  • Inherit from PatchBase base class:
class MyProgram extends PatchBase {
	function __construct() {
		parent::__construct('Vendor', 'Product', 'https://www.vendor.com/product/');
		[$this->patch->setBranch('Branch');]
	}
	...
}
  • Implement check() method to extract version information from website using this template:
function check() : bool {
	if ($this->fetch[_json|_yaml]('https://www.url.com/'))
		return $this->parse...
	return false;
}
  • Currently available parser functions for JSON and RegEx:
    • parse_json(string)
    • parse_yaml(string)
    • parse(string)

Donate