Add gnulib gettext module for config.rpath
[clinton/bobotpp.git] / TODO
1 Done (2.2):
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 * Utils::valid_nickname_p should have a configurable max nick length
10 * More detailed script error reporting
11 * Commands::sendCTCP, Commands::sendCTCPReply
12 * Add DCC_CHAT_END hook for Scheme
13 * Implement ctcp-quote
14
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...
22
23 2.4:
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
28 * Extend AOP to support +v (0 = no op, 1 = +o, 2 = +v)
29 * Add !setcommandlevel (move ScriptCommands implementation to Commands
30 and add a UserCommands)
31 * Improve the help system
32 - Generate help dynamically rather than using a static file
33 - Commands register help entries
34 * Enhance the scripting layer
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
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
53
54 2.4/3.0 (2.4 iff backwards compatibility is maintained, 3.0 otherwise):
55 General:
56 * Audit code and see what data in classes should be made private and
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).
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
64
65 Definitely 3.0:
66 * Replace large select-loop in Bot::waitForInput with multithreaded
67 - To clarify: There will be one thread for DCCs and another thread
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.
71
72 Maybe:
73 * Make it possible to use Scheme functions in the Parser itself