=encoding utf8

=head1 NAME

POE::Component::IRC::Plugin::Eval - Evaluate code with App::EvalServer

=head1 SYNOPSIS

To quickly get an IRC bot with this plugin up and running, you can use
L<App::Pocoirc|App::Pocoirc>:

 $ pocoirc -s irc.perl.org -j '#bots' -a BotCommand -a Eval

Or use it in your code:

 use POE::Component::IRC::Plugin::BotCommand;
 use POE::Component::IRC::Plugin::Eval;

 $irc->plugin_add(BotCommand => POE::Component::IRC::Plugin::BotCommand->new());

 # evaluate code in #foobar
 $irc->plugin_add(Eval => POE::Component::IRC::Plugin::Eval->new(
     Server_port => 14400,
     Channels    => ['#foobar'],
 ));

=head1 DESCRIPTION

POE::Component::IRC::Plugin::Eval is a
L<POE::Component::IRC|POE::Component::IRC> plugin. It reads 'eval' commands
from IRC users and evaluates code with L<App::EvalServer|App::EvalServer>.

You must add a
L<POE::Component::IRC::Plugin::BotCommand|POE::Component::IRC::Plugin::BotCommand>
plugin to the IRC component before adding this plugin.

=head1 METHODS

=head2 C<new>

Takes the following arguments:

B<'Server_host'>, the host where the L<App::EvalServer|App::EvalServer>
instance is running. Default is 'localhost'.

B<'Server_port'>, the host where the L<App::EvalServer|App::EvalServer>
instance is running. Default is 14400.

B<'Channels'>, an array reference of channel names. If you don't provide
this, the plugin will be active in all channels.

B<'Method'>, how you want messages to be delivered. Valid options are
'notice' (the default) and 'privmsg'.

Returns a plugin object suitable for feeding to
L<POE::Component::IRC|POE::Component::IRC>'s C<plugin_add> method.

=head1 AUTHOR

Hinrik E<Ouml>rn SigurE<eth>sson, hinrik.sig@gmail.com

=head1 LICENSE AND COPYRIGHT

Copyright 2010 Hinrik E<Ouml>rn SigurE<eth>sson

This program is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.

=cut
