]> jfr.im git - erebus.git/blobdiff - TODO
help - dont allow args to SHOWCOMMANDS
[erebus.git] / TODO
diff --git a/TODO b/TODO
index 97c680da9d9353cc4ee6722947c9728e9c3d254b..5aaca0d82d433d4110ab1a7e233694d537fc32c5 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,3 +1,5 @@
+vim: expandtab sw=2 ts=2
+
 - add (optional) timeout for wait_for_hidden_host
 
 - add ability for modules to register additional sockets to monitor
@@ -9,3 +11,43 @@
 - 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.
   this has the potential to remove a LOT of the threading.
+
+- fix crash when joining a channel that is forwarded (or otherwise force-joined by the server)
+
+- fix urls:
+  - disallow private addresses as much as possible
+  - add a time limit if possible
+
+- add module with !join / !part / is there clevel management? etc
+
+- add SQL "migrations" support to core for modules
+  and store module data in SQL instead of json's
+
+- better config... or better yet just move non-DB-related config into the database
+  - needs a better format if its used for generic module data; particularly because /\s#/ starts a comment instead of naming a channel
+  - needs to retain comments when config file is saved
+
+- a module for administering channel users (copy from admin_user) and adding/removing channels
+
+- modlib function for parsing option arguments (like !MODLOAD has now)
+
+- modlib 'onload' hook so modules can easily do stuff on loading
+  (if this exists use it to replace _key() in steam.py)
+
+- 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