NAME
Bot::R9K
SYNOPSIS
use POE qw(Component::IRC);
use Bot::R9K;
my $irc = POE::Component::IRC->spawn(
nick => 'Bot-R9K',
server => 'irc.botnet.org',
port => 6667,
ircname => 'R9K',
username => 'r9k',
debug => 1,
);
POE::Session->create(
package_states => [
main => [ qw(_start irc_001) ],
],
);
$poe_kernel->run;
sub _start {
$irc->yield( register => 'all' );
$irc->plugin_add(
'R9K' =>
Bot::R9K->new
);
$irc->yield( connect => {} );
}
sub irc_001 {
$_[kernel]->post( $_[sender] => join => '#channel' );
}
DESCRIPTION
Bot::R9K is a PoCo::IRC plugin that runs an R9K bot for you. The R9K bot watches for repeated messages and silences anyone who says something that has been said before. The more times it has been said, the longer the silence.
Remember to op your bot when it joins.
METHODS
new
Create a new bot: see SYNOPSIS.
Options
- ignore
-
An array ref of regexes to ignore. They are tested against the full nick (with the ! and the @ and everything).
- exceptions
-
An array ref of regexes defining exempt messages.
- punishment
-
A subref. This will be passed [c]$self[/c], [c]$nick[/c] and [c]$chan[/c]. Do what you want; the default is to remove voice and ban (but not kick).
- unpunishment
-
A subref. Receives the same info as [c]punishment[/c]. Use this to reverse the punishment. By default it removes the ban and sets voice, regardless of whether the user originally had voice (the point of the bot is rather that you can silence people, so everyone who is not silenced should have voice).
DO WHAT, SON?
R9K is short for ROBOT9000 and that is a thing that enforces originality by punishing you for saying something that someone else has said before.
Here is an xkcd blog post explaining what the R9K bot does. http://blog.xkcd.com/2008/01/14/robot9000-and-xkcd-signal-attacking-noise-in-chat/
BUGS
Dunno.
Report bugs at http://github.com/Altreus/Bot-R9K/issues
AUTHOR
Alastair McGowan-Douglas (Altreus)
LICENCE
This module is released under the X11/MIT licence, as found here http://www.opensource.org/licenses/mit-license.php