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.
irc_ctcp_version
irc_ctcp_userinfo
irc_ctcp_ping
irc_ctcp_time
irc_ctcp_source
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.
irc_ctcp_clientinfo
'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.
plugin_add
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.
Chris 'BinGOs' Williams
CTCP Specification http://www.irchelp.org/irchelp/rfc/ctcpspec.html.
To install POE::Component::IRC, copy and paste the appropriate command in to your terminal.
cpanm
cpanm POE::Component::IRC
CPAN shell
perl -MCPAN -e shell install POE::Component::IRC
For more information on module installation, please visit the detailed CPAN module installation guide.