]> git.donarmstrong.com Git - infobot.git/blob - doc/old/TODO
Changed $infobot_ to $bot_
[infobot.git] / doc / old / 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   - add schedule list.
46 - if 25lines are logged within 1 second, throttle it (sleep 1)
47 - Add &botstatsUpdate() &botstatsGet();
48 - Create startCheck(); for once off startup checks.
49 - Max size of logs to keep.
50   - use Maxlogsize for both compressed and uncompressed.
51 - split Process.pl's FactoidStuph() off to Factoids/FCommands.pl
52 - time when last executed commands like fm,/. Useless?
53 - if a dunno is issued, add an option to suggest a factiod
54         => IE: fm
55         - $fact =~ / blah|blah / or /\Wblah\W/ ??
56         - debian package. ??
57         - ...
58 - add a function to evaluate channels
59   - ie: 'ALL', 'ALL but #blah', '#blah1 #blah2',
60   => Added &makeChanList() but not using it yet.
61 - rename performStrictReply to performReplyAsIs() or something?
62 - show current stats for top 3 requesters and top 3 requests.
63   => when seen is used, show last factoid/cmd asked
64 - understand '\' in infobot.config.
65 - Create a script to insert initial factoids like 'status','hello'...
66   like the dbm script in the old days.
67 - Add 'heh' count, like on 'dpkg', to &on_public(). create generic table
68   to handle this and karma and probably total msg count. possibly
69   integrate with seen table?
70   .... UPDATE seen SET time=time+1 WHERE nick='xk';
71   .... ERROR 1064: parse error near '+1 WHERE nick='xk'' at line 1
72   => WHY?
73 - support for 'find blah 6' for items 6 and more (since the list is
74   ordered). requested by jim.
75 - support 'info package [dist] [section]', eg: 'info ssh non-free' or
76   support query for incoming, if dist!=incoming.
77 - ...
78
79 ### WISHLIST: something to be desired...
80 - 'tell' (Process.pl) to support commands.
81 - reject '<REPLY> see' if redir factoid is too long.
82   need parsing of '||' and '(1|2|...)', too, for all possible
83   combinations (or permutations?).
84 - download *.dsc and *.changes file to generate the Incoming Packages
85   file. This will be fun :)
86 - Add 'OverwriteFromTxt' and other options for txt2mysql.pl.
87 - Set some variable to say "yes, I'm quitting" to prevent log compression
88   since it imposes a perl warning "unreferenced scalar"...
89 - Universal FROM<->TO conversion script for factoid table/db.
90 ### CLEAN UP
91 - Split all the functions in Topic.pl to topic <COMMAND>. First chunk of
92   commands should be "Internal", the next chunk "Helpers" and the
93   last one is "Main".
94 - Reduce number of global variables used.
95   => convert hash lists to arrays.
96   => convert scalar vars to hash lists.
97
98 ### CHALLENGE
99 - Better method to store topics. Should be very similiar to the
100   joinnextchan code, but a topic queue. _however_, topic may be lost with
101   netsplit + stuff which is another problem, oh well.
102   How do IRC clients do it? set a timer for 0.5s before any changes?
103 - Tree to show all variables in use. preliminary stuff there but
104   it's not all that helpful. good oreilly stuff in scripts/
105 - Better netjoin detection code.
106 - Allow X number of repetition of messages, default cannot be changed due
107   to simplicity of current code.
108
109 ### EXTERNAL BUGS:
110 - Net::IRC doesn't know event 'pong'.
111
112 ### BROKEN:
113 - babelfish