From IRC Wiki
Jump to navigation Jump to search

Author(s): avenj
Programming language: Perl
Platform: Unix
Status: Active/Development
License: GNU General Public License v2

Bot::Cobalt is a pluggable IRC bot framework, tying a multi-server IRC interface into a plugin pipeline, configuration manager, database and serialization interfaces, and other useful tools.

The core Bot::Cobalt plugin set includes most of the functionality of Jason Hamilton's abandoned DarkBot along with a vast number of improvements.

It's written from the ground up using POE::Component::IRC and POE::Component::Syndicator.

The original cobalt (1.x) is deprecated and no longer documented here. Conversion tools for cobalt1 data sets are bundled with Bot::Cobalt


Documentation lives in "POD" embedded within the Bot::Cobalt distribution itself.

See for an up-to-date Wiki documentation index or for the metaCPAN project page.



The Info3 plugin largely emulates DarkBot's 'info2' text triggers; triggers can be written using simple glob syntax. Responses can include variables or randomized responses (via Cobalt::Plugin::RDB).

With Info3 enabled, your bot can be used as an IRC help bot, a humanoid chatter-bot, a method of storing interesting bits of information, etc.


RDBs provide databases of 'random stuff' that can be triggered on a timer or via Cobalt::Plugin::Info3 topic triggers.

The main RDB acts much like DarkBot's randstuff functionality.

Other Plugins

  • - Timed highlights/reminders
  • - Flexible Auth system
  • - Interface a collection of silly games (!roll, !magic8, !rr, !rps ...)
  • - Plugin management via IRC
  • - Rehash configuration files via IRC
  • - 'Seen' bot plugin


The core plugin set also includes a handful of useful modules in the Extras:: namespace, including:

  • - Karma-bot
  • - Convert currencies
  • - Multiplex chatter between IRC channels
  • - Shorten URLs on IRC via Metamark
  • - Convert temperatures between C, F, K

Obtaining Bot::Cobalt


 $ cpan Bot::Cobalt

Also see the metaCPAN page at

Development discussion takes place on #eris (Blackcobalt)