POE::Component::IRC::Plugin::CoreList - A POE::Component::IRC plugin that provides Module::CoreList goodness.


POE-Component-IRC-Plugin-CoreList documentation  | view source Contained in the POE-Component-IRC-Plugin-CoreList distribution.

Index


NAME

Top

POE::Component::IRC::Plugin::CoreList - A POE::Component::IRC plugin that provides Module::CoreList goodness.

SYNOPSIS

Top

  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;
  }

DESCRIPTION

Top

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.

CONSTRUCTOR

Top

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.

IRC USAGE

Top

The bot replies to requests in the following form:

    <optional_command> <subcommand> [args]

Commands

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, ... 

AUTHORS

Top

Chris BinGOs Williams <chris@bingosnet.co.uk>

Philippe "BooK" Bruhat, <book@cpan.org>

LICENSE

Top

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.

SEE ALSO

Top

POE::Component::IRC

Bot::BasicBot::Pluggable::Module::CoreList


POE-Component-IRC-Plugin-CoreList documentation  | view source Contained in the POE-Component-IRC-Plugin-CoreList distribution.