-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
- - return an iterator to the hook and let the user kill it?
- - OR give the hook a new field ("name") and use that
- - 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.
-* 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).
-* Fix logging stuff
-
-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 (maybe not, you can always intercept CTCP from
- Scheme)
-* Add Channel logging (log full text of channel if enabled)
- - maybe not, you can do this from Scheme (it would probably be
- really slow though)
-* Make connecting to irc.oftc.net work...I wonder if their ircd is b0rked
-
-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...
-
-Documentation:
-- Texinfo manual (including scripting section)
\ No newline at end of file
+2.2 will be released when most of these are done
+
+General:
+* Make String operator >> act like all other >>'s, and add getline?
+* 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).
+
+Scripting:
+* Add commands to delete a hook
+ - return an iterator to the Hook
+ - this would require a new SMOB to be created
+ - Scheme could pass Hook objects around and do nifty things
+ - At least allow all hooks of a type with the same name field to be
+ deleted at once (also all hooks with the same name). Also allow
+ deleting based on the regexp
+* 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
+
+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
+ - 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?
+* DCC FILE support (this can be done as a script if a few changes are
+ made to the DCC support)
+
+Documentation:
+* Work on Texinfo manual (especially scripting section)
+
+Other (post 2.2 release):
+* 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 that.
\ No newline at end of file