Difference between revisions of "Cobalt"

From IRC Wiki
Jump to navigation Jump to search
m (Fixing my horrific grammar.)
(Starting to fix Bot::Cobalt page. Finish when not drunk.)
Line 8: Line 8:
}}
}}


'''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.
'''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 '''Cobalt''' plugin set includes most of the functionality of Jason Hamilton's abandoned [[DarkBot]] along with a vast number of improvements.
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 [http://search.cpan.org/perldoc?POE::Component::IRC POE::Component::IRC] and [http://search.cpan.org/perldoc?POE::Component::Syndicator POE::Component::Syndicator].
It's written from the ground up using [http://search.cpan.org/perldoc?POE::Component::IRC POE::Component::IRC] and [http://search.cpan.org/perldoc?POE::Component::Syndicator 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.
The original '''cobalt''' (1.x) is deprecated and no longer documented here. Conversion tools for '''cobalt1''' data sets are bundled with '''Bot::Cobalt'''
 
As of this writing (''17 Feb 2012''), the '''2.00''' series is not considered release-ready; core interfaces and bundled plugins are subject to change.


==Documentation==
==Documentation==


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


See: http://www.cobaltirc.org/docs/wiki/doku.php?id=bots:cobalt:docs:filelist
See http://www.cobaltirc.org/docs/wiki/doku.php?id=bots:cobalt:docs:filelist for an up-to-date Wiki documentation index or https://metacpan.org/release/Bot-Cobalt for the metaCPAN project page.


==Features==
==Features==


===Cobalt::Plugin::Info3===
===Bot::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'').
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'').
Line 32: Line 30:
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.
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===
===Bot::Cobalt::Plugin::RDB===


''RDBs'' provide databases of 'random stuff' that can be triggered on a timer or via ''Cobalt::Plugin::Info3'' topic triggers.
''RDBs'' provide databases of 'random stuff' that can be triggered on a timer or via ''Cobalt::Plugin::Info3'' topic triggers.
Line 45: Line 43:
* PluginMgr.pm  - Plugin management via IRC
* PluginMgr.pm  - Plugin management via IRC
* Rehash.pm      - Rehash configuration files via IRC
* Rehash.pm      - Rehash configuration files via IRC
* Seen.pm        - 'Seen' bot plugin


===Cobalt::Plugin::Extras::===
===Bot::Cobalt::Plugin::Extras::===


The core plugin set also includes a handful of useful modules in the Extras:: namespace, including:
The core plugin set also includes a handful of useful modules in the Extras:: namespace, including:
Line 56: Line 55:
* TempConv.pm  - Convert temperatures between C, F, K
* 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==
==Obtaining Bot::Cobalt==
* http://www.cobaltirc.org/dev/bots/cobalt/


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


Most of the core set is in testing stages as of '''Cobalt 2.00_30'''.
  $ cpan Bot::Cobalt


Development discussion takes place on '''#eris''' ([[Blackcobalt]])
Development discussion takes place on '''#eris''' ([[Blackcobalt]])

Revision as of 06:59, 22 May 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

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

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

See http://www.cobaltirc.org/docs/wiki/doku.php?id=bots:cobalt:docs:filelist for an up-to-date Wiki documentation index or https://metacpan.org/release/Bot-Cobalt for the metaCPAN project page.

Features

Bot::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.

Bot::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 (!roll, !magic8, !rr, !rps ...)
  • PluginMgr.pm - Plugin management via IRC
  • Rehash.pm - Rehash configuration files via IRC
  • Seen.pm - 'Seen' bot plugin

Bot::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


Obtaining Bot::Cobalt

Via CPAN:

 $ cpan Bot::Cobalt

Development discussion takes place on #eris (Blackcobalt)