[project @ 2005-07-05 07:24:59 by unknown_lamer]
[clinton/bobotpp.git] / TODO
CommitLineData
e45daca1 1Done (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
c8f13c06 13
c7d9fb19 142.2:
cf8ea873 15* Finish Texinfo manual
c7d9fb19 16* Finish adding commands to Scheme for sending messages
17 (e.g. bot:send-CTCP to send a CTCP message)
18* Add util functions for doing stuff like quoting CTCP messages
19* Finish adding hooks/send hooks
cf8ea873 20
212.4:
22* Use configuration database class
23* Extend AOP to support +v (0 = no op, 1 = +o, 2 = +v)
2e18045a 24* Add !setcommandlevel (move ScriptCommands implementation to Commands
25 and add a UserCommands)
cf8ea873 26* Improve the help system
2e20c3e1 27
c7d9fb19 282.4/3.0 (2.4 iff backwards compatibility is maintained, 3.0 otherwise):
2e20c3e1 29General:
c7d9fb19 30* Eliminate String class
e07b6b46 31* Finish converting UserCommands to use Commands
ad529fde 32* Audit code and see what data in classes should be made private and
2e18045a 33 have getters/setters added (e.g. logFileName in Bot--if this is
34 changed the log file doesn't change after the Bot is started).
35* DCC FILE support (sending and recieving)
36* Possibly convert BotConfig to use boost::any instead of std::string
37 as t_value
38* Remove StrinkTokenizer, replace with boost::tokenizer
39* Remove string procedures from Utils, replace with boost::string_algo
40* Use boost::timer for internal timers
e07b6b46 41
42Scripting:
e07b6b46 43* Add commands to delete a hook
6530edbf 44 - return an iterator to the Hook
e07b6b46 45 - this would require a new SMOB to be created
6530edbf 46 - Scheme could pass Hook objects around and do nifty things
cb278e5a 47 - At least allow all hooks of a type with the same name field to be
48 deleted at once (also all hooks with the same name). Also allow
49 deleting based on the regexp
2e20c3e1 50
51Networking:
52* Add a networked interface to guile repl
4f4c0ce6 53 - This can (should) be done as a script, but requires non-coop threads
54 support to be done easily (and thus requires Guile 1.8)
2e20c3e1 55 - Admins only
fed59248 56 - Telnet
57 - Store authorized users and passwords in bot.telnet file
58 - Bot master can add new telnet users
59 - MUST HAVE PASSWORD
005c31fb 60* See if Socket::readLine could be sped up (profile it first to see if
61 it even matters)
e07b6b46 62
c7d9fb19 63Definitely 3.0:
6530edbf 64* Remove gh_* when Guile 1.8 is released
0a4eb469 65* Replace large select-loop in Bot::waitForInput with multithreaded
4edefeb6 66 - To clarify: There will be one thread for DCCs and another thread
4f4c0ce6 67 for the current irc server connection, each with its own select
68 loop. There may also be a thread for the network repls if I
69 implement those.
9efc3706 70
71Maybe:
9efc3706 72* Make it possible to use Scheme functions in the Parser itself