| POE-Component-IRC documentation | view source | Contained in the POE-Component-IRC distribution. |
POE::Component::IRC::Plugin::CTCP - A PoCo-IRC plugin that auto-responds to CTCP requests
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:
}
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.
newTakes 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.
eatWith 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.
Chris 'BinGOs' Williams
CTCP Specification http://www.irchelp.org/irchelp/rfc/ctcpspec.html.
| POE-Component-IRC documentation | view source | Contained in the POE-Component-IRC distribution. |