]> jfr.im git - erebus.git/blame - TODO
update comments
[erebus.git] / TODO
CommitLineData
f8a35028
JR
1vim: expandtab sw=2 ts=2
2
ef3b759c
JR
3- add (optional) timeout for wait_for_hidden_host
4
fe0673bc
JR
5- ability for modules to register additional sockets to monitor
6 - this is basically done but needs more testing on non-TCP and error conditions
7 the module interface should probably be simplified too
8 - also FDs so the bot can monitor a pipe
9 - add a pipe which allows to input commands even when IRC connection is gone
10 this might be difficult since there won't be a bot or user or chan object...
13ccb3ee 11
79b19e30
JR
12- add optional message wrapping in the core (instead of just truncation)
13
13ccb3ee
JR
14- implement timers in the core and/or modlib, by adjusting the select timeout whenever a timer is pending.
15 call timers as part of the event loop.
16 this has the potential to remove a LOT of the threading.
6037142c 17
5f685f53 18- fix crash when joining a channel that is forwarded (or otherwise force-joined by the server)
f8a35028
JR
19
20- fix urls:
21 - disallow private addresses as much as possible
22 - add a time limit if possible
0034a8f9
JR
23
24- add module with !join / !part / is there clevel management? etc
5f685f53
JR
25
26- add SQL "migrations" support to core for modules
27 and store module data in SQL instead of json's
d04cbd33
JR
28
29- better config... or better yet just move non-DB-related config into the database
30 - needs a better format if its used for generic module data; particularly because /\s#/ starts a comment instead of naming a channel
31 - needs to retain comments when config file is saved
25bf8fc5
JR
32
33- a module for administering channel users (copy from admin_user) and adding/removing channels
de66fe6d
JR
34
35- modlib function for parsing option arguments (like !MODLOAD has now)
90d2a7cc
JR
36
37- modlib 'onload' hook so modules can easily do stuff on loading
38 (if this exists use it to replace _key() in steam.py)
39
40- modlib 'need_config' function to tell the modlib you refuse to start without
41 a config value being specified
db733102
JR
42
43- add new hook types
44 - 'regexhook' for watching messages matching a regex
45 (should this be supported in core or
46 just by modlib translating into a numhook('PRIVMSG')?)
47 - 'msghook' for watching all messages (like numhook('PRIVMSG') but
48 you don't have to handle parsing)
49 - add a way to specify a config value as a hook parameter without needing
50 parent (i.e. delayed resolution)
acecba1e
JR
51
52- weather module using accuweather API, forecasts
715f4b1e
JR
53
54- fix softdeps, if they're used through lib.mod() or parent.module() they break, need a `'mod' in modules` check somewhere
1d5a167a
JR
55
56- ctlmod.unload: track what modules are unloaded and return that info to caller
f6386fa7
JR
57
58- lookup User object by auth
59 modules should be able to (attempt to) look up a User object by auth, that way if the user is online
60 !clevel and !glevel can look up their existing object and adjust the permissions there
471c2696
JR
61
62- sockets module: wrapping should operate on byte-level not string-level
63 sentences with unicode text get wrapped wrong
64 ... but the wrapping point needs to be determined at the string-level ugh