]>
Commit | Line | Data |
---|---|---|
f8a35028 JR |
1 | vim: 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 |