The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
NAME
    POE::Component::IRC::Plugin::ImageMirror - A PoCo-IRC plugin which
    uploads select images to a mirror service

SYNOPSIS
    To quickly get an IRC bot with this plugin up and running, you can use
    App::Pocoirc:

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

    Or use it in your code:

     use POE::Component::IRC::Plugin::ImageMirror;

     # mirror all images from 4chan.org
     $irc->plugin_add(ImageMirror => POE::Component::IRC::Plugin::ImageMirror->new(
         URI_match => [
             qr{4chan\.org/\w+/src/.*(?i:jpe?g|gif|png)$},
         ],
     ));

DESCRIPTION
    POE::Component::IRC::Plugin::ImageMirror is a POE::Component::IRC
    plugin. It looks for image URLs in the channel log and uploads the
    images to Imageshack and Imgur, then prints a short description of the
    image along with the new URLs.

     <avar> http://images.4chan.org/b/src/1267339589262.gif
     -MyBot:#channel- gif (318 x 241) - http://imgur.com/RWcSE.gif - http://img535.imageshack.us/img535/9685/1267339589262.gif

    This plugin makes use of POE::Component::IRC::Plugin::URI::Find. An
    instance will be added to the plugin pipeline if it is not already
    present.

METHODS
  "new"
    Takes the following optional arguments:

    'Channels', an array reference of channels names. If you don't supply
    this, images will be mirrored in all channels.

    'URI_match', an array reference of regex objects. Any url found must
    match at least one of these regexes if it is to be uploaded. If you
    don't supply this parameter, a default regex of
    "qr/(?i:jpe?g|gif|png)$/" is used.

    'URI_subst', an hash reference of regex/string pairs. These
    substitutions will be done on the accepted URIs before they are
    processed further.

    Example:

     # always fetch 7chan images via http, not https
     URI_subst => [
         qr{(?<=^)https(?=://(?:www\.)?7chan\.org)} => 'http',
     ]

    'URI_title', whether or not to include a title produced by URI::Title.
    Defaults to true.

    'Imgur_user', an Imgur username. If provided, the images uploaded to
    Imgur will be under this account rather than anonymous.

    'Imgur_pass', an Imgur account password to go with 'ImgurUser'.

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

    'Eat', when enabled, will prevent further processing of
    "irc_urifind_uri" events by other plugins for URIs which this plugin
    mirrors. False by default.

    Returns a plugin object suitable for feeding to POE::Component::IRC's
    "plugin_add" method.

AUTHOR
    Hinrik Örn Sigurðsson, hinrik.sig@gmail.com

    Imageshack-related code provided by Ævar Arnfjörð Bjarmason
    <avar@cpan.org>.

LICENSE AND COPYRIGHT
    Copyright 2010 Hinrik Örn Sigurðsson

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