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
andclear_irc
writer and clearer methods, respectively. It is usually set for you byPCI_register
and cleared byPCI_unregister
methods. S_events
-
An arrayref of
SERVER
events to register for whenPCI_Register
is called. The default isall
. U_events
-
An arrayref of
USER
events to register for whenPCI_register
is called. The default is an empty arrayref, meaning no events of this type will be registered.
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 requestedS_events
andU_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>
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.