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

