The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

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

VERSION

version 1.06

SYNOPSIS

  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

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

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

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

SEE ALSO

POE::Component::IRC

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

AUTHORS

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

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

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Chris Williams and Philippe Bruhat.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.