NAME
    Bot::Cobalt - IRC darkbot-alike plus plugin authoring sugar

SYNOPSIS
      ## Set up example confs and a simple ~/.cobalt2rc :
      sh$ cobalt2-installer

      ## Get some assistance:
      sh$ cobalt2 --help
  
      ## Launch in foreground:
      sh$ cobalt2 --nodetach
  
      ## Launch in background:
      sh$ cobalt2

DESCRIPTION
    Bot::Cobalt is the second generation of the (previously not released on
    CPAN) cobalt IRC bot.

    Cobalt was originally a Perl reimplementation of Jason Hamilton's
    darkbot (darkbot's last release was in 2001). Bot::Cobalt is a
    much-improved (and CPAN-able!) revision, providing a pluggable IRC bot
    framework coupled with a core set of plugins replicating classic darkbot
    and Cobalt behavior.

    The included plugin set provides a wide range of functionality; see
    "Included plugins" below.

    IRC connectivity and protocol details are handled via
    POE::Component::IRC; the bot can comfortably manage multiple
    servers/networks (referred to as "contexts").

    Bot::Cobalt tries to be friendly to developers. The bridge to
    POE::Component::IRC exists as a plugin and can be easily subclassed or
    replaced entirely; see Bot::Cobalt::IRC.

    Plugin authoring is intended to be as easy as possible. Modules are
    included to provide simple frontends to IRC-related utilities, logging,
    plugin configuration, asynchronous HTTP sessions, data serialization and
    on-disk databases, and more. See Bot::Cobalt::Manual::Plugins for more
    about plugin authoring.

  Initializing a new instance
    A Cobalt instance needs its own *etc/* and *var/* directories. With the
    default frontend ("cobalt2"), these are specified in a simple 'rcfile'
    for each particular instance.

      sh$ cobalt2-installer

    "cobalt2-installer" will ask some questions, initialize a new rcfile for
    an instance and try to create the relevant directory layout with some
    example configuration files.

    You can, of course, run multiple instances with the default frontend;
    each just needs its own rcfile:

      sh$ cobalt2-installer --rcfile=${HOME}/cobalts/mycobalt.rc
      sh$ cobalt2 --rcfile=${HOME}/cobalts/mycobalt.rc

    After reviewing/editing the example configuration files, you should be
    ready to try starting your Cobalt instance:

      ## Launch in foreground with verbose debug output:
      sh$ cobalt2 --nodetach --debug
  
      ## Launch in background with configured log options:
      sh$ cobalt2

  Included plugins
    The example "etc/plugins.conf" installed by "cobalt2-installer" has most
    of these:

    Bot::Cobalt::Plugin::Alarmclock -- IRC highlight timers

    Bot::Cobalt::Plugin::Auth -- User authentication

    Bot::Cobalt::Plugin::Games -- Simple IRC games

    Bot::Cobalt::Plugin::Info3 -- Flexible text-triggered responses

    Bot::Cobalt::Plugin::Master -- Simple bot control from IRC

    Bot::Cobalt::Plugin::PluginMgr -- Load/unload plugins from IRC

    Bot::Cobalt::Plugin::RDB -- "Random stuff" databases for quotebots or
    randomized chatter on a timer

    Bot::Cobalt::Plugin::Extras::CPAN -- Query MetaCPAN and Module::CoreList

    Bot::Cobalt::Plugin::Extras::DNS -- DNS lookups

    Bot::Cobalt::Plugin::Extras::Karma -- Karma bot

    Bot::Cobalt::Plugin::Extras::Money -- Currency conversion via
    WebServiceX

    Bot::Cobalt::Plugin::Extras::Relay -- Cross-network relay

    Bot::Cobalt::Plugin::Extras::Shorten -- Shorten URLs via Metamark

    Bot::Cobalt::Plugin::Extras::TempConv -- Temperature units conversion

  Extensions on CPAN
    There are a few externally-distributed plugin sets available via CPAN:

    Bot::Cobalt::Plugin::Calc -- Simple calculator

    Bot::Cobalt::Plugin::RSS -- RSS feed aggregator

    Bot::Cobalt::Plugin::Silly -- Very silly plugin set

    For debugging or playing with Bot::Cobalt::DB databases, you may want to
    have a look at Bot::Cobalt::DB::Term.

SEE ALSO
    Bot::Cobalt::Manual::Plugins

    Bot::Cobalt::Core

    Bot::Cobalt::IRC

    The core pieces of Bot::Cobalt are essentially sugar over these two POE
    Components:

    POE::Component::IRC

    POE::Component::Syndicator (and Object::Pluggable)

    Consult their documentation for all the gory details.

    Logging facilities are provided by Log::Handler.

AUTHOR
    Jon Portnoy <avenj@cobaltirc.org>

    <http://www.cobaltirc.org>

    Licensed under the same terms as Perl.

