Difference between revisions of "Cobalt"

From IRC Wiki
Jump to navigation Jump to search
(large-ish cobalt2 merge)
(documentation link)
Line 17: Line 17:


As of this writing (''17 Feb 2012''), the '''2.00''' series is not considered release-ready.
As of this writing (''17 Feb 2012''), the '''2.00''' series is not considered release-ready.
==Documentation==
Documentation lives in "POD" embedded within the '''Cobalt''' distribution itself.
See: http://www.cobaltirc.org/docs/wiki/doku.php?id=bots:cobalt:docs:filelist


==Features==
==Features==

Revision as of 20:48, 17 February 2012

cobalt

Author(s): avenj
Programming language: Perl
Platform: Unix
Status: Active/Development
License: GNU General Public License v2
Homepage: http://www.cobaltirc.org/dev/bots

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 Cobalt plugin set includes most of the functionality of Jason Hamilton's abandoned DarkBot, 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 2.00_18 and newer.

As of this writing (17 Feb 2012), the 2.00 series is not considered release-ready.

Documentation

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

See: http://www.cobaltirc.org/docs/wiki/doku.php?id=bots:cobalt:docs:filelist

Features

Cobalt::Plugin::Info3

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.

Cobalt::Plugin::RDB

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

  • Alarmclock.pm - Timed highlights/reminders
  • Auth.pm - Flexible Auth system
  • Games.pm - Interface a collection of silly games
  • PluginMgr.pm - Plugin management via IRC

Cobalt::Plugin::Extras::

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

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

(List current as of Cobalt2.00_22)

Developer Tools

Cobalt::DB

Store and retrieve deep data structures.

Cobalt::Serializer

Easy object-oriented frontend to various serialization formats.

Cobalt::Utils

A collection of useful functions covering glob syntax manipulation, string formatting, secure password hashing via bcrypt, and others.

Cobalt::Plugin::WWW

Easy asynchronous HTTP support for plugins seeking to make Web requests without blocking.

Obtaining cobalt

As of this writing cobalt is in rapid development and primarily available via the development repository tool git

Most of the core set is in testing stages as of Cobalt 2.00_22.

Development discussion takes place on #eris (Blackcobalt)