NAME

POE::Component::IRC::Plugin::CTCP - A PoCo-IRC plugin that auto-responds to CTCP requests.

SYNOPSIS

use strict;
use warnings;
use POE qw(Component::IRC Component::IRC::Plugin::CTCP);

my $nickname = 'Flibble' . $$;
my $ircname = 'Flibble the Sailor Bot';
my $ircserver = 'irc.blahblahblah.irc';
my $port = 6667;

my $irc = POE::Component::IRC->spawn( 
    nick => $nickname,
    server => $ircserver,
    port => $port,
    ircname => $ircname,
) or die "Oh noooo! $!";

POE::Session->create(
    package_states => [
        main => [ qw(_start) ],
    ],
);

$poe_kernel->run();

sub _start {
    # Create and load our CTCP plugin
    $irc->plugin_add( 'CTCP' => POE::Component::IRC::Plugin::CTCP->new(
        version => $ircname,
        userinfo => $ircname,
    ));

    $irc->yield( register => 'all' );
    $irc->yield( connect => { } );
    return:
}

DESCRIPTION

POE::Component::IRC::Plugin::CTCP is a POE::Component::IRC plugin. It watches for 'irc_ctcp_version', 'irc_ctcp_userinfo', 'irc_ctcp_ping', 'irc_ctcp_time' and 'irc_ctcp_source' events and autoresponds on your behalf.

METHODS

new

Takes a number of optional arguments:

'version', a string to send in response to 'irc_ctcp_version'. Default is PoCo-IRC and version;

'userinfo', a string to send in response to 'irc_ctcp_userinfo'. Default is 'm33p';

'source', a string to send in response to 'irc_ctcp_source'. Default is http://search.cpan.org/dist/POE-Component-IRC.

'eat', by default the plugin uses PCI_EAT_CLIENT, set this to 0 to disable this behaviour;

Returns a plugin object suitable for feeding to POE::Component::IRC's plugin_add() method.

eat

With no arguments, returns true or false on whether the plugin is "eating" ctcp events that it has dealt with. An argument will set "eating" to on or off appropriately, depending on whether the value is true or false.

AUTHOR

Chris 'BinGOs' Williams

SEE ALSO

CTCP Specification http://www.irchelp.org/irchelp/rfc/ctcpspec.html.