X-Git-Url: http://git.hcoop.net/clinton/bobotpp.git/blobdiff_plain/6b59e72851b10fec7aea6071ab092d0bd6e2d9c8..980ce0f46cad6ac689456d3e4e3635b7c04c0c9c:/TODO diff --git a/TODO b/TODO index 02e2735..c85c714 100644 --- a/TODO +++ b/TODO @@ -2,9 +2,10 @@ Done: * DCC CHAT min user level * Lots of hooks related stuff that I never wrote down * Abstract DCC support so that DCC FILE may be easily implemented +* Wrote config database class 2.2: -* Utils::isValidNickName should have a configurable max nick length +* Utils::valid_nickname_p should have a configurable max nick length (now that most networks allow for longer than nine character nicks). This is dependant upon the new configuration system * Finish adding commands to Scheme for sending messages @@ -12,22 +13,28 @@ Done: * Add util functions for doing stuff like quoting CTCP messages * Finish adding hooks/send hooks * Write Texinfo manual -* Configuration Database +* Use configuration database class * Improve the help system -* DCC FILE support (sending and recieving) -* XDCC file server script (requires DCC FILE support) * bot:protection/[none|no-ban|no-kick|no-deop] constants * bot:aop/[no|yes] constants * Extend AOP to support +v (0 = no op, 1 = +o, 2 = +v) * Add DCC_CHAT_END hook for Scheme +* Add !setcommandlevel (move ScriptCommands implementation to Commands + and add a UserCommands) 2.4/3.0 (2.4 iff backwards compatibility is maintained, 3.0 otherwise): General: * Eliminate String class * Finish converting UserCommands to use Commands * Audit code and see what data in classes should be made private and - have getters/setters added (e.g. logFileName in Bot--if this is - changed the log file doesn't change after the Bot is started). + have getters/setters added (e.g. logFileName in Bot--if this is + changed the log file doesn't change after the Bot is started). +* DCC FILE support (sending and recieving) +* Possibly convert BotConfig to use boost::any instead of std::string + as t_value +* Remove StrinkTokenizer, replace with boost::tokenizer +* Remove string procedures from Utils, replace with boost::string_algo +* Use boost::timer for internal timers Scripting: * Add commands to delete a hook @@ -40,29 +47,23 @@ Scripting: Networking: * Add a networked interface to guile repl - - This can be done as a script, but requires non-coop threads - support to be done easily + - This can (should) be done as a script, but requires non-coop threads + support to be done easily (and thus requires Guile 1.8) - Admins only - Telnet - Store authorized users and passwords in bot.telnet file - Bot master can add new telnet users - MUST HAVE PASSWORD - - Maybe use SSL? +* See if Socket::readLine could be sped up (profile it first to see if + it even matters) Definitely 3.0: * Remove gh_* when Guile 1.8 is released * Make it possible to use Scheme functions in the Parser itself * Replace large select-loop in Bot::waitForInput with multithreaded - CC++ sockets (this will require locking around everything Guile - related). UPDATE[2002-11-02]: Guile CVS now has coop threads built - on top of pthreads, which I could probably use when 1.8 nears - release. - UPDATE[2002-12-22]: Guile CVS now has support for full pthreads, no - more coop stuff. After 1.8 is released threads will probably be - used. - To clarify: There will be one thread for DCCs and another thread - for the current irc server connection, each with its own select - loop. There may also be a thread for the network repls if I - implement those. + for the current irc server connection, each with its own select + loop. There may also be a thread for the network repls if I + implement those. * New config values in config db should be added before old values (this is faster but breaks the way server lists work in 2.x) \ No newline at end of file