tjournal / reviewer
Reviewer — PHP library for track App Store reviews with Slack
Installs: 384
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 9
Forks: 0
pkg:composer/tjournal/reviewer
Requires
- php: >=5.4.0
- guzzlehttp/guzzle: ~6.0
- maknz/slack: ~1.7
- psr/log: ~1.0
Suggests
- monolog/monolog: Monolog sends your logs to files, sockets, inboxes, databases and various web services
- predis/predis: Predis is a flexible and feature-complete Redis client library for PHP
README
Simple library to track App Store reviews with Slack.
Installing via Composer
composer.phar require tjournal/reviewer
Next require Composer's autoloader:
require 'vendor/autoload.php';
Simple usage
You should use external database to store already sent reviews. We advice Redis with Predis library. Library should implement sismember, sadd, exists and set methods.
You need to create new Incoming webhook in Slack and change {APPID} with the real app id:
try { $storage = new Predis\Client(); $reviewer = new TJ\Reviewer({APPID}); $reviewer->setStorage($storage); $reviewer->setSlackSettings(['endpoint' => 'https://hooks.slack.com/services/ABCDE/QWERTY', 'channel' => '#reviews']); $reviewer->start(); } catch (Exception $e) { // handle errors }
Then add your script to crontab:
sudo crontab -e */15 * * * * php crontab.php
Monolog integration
If you want to track internal library errors you can use Monolog. Here is the easiest way:
use Monolog\Logger; use Monolog\Handler\StreamHandler; $monolog = new Logger('Reviewer'); $monolog->pushHandler(new StreamHandler('/tmp/reviewer.log', Logger::DEBUG)); $reviewer->setLogger($monolog);
Countries
There is a way to change set of countries from whence Reviewer is getting fresh app's reviews.
try { $reviewer = new TJ\Reviewer({APPID}); ... $reviewer->countries = ['ru' => 'Russia', 'us' => 'US', 'fi' => 'Finland', 'fr' => 'France']; $reviewer->start(); } catch (Exception $e) { // handle errors }