cmdz/spam-canner

Extensible Spam Detection Filters based on snook.ca post


Keywords
filter, spam, detection
License
MIT

Documentation

Spam Canner

Build Status Coverage Status Scrutinizer Code Quality

Extensible Spam Detection Filters based on this snook.ca post

Installation

Available on Packagist. Autoloading is PSR-4 compatible.

composer require cmdz/spam-canner

Usage

Filters are located in the src/Filters directory. You can add your own filters as well, they just need to implement CmdZ\SpamCanner\Filters\FilterInterface and then add them to the $filters array that you pass to Score()


$spamScoreIncrease = 1;
$currentCommentBody = 'abcd';
$previousCommentBody = 'abcd';

$testLink = 'http://www.site.de';
$spammyTlds = ['de'];
$domainParser = new \CmdZ\SpamCanner\Utilities\DomainParser;

$filters = [
  new BodyInPreviousComment($spamScoreIncrease, $currentCommentBody, $previousCommentBody),
  new Tlds($spamScoreIncrease, $testLink, $spammyTlds, $domainParser)
];

$utils = new \CmdZ\SpamCanner\Utilities\Utilities;
$score    = new Score($filters, $utils);
$result   = $score->getScore();
$expected = 2;

Available Filters

See snook.ca post for the ideas behind each filter.

Testing

$ phpunit

License

The MIT License (MIT). Please see the License File for more information.