POE::Component::IRC::Plugin::CTCP.3pm

Langue: en

Version: 2009-09-24 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

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;

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