The esotericbot package

[Tags: bsd3, library, program]

Esotericbot is a sophisticated, lightweight IRC bot, written in Haskell.

Esotericbot launches sub-processes to respond to commands issued by users over IRC.

Why would you use esotericbot?

For lambdabot-4.2.2.1:

spoon@utensil:~/esotericbot$ ps e v

PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND

23433 pts/3 Sl+ 0:00 0 8228 84855 33476 1.6 lambdabot

15040 pts/5 S+ 0:00 0 2171 28804 3292 0.1 ./esotericbot

I'm not insinuating that lambdabot sucks in any way, ( it has cool stateful features, and is stable and excellent ) however, my hope is that esotericbot could attain equal functionality through plugins, while maintaining its small memory footprint.

Esotericbot is small ( for Haskell :), designed to run on a server with limited memory - typically running at under 5mb of private memory.

Features:

* Advanced memory and time management options, utilizing POSIX resource management.

For example, the memory used by all child processes, can be limited - commands be queued until the memory usage has dropped.

* Privileged channel operator commands ( Currently, can be disabled and enabled by channel operators, to prevent abuse. )

* Easy to add new plugins. A C library is included to make writing new plugins/adapting programs to be plugins easy.

* Set up through a configuration file.

* Multiple channels.

* Multi-threaded

* Lightweight, typically running at under 5mb of private memory.

Cons:

* POSIX memory management, process forking, and chroot means that Esotericbot is POSIX only.

* Esotericbot is, due to the libraries and extensions used, restricted to being compiled by the Glorious Glasgow Haskell Compiler.

Note: esotericbot comes with several plugins which will be installed into your cabal-bin, and libraries installed into your cabal-lib. Check cabal-bin for 'brainfuck', 'unlambda' , 'malbolge', 'sk' and 'whirl'. These will need libplugin and libplugin++ from your cabal-lib to function correctly.


Properties

Versions0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6
Dependenciesattoparsec, base, bytestring, containers (==0.2.0.0), directory, mtl, network, stm, stream-fusion, time, tuple, unix
LicenseBSD3
AuthorJohn Morrice
MaintainerJohn Morrice
StabilityExperimental
CategoryWeb
Home pagehttp://www.killersmurf.com/esotericbot
Executablesesotericbot
UploadedMon May 18 17:29:26 UTC 2009 by JohnnyMorrice
Downloads570 total (32 in last 30 days)
StatusDocs not available [build log]
All reported builds failed [all 1 reports]

Modules

Downloads

Maintainers' corner

For package maintainers and hackage trustees