Page Menu
Home
DevCentral
Search
Configure Global Search
Log In
Files
F3768781
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
7 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/beta/docs/TODO b/beta/docs/TODO
index 1dce688..424ca30 100644
--- a/beta/docs/TODO
+++ b/beta/docs/TODO
@@ -1,174 +1,185 @@
----------------------------------------------------------
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.
Features and bugs are also being tracked via the sf.net
trackers at http://sourceforge.net/projects/darkbot
----------------------------------------------------------
+- atoi needs to be swapped for strtol in all places
+ since atoi isn't as safe.
+
+- Some kind of solution for large numbers needs to be
+ worked out for use with the unixtime user command.
+ Implementations with 32 bit instead of 64 bit longs
+ are limited to time representations in a range
+ consisting of only up to one more place value than
+ the current unixtime, and is a system dependant
+ value.
+
- 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. weather.
- Write things to replace the stuff that Windows can't do.
Backup command, etc.
- Make the output of the MEM command more useful and friendly.
- 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
----------------------------------------------------------
Add a show parameters command.
Deal with scripts/dbcron one way or another.
Update the INSTALL instructions.
Double check the in code summaries for setup parameters.
Allow multiple command characters - SETCHAR !'~
Convert use of the obsolete gethostbyname() to getaddrinfo().
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.
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.
Scripting or modules. Scripting using embryo is a really good option.
A limited subset could be used for the calc command as well.
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.
Channel protection - mass join, mass kick.
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Mon, Nov 25, 10:28 (1 d, 17 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2260001
Default Alt Text
(7 KB)
Attached To
Mode
rDARKBOT Darkbot
Attached
Detach File
Event Timeline
Log In to Comment