- Likes to party
- Built on AnyEvent
- Configuration file driven (built on Thorium)
- MongoDB is the backing store for Features
- Markov Chain's via Hailo (must load feature)
- Automatic condensing of URL's with TinyURL (must load feature)
- Twitter feed monitoring from Stream API (must load feature and requires API keys)
- Supports encrypted rooms via Algorithm::IRCSRP2 (must load feature)
- Utility features such as Date, Echo, Help, LoadUnload, Uptime, etc (must load features)
- Missing documentation for configuration and feature use
- CPAN dependency heavy
- Lots on the TODO list
- No runtime configuration altering / reloading
- No runtime admin interface
- Logging must be turned on, see Thorium::Log (there should be a command line option for this)
- No initial data is loaded into database (insult, praises, etc)
Use perlbrew to make this hassle free.
Use cpanm to make this hassle free.
Any reasonably recent version will do.
$ cpanm <huge-list-of-dependencies> $ git clone git://github.com/aflott/winobot.git $ cd winobot $ # create a preset in conf/presets $ ./configure --load the-preset-name-you-chose-minus-the-dot-yaml-ext $ ./winobot.pl
$idinto a proper object
- access control / admin interface
$state->confa role in
Winobot::State, then eliminate use of get_feature_option
load <name>produces pass when module was not loaded
- reconnect ability
- add $state->db role
- use AnyEvent version of MongoDB
- add unix signals with anyevent
- make features reloadable per channel? futzing with namespaces might do it?
- restore handler functionality for channel-less events (disconnect, connect, etc)
- add time zone to
- automatic srp'ing on reconnect
- handle multiple channels, servers
- when no files are processed, dont output "No config files processed!" when local.yaml was actually generated. maybe change to "No template files processed!"?
- don't use Proc::ProcessTable
- compile fixes for OSX