Bot-Cobalt
view release on metacpan or search on metacpan
README.mkdn view on Meta::CPAN
# 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 `cobalt` IRC bot, which was
originally a Perl remiplementation of Jason Hamilton's 90s-era `darkbot`.
Bot::Cobalt provides 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"](#included-plugins) below.
IRC connectivity and protocol details are handled via
[POE::Component::IRC](https://metacpan.org/pod/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](https://metacpan.org/pod/POE::Component::IRC) exists as a plugin and can be easily subclassed
or replaced entirely; see [Bot::Cobalt::IRC](https://metacpan.org/pod/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](https://metacpan.org/pod/Bot::Cobalt::Manual::Plugins) for more about plugin authoring.
## Initializing a new instance
A Bot::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](https://metacpan.org/pod/Bot::Cobalt::Plugin::Alarmclock) -- IRC highlight timers
[Bot::Cobalt::Plugin::Auth](https://metacpan.org/pod/Bot::Cobalt::Plugin::Auth) -- User authentication
[Bot::Cobalt::Plugin::Games](https://metacpan.org/pod/Bot::Cobalt::Plugin::Games) -- Simple IRC games
[Bot::Cobalt::Plugin::Info3](https://metacpan.org/pod/Bot::Cobalt::Plugin::Info3) -- Flexible text-triggered responses
[Bot::Cobalt::Plugin::Master](https://metacpan.org/pod/Bot::Cobalt::Plugin::Master) -- Simple bot control from IRC
[Bot::Cobalt::Plugin::PluginMgr](https://metacpan.org/pod/Bot::Cobalt::Plugin::PluginMgr) -- Load/unload plugins from IRC
[Bot::Cobalt::Plugin::RDB](https://metacpan.org/pod/Bot::Cobalt::Plugin::RDB) -- "Random stuff" databases for quotebots
or randomized chatter on a timer
[Bot::Cobalt::Plugin::Extras::CPAN](https://metacpan.org/pod/Bot::Cobalt::Plugin::Extras::CPAN) -- Query MetaCPAN and
[Module::CoreList](https://metacpan.org/pod/Module::CoreList)
[Bot::Cobalt::Plugin::Extras::DNS](https://metacpan.org/pod/Bot::Cobalt::Plugin::Extras::DNS) -- DNS lookups
[Bot::Cobalt::Plugin::Extras::Karma](https://metacpan.org/pod/Bot::Cobalt::Plugin::Extras::Karma) -- Karma bot
[Bot::Cobalt::Plugin::Extras::Relay](https://metacpan.org/pod/Bot::Cobalt::Plugin::Extras::Relay) -- Cross-network relay
[Bot::Cobalt::Plugin::Extras::TempConv](https://metacpan.org/pod/Bot::Cobalt::Plugin::Extras::TempConv) -- Temperature units conversion
( run in 1.440 second using v1.01-cache-2.11-cpan-39bf76dae61 )