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