e45daca1 |
1 | Done (2.2): |
c8f13c06 |
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 |
c7d8cfb9 |
10 | * More detailed script error reporting |
11 | * Commands::sendCTCP, Commands::sendCTCPReply |
133eff7a |
12 | * Add DCC_CHAT_END hook for Scheme |
528799bd |
13 | * Implement ctcp-quote |
c8f13c06 |
14 | |
b4d6be9c |
15 | Solved By Inactivity: |
16 | * Remove gh_* when Guile 1.8 is released |
17 | Guile 1.8 was released ages ago; no need to put this off to 3.0 |
18 | * Add a networked interface to guile repl |
19 | Guile Debugging Server (GDS) does a fine job of this albeit only |
20 | intentionally on the localhost. The bot is not particularly |
21 | threadsafe and so the usefulness of GDS is limited... |
cf8ea873 |
22 | |
23 | 2.4: |
b4d6be9c |
24 | * Finish converting UserCommands to use Commands |
25 | * Eliminate String class |
26 | * Make internals threadsafe |
27 | - Need to lock *List, Hooks, and ServerQueue it seems |
cf8ea873 |
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 |
b4d6be9c |
32 | - Generate help dynamically rather than using a static file |
33 | - Commands register help entries |
528799bd |
34 | * Enhance the scripting layer |
b4d6be9c |
35 | - Implement ctcp-dequote |
36 | - Finish adding commands to Scheme for sending messages |
37 | - Finish adding hooks/send hooks |
38 | - Add commands to delete a hook |
39 | - Saner module loading |
40 | - Higher level interface (e.g. define-command NAME (ARGS) vs define + |
41 | bot:addcommand) |
42 | - New API in module (bobot++ FOO) instead of (bobotpp ...) to allow |
43 | old script to continue working with the old interface |
44 | * DCC FILE support (sending and recieving) |
45 | * Finish configuration database class |
46 | * Finish Texinfo manual |
ecca8c20 |
47 | * Enhance global UserList |
48 | - Add something similar to the UserList per server, but storing |
49 | *every* user ever seen in any channel |
50 | - Channel user lists should merely maintain pointers into this |
51 | - Rename UserList to AuthenticationList or similar to reflect its |
52 | actual purpose, and clean up its interface |
2e20c3e1 |
53 | |
c7d9fb19 |
54 | 2.4/3.0 (2.4 iff backwards compatibility is maintained, 3.0 otherwise): |
2e20c3e1 |
55 | General: |
ad529fde |
56 | * Audit code and see what data in classes should be made private and |
2e18045a |
57 | have getters/setters added (e.g. logFileName in Bot--if this is |
58 | changed the log file doesn't change after the Bot is started). |
2e18045a |
59 | * Possibly convert BotConfig to use boost::any instead of std::string |
60 | as t_value |
61 | * Remove StrinkTokenizer, replace with boost::tokenizer |
62 | * Remove string procedures from Utils, replace with boost::string_algo |
63 | * Use boost::timer for internal timers |
e07b6b46 |
64 | |
c7d9fb19 |
65 | Definitely 3.0: |
0a4eb469 |
66 | * Replace large select-loop in Bot::waitForInput with multithreaded |
4edefeb6 |
67 | - To clarify: There will be one thread for DCCs and another thread |
4f4c0ce6 |
68 | for the current irc server connection, each with its own select |
69 | loop. There may also be a thread for the network repls if I |
70 | implement those. |
9efc3706 |
71 | |
72 | Maybe: |
9efc3706 |
73 | * Make it possible to use Scheme functions in the Parser itself |