POE::Component::IRC::Plugin::CoreList - A POE::Component::IRC plugin that provides Module::CoreList goodness.
use strict; use warnings; use POE qw(Component::IRC Component::IRC::Plugin::CoreList); my $nickname = 'Core' . $$; my $ircname = 'CoreList Bot'; my $ircserver = 'irc.bleh.net'; my $port = 6667; my $channel = '#IRC.pm'; my $irc = POE::Component::IRC->spawn( nick => $nickname, server => $ircserver, port => $port, ircname => $ircname, debug => 0, plugin_debug => 1, options => { trace => 0 }, ) or die "Oh noooo! $!"; POE::Session->create( package_states => [ 'main' => [ qw(_start irc_001) ], ], ); $poe_kernel->run(); exit 0; sub _start { # Create and load our CoreList plugin $irc->plugin_add( 'CoreList' => POE::Component::IRC::Plugin::CoreList->new( command => 'core' ) ); $irc->yield( register => 'all' ); $irc->yield( connect => { } ); undef; } sub irc_001 { $irc->yield( join => $channel ); undef; }
POE::Component::IRC::Plugin::CoreList is a port of Bot::BasicBot::Pluggable::Module::CoreList to the POE::Component::IRC plugin framework. It is a frontend to the excellent Module::CoreList module which will let you know what modules shipped with which versions of perl, over IRC.
new
Creates a new plugin object. Takes some optional parameter:
'command', define a command that will proceed subcommands; 'privmsg', set to a true value to specify that the bot should reply with PRIVMSG instead of NOTICE to privmsgs that it receives.
The bot replies to requests in the following form:
<optional_command> <subcommand> [args]
The bot understand the following subcommands:
release
date
< you> bot: release Test::More < bot> you: Test::More was first released with perl 5.7.3 (patchlevel perl/15039, released on 2002-03-05)
If no command is given, release is the default.
< you> bot: Test::More < bot> you: Test::More was first released with perl 5.7.3 (patchlevel perl/15039, released on 2002-03-05)
search
find
< you> bot search Data < bot> Found Data::Dumper, Module::Build::ConfigData
Perl version numbers can be passed as optional parameters to restrict the search:
< you> bot: search Data 5.006 < bot> Found Data::Dumper in perl 5.006
The search never returns more than 9 replies, to avoid flooding the channel:
< you> bot: find e < bot> Found AnyDBM_File, AutoLoader, B::Assembler, B::Bytecode, B::Debug, B::Deparse, B::Disassembler, B::Showlex, B::Terse, ...
Chris BinGOs Williams <chris@bingosnet.co.uk>
BinGOs
Philippe "BooK" Bruhat, <book@cpan.org>
<book@cpan.org>
Copyright © Chris Williams and Philippe Bruhat.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
POE::Component::IRC
Bot::BasicBot::Pluggable::Module::CoreList
To install POE::Component::IRC::Plugin::CoreList, copy and paste the appropriate command in to your terminal.
cpanm
cpanm POE::Component::IRC::Plugin::CoreList
CPAN shell
perl -MCPAN -e shell install POE::Component::IRC::Plugin::CoreList
For more information on module installation, please visit the detailed CPAN module installation guide.