TODO: for 2.0 (i.e. ASAP): - Write a script to generate a list of plugins and their help.xml overview sections, and include the output of the script in documentation/ and on the webpage. - clean up code, make -w clean, etc. - User and Chan objects should know how to build a skeleton version of themselves in the config if their entry doesn't already exist for 2.2: - output buffering - add character-counting to max-output functionality in case of very long lines (1 line = 80 chars?) - see if anyone else has written something like our Config. if so, look into using it. if not, perhaps generalize our code and publish separately. - profile code, look for candidates for optimization (no need to rush this) - caching hostmasks for use by get_user - may help performance issues, but do those issues even exist? when we can: - possibly modify Config to make it easier to create branches, modify values, and deal with arrays/hashes - create a plugin that publishes our config via RPC::XML::Server so we can make a botnet - This needs more thought, let's push it back to post 2.0 - per-channel option to auto-rejoin when kicked - write help files for all the plugins that are included in the base distribution. - implement user-defined formats for things like logfile names and logfile entries. could use % codes, like %y.%m.%d for year.mon.day . - make the User package more robust... - users should have more info that other users with the appropriate flags should be able to access, ie: real name, last seen, last unidle, email addy, daytime phone, home phone, real address, etc... anything one can think of that would be useful -- these have been added, but we really need an entirely new user config file and format... - this info should be able to be set by each individual user with as much or as little info as desired... this means we need to both parse and save out a seperate user config file - rewrite the define plugin to behave just like an infobot... or better yet, port infobot to a perlbot plugin... major props to anyone who does this - Invite plugin that handles channel invites. Invites from admins are automatically honored. Invites from anyone else are stored in a queue, and all admins are notified of the request. An admin may view, confirm, or deny the invite via a msg'd command (maybe !invite [confirm|deny] -- no params views the queue) - BNC (BouNCe) plugin - http://bnc.ircadmin.net/ bnc is an IRC proxy with a defined login procedure. A plugin should be able to hook endofmotd/nomotd and send the login/server commands. - core config server entries: BNC host or actual desired IRC servers? BNC config file: real IRC servers or BNC host (i.e. opposite of what core config holds). core=actual,BNC=BNC would make sense, but cause problems with disconnects (reconnecting to wrong place?), unless the BNC plugin can sufficiently deal with this via disconnect events... Might be a fun plugin to write.