X-Git-Url: https://jfr.im/git/erebus.git/blobdiff_plain/90d2a7ccf9aab312cf233248b4ea4a2a3d0a3476..HEAD:/TODO?ds=sidebyside diff --git a/TODO b/TODO index 5340ead..b849f98 100644 --- a/TODO +++ b/TODO @@ -2,11 +2,14 @@ vim: expandtab sw=2 ts=2 - add (optional) timeout for wait_for_hidden_host -- add ability for modules to register additional sockets to monitor - (and socket_listener example module) - also FDs so the bot can monitor a pipe - - add a pipe which allows to input commands even when IRC connection is gone - this might be difficult since there won't be a bot or user or chan object... +- ability for modules to register additional sockets to monitor + - this is basically done but needs more testing on non-TCP and error conditions + the module interface should probably be simplified too + - also FDs so the bot can monitor a pipe + - add a pipe which allows to input commands even when IRC connection is gone + this might be difficult since there won't be a bot or user or chan object... + +- add optional message wrapping in the core (instead of just truncation) - implement timers in the core and/or modlib, by adjusting the select timeout whenever a timer is pending. call timers as part of the event loop. @@ -36,3 +39,26 @@ vim: expandtab sw=2 ts=2 - modlib 'need_config' function to tell the modlib you refuse to start without a config value being specified + +- add new hook types + - 'regexhook' for watching messages matching a regex + (should this be supported in core or + just by modlib translating into a numhook('PRIVMSG')?) + - 'msghook' for watching all messages (like numhook('PRIVMSG') but + you don't have to handle parsing) + - add a way to specify a config value as a hook parameter without needing + parent (i.e. delayed resolution) + +- weather module using accuweather API, forecasts + +- fix softdeps, if they're used through lib.mod() or parent.module() they break, need a `'mod' in modules` check somewhere + +- ctlmod.unload: track what modules are unloaded and return that info to caller + +- lookup User object by auth + modules should be able to (attempt to) look up a User object by auth, that way if the user is online + !clevel and !glevel can look up their existing object and adjust the permissions there + +- sockets module: wrapping should operate on byte-level not string-level + sentences with unicode text get wrapped wrong + ... but the wrapping point needs to be determined at the string-level ugh