NAME
    IRC::Indexer - IRC server stats collection via POE

SYNOPSIS
      ## Pull stats from a single server:
      $ ircindexer-single -s irc.cobaltirc.org -f JSON -o cobaltirc.json

      ## Generate some example confs:
      $ ircindexer-examplecf -t httpd -o httpd.cf
      $ $EDITOR httpd.cf

      $ mkdir networks/
      $ cd networks/
      $ mkdir cobaltirc
      $ ircindexer-examplecf -t spec -o cobaltirc/eris.oppresses.us.server
      $ $EDITOR cobaltirc/eris.oppresses.us.server
      . . .
  
      ## Spawn a httpd serving JSON:
      $ ircindexer-server-json -c httpd.cf

      ## See IRC::Indexer::Trawl::Bot for more on using trawlers from 
      ## within your own POE-enabled apps.

DESCRIPTION
    IRC::Indexer is a set of modules and utilities useful for trawling IRC
    networks, collecting information, and exporting it to portable formats
    for use in Web frontends and other applications.

    ircindexer-server-json serves as an example of how to use the trawler
    system to index IRC networks; it is usable as-is to trawl sets of IRC
    servers belonging to configured networks and serve JSON-serialized
    network stats via HTTP.

    ircindexer-server-json "should be" fairly scalable; this could be used
    directly to build an IRC trawling/indexing Web application in a language
    of your choice, for example (or just grab data at intervals and spit out
    some graphs for a network or two, see examples/ in the distribution).

    ircindexer-single can be used to trawl a single server in one shot,
    exporting to YAML, JSON, or Perl. See the documentation or
    `ircindexer-single -h' for details.

    See the perldoc for IRC::Indexer::Trawl::Bot for more about using the
    trawl bot itself as part of other POE-enabled applications.

    The Trawl::Bot instances run asynchronously within a single process;
    IRC::Indexer::Trawl::Forking can be used to run Trawl::Bot instances as
    forked workers that immediately die when complete, if you prefer.

    See IRC::Indexer::POD::ServerSpec and IRC::Indexer::POD::NetworkSpec for
    details on exported data.

TODO
    * Nothing very useful is done with LINKS data; it's not always available
    and is presented as-is. We should maybe export a hash.
    * More useful examples in examples/
    * Tests are currently terrible.

BUGS
    Frankly, the fundamentals of this project were laid out on a hungover
    Saturday morning. It hasn't been tested on very many different IRCDs;
    there are probably things broken I'm not aware of.

    Bugs can be emailed directly, if you like -- see AUTHOR.

AUTHOR
    Jon Portnoy <avenj@cobaltirc.org>

    http://www.cobaltirc.org

