The esotericbot package
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, ( lambdabot is most 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
| Versions | 0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6 |
|---|---|
| Dependencies | attoparsec, base (>3 & <5), bytestring, containers (0.2.*), directory, fgl, mtl, network, stm, stream-fusion, tuple, unix |
| License | BSD3 |
| Author | John Morrice <spoon@killersmurf.com> |
| Maintainer | John Morrice <spoon@killersmurf.com> |
| Stability | Experimental |
| Category | Web |
| Home page | http://www.killersmurf.com/projects/esotericbot |
| Executables | esotericbot |
| Upload date | Tue Jun 23 14:32:13 UTC 2009 |
| Uploaded by | JohnnyMorrice |
| Build failure | ghc-6.10 (log) |
Modules
Downloads
- esotericbot-0.0.6.tar.gz (Cabal source package)
- package description (included in the package)