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