
cpan_bot - an IRC CPAN Info bot

An IRC bot to report recent uploads to PAUSE and provide information about CPAN authors/distributions/modules, as well as gives out links to documentation on http://search.cpan.org/

perl cpan_bot.pl

The config file is a file containing a simple hashref which the script will do'' default location the script will look for is ~/.cpan_bot/config however the path can be changed via enviromental variable CPAN_BOT_DIR, thus config file will be located at "$CPAN_BOT_DIR/config"
The sample config file is as follows:
{
nick => 'CPAN2',
server => 'irc.freenode.net',
port => 6667,
ircname => 'CPAN bot',
do_nickserv => 1,
nickserv_pass => 'passo-word',
channels => [ '#zofbot' ],
PAUSE_options => [
store => '/home/zoffix/.cpan_bot/pause.data',
login => 'ZOFFIX',
pass => 'passo-word',
interval => 600,
channels => [ '#zofbot' ],
],
CPANInfo_options => [
path => '/home/zoffix/.cpan_bot/',
],
CPANLinks_to_docs_options => [
# nothing to see here :)
],
}
Bot's nickname. Note: PoCo::IRC::NickReclaim is used, thus if nick is taken, bot will use nick with an underscore appended.
The IRC server to connect to.
The port of IRC server to connect to.
Whatever it is, will be passed to POE::Component::IRC constructor as a value for 'ircname'
This is was developed for FreeNode IRC network. If set to a true value will identify with services before joining any channels. Not tested on any other networks, make sure to set to 0 if you can't identify or bot will not join anything.
Password to use for identification with NickServ. Ignored if do_nickserv is set to a false value.
Takes an arrayref of channels to join.
Takes an arrayref, this is what to pass to POE::Component::IRC::Plugin::PAUSE::RecentUploads constructor.
Takes an arrayref, this is what to pass to POE::Component::IRC::Plugin::CPAN::Info constructor.
item CPANLinks_to_docs_options
Takes an arrayref, this is what to pass to POE::Component::IRC::Plugin::CPAN::LinksToDocs::No404s constructor.

Zoffix Znet <zoffix@cpan.org> ( http://zoffix.com, http://haslayout.net )

Thanks to Juerd (http://tnx.nl/404) for providing base code for CPA::LinksToDocs::No404s module.

Same as Perl