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