Hello. Following a discussion on #openguides, I've added hooks for
spam detection.
The way it works is that you specify the name of a local module in
your wiki.conf, and OpenGuides will check all edits against this
module before agreeing to commit them. The module should provide a
method called "looks_like_spam", which will be passed the content and
metadata of the edit, and should return true (it's spam) or false
(it's not).
An example:
----------------------------------------------------------------------
package OpenGuides::Local::KakeSpamDetector;
use strict;
sub looks_like_spam {
my ( $class, %args ) = @_;
if ( $args{content} =~ /kitten/i ) {
return 1;
}
}
----------------------------------------------------------------------
Obviously you'll want a more serious check in there :) The neat thing
about doing it like this is that your spam detector module can do
_anything_ you like, including, for example, logging.
Comments?
Kake