esotericbot-0.0.2: esotericbot.cabal
Name: esotericbot
Version: 0.0.2
License: BSD3
License-File: License
Author: John Morrice
Maintainer: John Morrice
Stability: Experimental
Category: Web
Synopsis: Esotericbot is a sophisticated, lightweight IRC bot.
Description:
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.
Build-type: Custom
Homepage: http://www.killersmurf.com/projects/esotericbot
Build-Depends: base , bytestring , mtl , attoparsec , network , stream-fusion , stm , containers==0.2.0.0 , time , tuple , unix , directory
Cabal-Version: >= 1.6
Other-Modules: Esotericbot.BSH
Esotericbot.BSUtils
Esotericbot.Chanop
Esotericbot.Chroot
Esotericbot.Config
Esotericbot.Execution
Esotericbot.Help
Esotericbot.IRCCom
Esotericbot.Safely
Esotericbot.EBTypes
Extra-source-files: c_plugins/*.c
c_plugins/*.h
c_plugins/*.cpp
c_plugins/Makefile
c_plugins/Makefile.am
c_plugins/Makefile.in
hs_plugins/*.hs
hs_plugins/Makefile
hs_plugins/Makefile.am
hs_plugins/Makefile.in
configure
configure.ac
Makefile.am
Makefile.in
install-sh
config.sub
config.guess
libtool
ltmain.sh
m4/*.m4
missing
depcomp
aclocal.m4
doc/esotericbot.conf
doc/README
GHC-OPTIONS: -threaded
Executable: esotericbot
Main-Is: Esotericbot/Esotericbot.hs