TODO don’t write unchanged config to disk
[six.git] / TODO.txt
blobad0cece8e42e906850c96e6cd131916eb73e309c
2  ========
3  = TODO =
4  ========
6 WHOIS response for NickServ ID'ed users:
7 Unreal:
8    307: cyanite is a registered nick
9 Freenode:
10    320: cyanite is identified to services
15 • Better exceptions from dir_walk in configspace (on missing meta).
17 • Protect topic command with 'topic' capability.
19 • Help for config space is ok. But we need:
20    · Help for plugins.
21    · Help for commands (more than USAGE).
23 • Create an admin (or similar) plugin for stuff like quit, load, disconnect etc., and make it possible
24   to dynamically connect to new servers, disconnect and join/part etc. Also, move say, do etc. to a plugin
25   called something like comm or communication.
27 • IRC base as well as the bot should handle being PARTed, KICKed, QUITed etc.
29 • Figure out frameworks for:
30    · Regaining OP if lost, or if needed at some point.
31    · Dealing with abuse (support punishment).
33 • React, maybe, to services private notices. Perhaps not needed.
35 • Prefix log messages with current time
37 • Give a full stack trace for catched exceptions
39 • Support globs/patterns for $seen
41 • Tell user when he is not identified with the IRC server and tries to use $notes or similar
43 • Maybe make $notes only use WHOIS rather than require $register/$identify
45 • Always check WHOIS prior to $whoami/$note/$notes (might be obsolote if we do the above)
47 • Do not write out the config-space when nothing has changed. I have a test branch with a test config file, and after each test-run I get a different config file written to disk (re-ordering of items in the hash) which means I have to revert the config file before I can leave the branch.
50  ========
51  = DONE =
52  ========
54 • Ask for a WHO list after joining a channel, to collect masks.
55 • Delay calling on_init until we get that list.
56 • Leading ~ apparently does NOT mean IRC Operator. Figure out what it means, and fix it.