2.2 will be released when most of these are done General: * Compile with -Wall and kill all warnings * Make String more compatible with std::string - Make operator >> act like all other >>'s, and add getline + Add compatibility operators to String * Remove gh_* and other deprecated guile stuff * finish ISO C++-ification (remove deprecated uses of static, casts) * Add Scheme utils function to convert "normal" dates into time since 1970. * Make bot-random use the Guile RNG instead of C RNG (better?) * Add commands to delete a hook - this will require the ability to name hooks - all part of the new hooks system I guess * Convert UserCommands to use Commands * Expand Commands to do everything the bot can do * Add new commands to Scheme afterwards * It would be interesting to see what SWIG could do here... (eliminate ScriptCommands in favor a SWIG wrapper maybe?) Why though? Well, maybe not kill ScriptCommands completely. Just make it's interface a simple wrapper around Commands that automatically adds the Bot* first arg as Interp::bot. This would eliminate a lot of the type checking. OTOH, I'll have to look in to this more when I get back. Networking: * Add a networked interface to guile repl - Admins only - SSH? Telnet? DCC-Chat? - Access to repl will require use to authenticate - Allow the load & reloading of scripts w/o restarting bot - Allow server to be disabled at run because of security... * Enable DCC support (I have to find docs on DCC first!) * Add Channel logging (log full text of channel if enabled) Config: * Change bot.conf syntax (just load it with guile) (set-cmdchar #\!) (set-name "DumbBot") (set-userlist "bot.users") (set-shitlist "bot.shit") (set-logfile "bot.log") (add-server "irc.openprojects.net") (add-server "trollaxor.com") (add-channel "#bobot") ; all networks ;;; note that (add-server) would be a macro that defines ;;; a symbol for the network (server-add-channel irc.openprojects.net "#umbclinux:::") (server-add-channel irc.openprojects.net "#tpu:::") ;;; add-channels just maps args to server-add-channel (server-add-channels trollaxor.com "#trolls:::" "#crapflooders:::") (server-set-name trollaxor.com "TrollBot") - Support per-server channels, logfiles, cmdchars, everything... * Move default config location to PREFIX/Bobot++/default/ and allow users to specify a config folder under PREFIX/Bobot++ to use with -c. E.g. To use PREFIX/Bobot++/foo/, call bobotpp -c foo. Keep -f and -d. Documentation: - Texinfo manual (including scripting section)