[project @ 2005-03-11 17:58:13 by unknown_lamer]
[clinton/bobotpp.git] / TODO
CommitLineData
c8f13c06 1Done:
2* DCC CHAT min user level
3* Lots of hooks related stuff that I never wrote down
4* Abstract DCC support so that DCC FILE may be easily implemented
2e18045a 5* Wrote config database class
c8f13c06 6
c7d9fb19 72.2:
4f4c0ce6 8* Utils::valid_nickname_p should have a configurable max nick length
6b59e728 9 (now that most networks allow for longer than nine character
10 nicks). This is dependant upon the new configuration system
c7d9fb19 11* Finish adding commands to Scheme for sending messages
12 (e.g. bot:send-CTCP to send a CTCP message)
13* Add util functions for doing stuff like quoting CTCP messages
14* Finish adding hooks/send hooks
15* Write Texinfo manual
2e18045a 16* Use configuration database class
6b59e728 17* Improve the help system
c8f13c06 18* bot:protection/[none|no-ban|no-kick|no-deop] constants
19* bot:aop/[no|yes] constants
20* Extend AOP to support +v (0 = no op, 1 = +o, 2 = +v)
6b59e728 21* Add DCC_CHAT_END hook for Scheme
2e18045a 22* Add !setcommandlevel (move ScriptCommands implementation to Commands
23 and add a UserCommands)
2e20c3e1 24
c7d9fb19 252.4/3.0 (2.4 iff backwards compatibility is maintained, 3.0 otherwise):
2e20c3e1 26General:
c7d9fb19 27* Eliminate String class
e07b6b46 28* Finish converting UserCommands to use Commands
ad529fde 29* Audit code and see what data in classes should be made private and
2e18045a 30 have getters/setters added (e.g. logFileName in Bot--if this is
31 changed the log file doesn't change after the Bot is started).
32* DCC FILE support (sending and recieving)
33* Possibly convert BotConfig to use boost::any instead of std::string
34 as t_value
35* Remove StrinkTokenizer, replace with boost::tokenizer
36* Remove string procedures from Utils, replace with boost::string_algo
37* Use boost::timer for internal timers
e07b6b46 38
39Scripting:
e07b6b46 40* Add commands to delete a hook
6530edbf 41 - return an iterator to the Hook
e07b6b46 42 - this would require a new SMOB to be created
6530edbf 43 - Scheme could pass Hook objects around and do nifty things
cb278e5a 44 - At least allow all hooks of a type with the same name field to be
45 deleted at once (also all hooks with the same name). Also allow
46 deleting based on the regexp
2e20c3e1 47
48Networking:
49* Add a networked interface to guile repl
4f4c0ce6 50 - This can (should) be done as a script, but requires non-coop threads
51 support to be done easily (and thus requires Guile 1.8)
2e20c3e1 52 - Admins only
fed59248 53 - Telnet
54 - Store authorized users and passwords in bot.telnet file
55 - Bot master can add new telnet users
56 - MUST HAVE PASSWORD
005c31fb 57* See if Socket::readLine could be sped up (profile it first to see if
58 it even matters)
e07b6b46 59
c7d9fb19 60Definitely 3.0:
6530edbf 61* Remove gh_* when Guile 1.8 is released
0a4eb469 62* Make it possible to use Scheme functions in the Parser itself
63* Replace large select-loop in Bot::waitForInput with multithreaded
4edefeb6 64 - To clarify: There will be one thread for DCCs and another thread
4f4c0ce6 65 for the current irc server connection, each with its own select
66 loop. There may also be a thread for the network repls if I
67 implement those.
6b59e728 68* New config values in config db should be added before old values
69 (this is faster but breaks the way server lists work in 2.x)