POE::Component::IRC::Plugin::CTCP(3) 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;

'clientinfo', a string to send in response to "irc_ctcp_clientinfo". Default is <http://search.cpan.org/perldoc?POE::Component::IRC::Plugin::CTCP>.

'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