]> jfr.im git - erebus.git/blobdiff - TODO
control - show ignored status in whois
[erebus.git] / TODO
diff --git a/TODO b/TODO
index ba07613959e45421e458c5a2a6ad144ce74617bf..a915322f3e92d6eda3db77c529b922dff262b952 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,48 +1,33 @@
-handle nick in use
-61901.935 Erebus [I] :underworld2.no.quakenet.org 433 * Erebus :Nickname is already in use.
-
-== other ==
-module: help (generic help system)
-module: user (global access) management
-module: channel access management
-module: chanop (kick/ban/etc)
-module: userinfo (store f.e. country code, for other modules)
-
-modlib: allow lib.hook with a first argument list or tuple (aliases)
-
-ctlmod: needs to print out a traceback. traceback.print_exc().
-
-core: watchdog timer (check how long since last received, if >5m restart)
-
-
-== ?????? ==
-- Store User and Channel objects
-- Add no-such-command error to Bot().parsemsg
-
-
-== trivia ==
-[X] dynamic question/answers (simple maths e.g. n+7=randomnumber(4-9), what day of the week was it yesterday)
-[X] twitter notifications of new rounds
-[X] multiple answers (how can you cook an egg? boil|fry|poach|scramble)
-[X] progressive clues
-[X] anti-cheat mechanism (copy/paste random characters)
-[X] ability to modify parameters (HINTNUM, etc) & store in db instead of code
-[X] question management system done via irc
-[X] voting for next round target points
-[X] automatically change topic
-[X] automatic periodically displaying top 10 by country (assigned countries by stored player stats)
-       implemented as part of !top10 and TOPIC instead
-[X] error reporting system (one exists with hashie but it sucked and no one checked it)
-[X] live high score table on webpage (stats accessible)
-[X] auto topic changes for last round won (configurable by a text file or similar)
-
-
-convert to using MySQL for question/stat/game storage
-multi-channel
-team play (Create/edit/addplayer/removeplayer) needs password & email address for team captain
-stats. lots of them. (per round/lifetime stats, fastest, biggest streak, team stats, etc)
-question categories (able to change different question lists currently in use. i.e. tv/movies/music/general/etc categories)
-small challenges for preset targets (e.g. 1st to 20 points/most points in 10 mins) player vs player, team vs team, free for all)
-question management system done via web
-team play (Create/edit/addplayer/removeplayer) needs password & email address for team captain
-question categories (able to change different question lists currently in use. i.e. tv/movies/music/general/etc categories)
+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...
+
+- 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.
+
+- a module to set config settings at runtime
+  or at least commands to set some config settings like autoloading a module
+
+- 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