Page MenuHomeDevCentral

TODO
No OneTemporary

----------------------------------------------------------
The TO-DO List For Darkbot
----------------------------------------------------------
These are features that are in the planning stages, or
that haven't been completely worked out, yet. Also, any
suggestions that people have made, that are planning to
be added, will be listed here.
----------------------------------------------------------
- Add some kind of escape sequence or special parsing
for topics that start with key words like "WHAT", these
words are also recognized internally by the bot for
answering questions.
- Multi-channel randomstuffs. I want to make it possible
for every channel specified in setup.ini as the home
channel, in the case of multiple home channels, has
their own randomstuff timers that output randomstuffs
according to the action going on, for each specific
channel.
- Fix broken commands. google, calc, weather.
- Write things to replace the stuff that Windows can't do.
Backup command, etc.
- Make the google command (and maybe all other web
lookup commands) more robust.
- Add internet movie database (http://www.imdb.com) and
slashdot news (http://slashdot.org) searches.
- Single login, remembered across channel part/joins etc.
- Changing the bot's nick needs some testing and tweaking.
- IPv6.
- Merge acronym, 21, lurker, syndet, pantheon, and serv
into darkbot. All are linked to from the darkbot pages.
----------------------------------------------------------
onefang's TO-DO List For Darkbot
----------------------------------------------------------
Move the rest of user definable stuff in defines.h into setup.ini.
Add a show parameters command.
There is some overlap with the commands and parameters when doing help,
so some names will have to be changed.
Convert to gettext.
LSB style init script.
Deal with scripts/dbcron one way or another.
Properly license it under GPL2.
Update the INSTALL instructions.
Move all the comments in define.h for stuff that got moved to a proper
documentation file. Also double check the in code summaries for them.
Allow multiple command characters - SETCHAR !'~
Convert use of the obsolete gethostbyname() to getaddrinfo().
The first argument passed to the various select() calls could be better,
it's more efficient to actually calculate that.
Add a callback to the webinfo structure and otherwise restructure the
web stuff so that disabling a web command can #ifdef out all the code for
that command.
Merge all the scripts plus convertdb into darkbot so that all admin
stuff can be done from IRC, command line, or text UI.
Make the replaceable params in responses consistant. X~ and %X.
If possible, make all !set foo=bar stuff change the current state of the
bot rather than requiring a restart.
Find a cross pratform Windows/unix GUI toolkit we can live with and
create a GUI for darkbot admin.
Make multiple random responses easier to setup.
admin: bot add foo bar | baz | some other response
user: foo is also blah
admin: bot add foo | another answer
Menu in PM. Plain one liner, colour one liner, multiple lines, colour multiple lines.
user: /msg bot menu
>bot<: Main menu - 1) factiod comands, 2) user commands, 3) channel commands, B) backup one menu, Q) quit menu.
user: /msg bot menu big
>bot<: Main menu -
>bot<: 1) factiod comands
>bot<: 2) user commands
>bot<: 3) channel commands
>bot<: B) backup one menu
>bot<: Q) quit menu.
Don't give long answers in channel, only in PM. Instead, give a summary
in channel, and inform user that a longer response is available via PM.
bot: summary of foo bar. (PM "foo bar" for more.)
luser: PM "foo bar"
bot: PM "foo bar" means to send me a private message you idiot. Try this command "/msg bot foo bar".
Make the bot gender definable, defaulting to female. Allow users to
register their gender. Auto convert all relevant text to proper gender.
Add memos "tell onefang that foo", as opposed to factoid telling "tell
onefang about bah". Allow memos to yourself. Fix alarm and tie that in
as well, alarms to others and to self. Limit memos & alarms to karma
memos & alarms per hour to limit abuse.
Allow unlogged in users to create factiods, and change these factoids, plus
make additions to factoids.
luser: blah is humbug.
user: blah?
bot: luser tells me that blah is humbug. luser may have been drunk at the time.
luser: known fact is wrong.
user: what is known fact?
bot: Known fact is correct. On the other hand, luser thinks that known fact is wrong.
Channel logging, and playback to PM.
wtf, add a karma system.
use it to sort the unlogged user added factoids.
bot: luser tells me that blah is humbug. Others have more to say, but I trust luser more. (PM "blah" for more.)
Use it to refer people to the highest karma person.
bot: Dunno, ask High_Karma_Dude.
Use no karma and negative karma as extra security levels. No karma = -1, negative karma = (karma / 100) - 2
Keep track of how much she has been fed, deny taking food from strangers
(low/no karama users). This implies that botsnack become an information command.
data include files.
Keep track of what database include files are not used for a while, and unload
them, keeping the questions and a pointer to the file though.
Multiple server/channel support like xchat.
Allow different data per server/channel, using includes for common stuff.
Allow different setup per server/channel.
Keep track of unanswered questions, for two reasons -
So the admin can look through it later and add factiods if needed.
If the user is still around (and given a suitable timeout) answer the
question if an answer arrives.
Implement the Porter-Stemmer algorithm to improve English-language
searching as per the drupal module of the same name. It reduces each
word in the index to its basic root or stem (e.g. 'blogging' to 'blog')
so that variations on a word ('blogs', 'blogger', 'blogging', 'blog')
are considered equivalent when searching. This generally results in
more relevant results. Also, start by stripping out all punctuation.
On the other hand, question marks mean it is more likely to be a
question. Same applies to use of the W words near the beginning, they
are more likely to be questions.
Add a locale to weather codes database or search facility. Combine all
the weather commands into one. Make it return metric results.
Command to guess a users timezone, and show time in that zone.
Random greetings, random channel topics, etc.
Interface other shell commands, but be secure. In fact, setup a chroot
for arbitrary shell commands.
Allow DCC to and from a file server.
Scripting or modules.
Channel protection - mass join, mass kick.
The alarm() may not be portable enough. Replace multiple alarm() calls
with a single setitimer() call. Give alarm() the benefit of the doubt
for now.

File Metadata

Mime Type
text/plain
Expires
Sun, Nov 16, 13:10 (1 d, 18 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3148267
Default Alt Text
TODO (6 KB)

Event Timeline