* 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
+* Compile without warnings
+* bot:protection/[none|no-ban|no-kick|no-deop] constants
+* bot:aop/[no|yes] constants
+* Utils::valid_nickname_p should have a configurable max nick length
2.2:
+* Finish Texinfo manual
+* Register a lazy catch handler (in Interp::Startup) that prints more
+ debug info to the log (filename, line number, column number,
+ etc.). Check the mod_guile source for the lazy catch handler in it.
+* 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
(e.g. bot:send-CTCP to send a CTCP message)
* Add util functions for doing stuff like quoting CTCP messages
* Finish adding hooks/send hooks
-* Write Texinfo manual
-* Configuration Database
-* Improve the help syst
-* 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
+* Add DCC_CHAT_END hook for Scheme
+* Commands::sendCTCP, Commands::sendCTCPReply
+
+2.4:
+* Use configuration database class
* Extend AOP to support +v (0 = no op, 1 = +o, 2 = +v)
+* Add !setcommandlevel (move ScriptCommands implementation to Commands
+ and add a UserCommands)
+* Improve the help system
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
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.
\ No newline at end of file
+ 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.
+
+Maybe:
+* 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)
+* Make it possible to use Scheme functions in the Parser itself
\ No newline at end of file