=head1 NAME
cpan_bot - an IRC CPAN Info bot
=head1 DESCRIPTION
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 L
=head1 USAGE
perl cpan_bot.pl
=head1 CONFIG
The config file is a file containing a simple hashref which the
script will C default location the script will
look for is ~/.cpan_bot/config however the path can be changed
via enviromental variable C, thus config file
will be located at C<"$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 :)
],
}
=over 10
=item nick
Bot's nickname. Note: PoCo::IRC::NickReclaim is used, thus if C
is taken, bot will use C with an underscore appended.
=item server
The IRC server to connect to.
=item port
The port of IRC server to connect to.
=item ircname
Whatever it is, will be passed to POE::Component::IRC constructor as
a value for 'ircname'
=item do_nickserv
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 C<0> if you can't identify
or bot will not join anything.
=item nickserv_pass
Password to use for identification with NickServ. Ignored if
C is set to a false value.
=item channels
Takes an arrayref of channels to join.
=item PAUSE_options
Takes an I, this is what to pass to
L constructor.
=item CPANInfo_options
Takes an I, this is what to pass to
L constructor.
item CPANLinks_to_docs_options
Takes an I, this is what to pass to
L constructor.
=back
=head1 AUTHOR
Zoffix Znet
( L, L )
=head1 ACKNOWLEDGEMENTS
Thanks to Juerd (L) for providing base code for
CPA::LinksToDocs::No404s module.
=head1 LICENSE
Same as Perl
=cut