The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

POE::Component::IRC::Plugin::Role - A Moose role for POE::Component::IRC plugins

SYNOPSIS

  package My::Plugin;

  use Moose;
  use POE::Component::IRC::Plugin qw(:ALL);

  with 'POE::Component::IRC::Plugin::Role';

  # PCI_register and PCI_unregister are automatically dealt with

  sub S_001 {
    my $self = shift;
    $self->irc->yield( 'join', '#channel' );
    return PCI_EAT_NONE;
  }

  1;

DESCRIPTION

POE::Component::IRC::Plugin::Role is a Moose role that encapsulates some of the boilerplate required to write POE::Component::IRC plugins with Moose.

Simply consume the role in your Moose based plugins.

ATTRIBUTES

irc

Should be a POE::Component::IRC object. It can not be set in the constructor, but has set_irc and clear_irc writer and clearer methods, respectively. It is usually set for you by PCI_register and cleared by PCI_unregister methods.

S_events

An arrayref of SERVER events to register for when PCI_Register is called. The default is to register events for the S_* prefixed methods in your module.

U_events

An arrayref of USER events to register for when PCI_register is called. The default is to register events for the U_* prefixed methods in your module.

METHODS

PCI_register

This is called everytime a plugin object is added to POE::Component::IRC. It will set the irc attribute and register for the requested S_events and U_events.

PCI_unregister

This is called everytime a plugin object is removed from POE::Component::IRC. It will clear the irc attribute.

AUTHOR

Chris BinGOs Williams <chris@bingosnet.co.uk>

Chris Prather

Shawn M Moore

LICENSE

Copyright © Chris Williams

This module may be used, modified, and distributed under the same terms as Perl itself. Please see the license that came with your Perl distribution for details.

SEE ALSO

POE::Component::IRC

POE::Component::IRC::Plugin

Moose::Role