]> git.donarmstrong.com Git - infobot.git/blob - doc/TODO
Initial revision
[infobot.git] / doc / TODO
1 ######### TODO.
2 ### WISHLIST: SCHEDULER RELATED.
3 - if topic -CMD is used, schedule the change for 10seconds later.
4   $schedule{topicchange}{$chan} = SID. use 'dequeue' to delete.
5 - if 50% of netsplit victims come back, set a timer for 60seconds to
6   delete those who have not come back from the split.
7 - make first run of schedulers skip so they don't run all at once.
8   use 'return' if (ref($_[0]) eq ???); => won't work?
9 - use topic-queue for 'topic *'.
10 - Add &schedulerAdd() and &schedulerDel();, &scheduleIsInQueue();
11 - rename &ScheduleThis() to &scheduleAdd();
12
13 ### WISHLIST: COMMAND HOOKS.
14 - play around with 'hook' idea, see header of CommandStubs.pl.
15 - hook for ALL commands through MESSAGES.
16 - factoids to take arguments such as $1 $2 ...
17   => check all factoids for hooks then append to hook list.
18
19 ### WISHLIST: OLDE DBM SUPPORT // PGSQL.
20 - Thoroughly test both... core features done though.
21 - make a sql_common.pl file for 90% common stuff between mysql/pgsql.
22 - pgsql and mysql can be merged but I dunno anything about pgsql :)
23 - PGSQL
24         - EVERYTHING
25 - DBM
26         --- searchTable can be optimized by determining the correct offset
27             and use that from then on.
28         - Adding factoids [OK]
29         - Deleting factoids [OK]
30         - FactInfo [OK]
31         - Seen [OK]
32         - SearchTable [OK]      -- "%","*" supported?
33         - Countdown [???]
34         - Freshmeat [???]       -- &dbSetRow() should work, but slow.
35         - Factstats unrequested [???]
36
37 ### WISHLIST: SHOULD BE DONE...
38 - Change ""return 'NOREPLY';"" to ""return $noreply;"".
39 - make use of &status() in setup_*.pl
40 - Add quotes (Finance::Quote) support.
41 - Debian module doesn't search non-free or non-us properly.
42 - send DCC message when using 'op'.
43 - Schedule a 5min(??) interval to display stats in DCC
44   - kill if dcc chat == gone.
45 - if 25lines are logged within 1 second, throttle it (sleep 1)
46 - Add &botstatsUpdate() &botstatsGet();
47 - Create startCheck(); for once off startup checks.
48 - Max size of logs to keep.
49 - split Process.pl's FactoidStuph() off to Factoids/FCommands.pl
50 - time when last executed commands like fm,/. Useless?
51 - if a dunno is issued, add an option to suggest a factiod
52         => IE: fm
53         - $fact =~ / blah|blah / or /\Wblah\W/ ??
54         - debian package. ??
55         - ...
56 - add a function to evaluate channels
57   - ie: 'ALL', 'ALL but #blah', '#blah1 #blah2',
58   => Added &makeChanList() but not using it yet.
59 - rename performStrictReply to performReplyAsIs() or something?
60 - show current stats for top 3 requesters and top 3 requests.
61   => when seen is used, show last factoid/cmd asked
62 - understand '\' in infobot.config.
63 - Create a script to insert initial factoids like 'status','hello'...
64   like the dbm script in the old days.
65 - Add 'heh' count, like on 'dpkg', to &on_public(). create generic table
66   to handle this and karma and probably total msg count. possibly
67   integrate with seen table?
68   .... UPDATE seen SET time=time+1 WHERE nick='xk';
69   .... ERROR 1064: parse error near '+1 WHERE nick='xk'' at line 1
70   => WHY?
71 - support for 'find blah 6' for items 6 and more (since the list is
72   ordered). requested by jim.
73 - support 'info package [dist] [section]', eg: 'info ssh non-free' or
74   support query for incoming, if dist!=incoming.
75 - ...
76
77 ### WISHLIST: something to be desired...
78 - 'tell' (Process.pl) to support commands.
79 - reject '<REPLY> see' if redir factoid is too long.
80   need parsing of '||' and '(1|2|...)', too, for all possible
81   combinations (or permutations?).
82 - download *.dsc and *.changes file to generate the Incoming Packages
83   file. This will be fun :)
84 - Add 'OverwriteFromTxt' and other options for txt2mysql.pl.
85 - Set some variable to say "yes, I'm quitting" to prevent log compression
86   since it imposes a perl warning "unreferenced scalar"...
87 - Universal FROM<->TO conversion script for factoid table/db.
88 ### CLEAN UP
89 - Split all the functions in Topic.pl to topic <COMMAND>. First chunk of
90   commands should be "Internal", the next chunk "Helpers" and the
91   last one is "Main".
92 - Reduce number of global variables used.
93   => convert hash lists to arrays.
94   => convert scalar vars to hash lists.
95
96 ### CHALLENGE
97 - Better method to store topics. Should be very similiar to the
98   joinnextchan code, but a topic queue. _however_, topic may be lost with
99   netsplit + stuff which is another problem, oh well.
100   How do IRC clients do it? set a timer for 0.5s before any changes?
101 - Tree to show all variables in use. preliminary stuff there but
102   it's not all that helpful. good oreilly stuff in scripts/
103 - Better netjoin detection code.
104 - Allow X number of repetition of messages, default cannot be changed due
105   to simplicity of current code.
106
107 ### EXTERNAL BUGS:
108 - Net::IRC doesn't know event 'pong'.
109
110 ### BROKEN:
111 - babelfish