Page Menu
Home
DevCentral
Search
Configure Global Search
Log In
Files
F3769725
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
79 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/beta/docs/SETUP b/beta/docs/SETUP
index d14abd5..ddfb619 100644
--- a/beta/docs/SETUP
+++ b/beta/docs/SETUP
@@ -1,637 +1,827 @@
-This will eventually be full documentation about setup.ini. For now
-I've just cut and pasted the relevant section from defines.h.
-
-
-/* ================ LANGUAGE ================ */
-/*
- * Pick a number from the list below for the language you
- * want your darkbot to speak. Default is 1, English.
- * ------------------------------------------------------------------
- * 1 = ENGLISH - play <jason@superlink.net>
- * 2 = FRENCH - Inajira <inajira@videotron.ca>
- * - EfX <michel.efx@globetrotter.net>
- * - eCHaLoTTe <echalotte@cablevision.qc.ca>
- * 3 = SPANISH - speed1 <speed@eduredes.edu.do>
- * 4 = DUTCH - Asmodai <asmodai@wxs.nl>
- * 5 = LATIN - Otaku <otaku@unixgeek.ml.org>
- * 6 = GREEK - Chris_CY <chriscy@cylink.net>
- * 7 = EBONICS - rapsux <bitter@ici.net>
- * 8 = PIG LATIN- Cloud <burtner@usa.net>
- * 9 = RUSSIAN - KOI8 encoding
- * 10= RUSSIAN - CP1251 encoding
- * - Oleg Drokin <green@ccssu.crimea.ua>
- * 11= PORTUGUESE- Pincel <Pincel@darkbot.info>
- * 12= GERMAN - C.Hoegl@gmx.net & marc@reymann.net
- * 13= ITALIAN - daniele nicolucci <jollino@icemail.it>
- * 14= CHINESE - James <jamespower@263.net>
- * 15= SWEDISH - Ybznek <sunmo@seaside.se>
- * 16= NORWEGIAN- [SoHo] <soho@int19h.com>
- * 17= ROMANIAN - Radu <radu.negoescu@sante.univ-nantes.fr>
- * 18= ARABIC - MrSiMo <mrsimo7@yahoo.fr>
- * 19= TAIWANISH- ?
- * ------------------------------------------------------------------
- * ? = Email juice@darkbot.org if you want to help add other langs!
- * ------------------------------------------------------------------
- */
-//#define LANG 1
-
-/* ================ STARTUP, CONNECTION, IRC ================ */
-
-/* ==== ON START ==== */
-/*
- * Your darkbot tell you (at startup) what the latest version of
- * darkbot is. If you DO NOT WANT THIS, then define this. We recommend
- * keeping this defined.
- */
-//#define ENABLE_VERSION_CHECK
-
-/* ==== ON CONNECTION ==== */
-/*
- * Print out extra details while starting up?
- */
-//#define VERB
-
-/*
- * Check if servers are not responding, is so
- * connect to next server in list. (recommended)
- * Some linux systems have problems with this.
- * You'll know if you're one of them if your bot
- * disconnects every 5 minutes.
- *
- * ALSO NOTE: If your bot seems to disconnect every 5 minutes, try
- * turning off the CHECK_STONED code.
- */
-//#define CHECK_STONED ON
-
-/*
- * This is the time that darkbot will wait for a connection
- * to the server, before trying the next server. You may need
- * to increase this if you are on a slow connection.
- */
-//#define CONNECT_WAIT_TIMEOUT 10
-
-/* ==== ON CONNECTED - IRC ==== */
-/*
- * Send everything that's in PERFORM.INI
- * to the IRC server every 60 seconds?
- * Useful if the bot is banned, or X was
- * split at the time darkbot signed on.
- */
-//#define PERFORM_TIMER ON
-
-/*
- * What user modes do you want for darkbot?
- */
-//#define DEFAULT_UMODE "+i-ds"
-
-/* ==== ON IRC ==== */
-/*
- * Reply to CTCP's? (PING/VERSION).
- */
-//#define CTCP ON
-
-/*
- * Want your darkbot to always have less than
- * 10 min idle? This isn't usually needed since
- * darkbots tend to talk a lot. (default = undef)
- */
-//#undef ANTI_IDLE
-
-/* ==== ONJOIN ==== */
-/*
- * When bot joins a channel, sometimes it's hard
- * to tell when it's "synced" and is no longer processing
- * stuff -- this tells the channel the bot has finished
- * syncing. For example, if you try to login while it's
- * still syncing, it may just ignore your login request
- * until it sees you in the channel. (default = OFF)
- */
-//#define DISPLAY_SYNC OFF
-
-/* ================ DATABASE MANAGEMENT ================ */
-
-/* ==== ON START ==== */
-/*
- * Sort your info2.db on startup? Will take
- * forever if u have a large db. If you have dividers or
- * any sort of markers on your database and you want to
- * preserve their position leave this directive undefined.
- * Sorting the database will put all items listed in
- * alphabetic order. (default = undef)
- */
-//#undef SORT
-
-/*
- * When user's do the INFO command, and at
- * startup, do you want to find and remove
- * duplicates database entries? (default = undef)
- */
-//#undef FIND_DUPS
-
-/*
- * When duplicate topics are found, do you
- * want to save them? (in case some topics
- * are accidently deleted) (default = define)
- */
-//#define SAVE_DUPS
-
-/* ==== PERMISSIONS ==== */
-/*
- * Do you want Darkbot to answer questions that match a topic
- * without addressing the bot? (default = ON)
- */
-//#define GENERAL_QUESTIONS ON
-
-/*
- * Turn this ON if you want to be able to use the ADD function
- * in private message to the bot. (default = OFF)
- */
-//#define ALLOW_ADD_IN_MSG OFF
-
-/*
- * Turn this ON if you want to be able to use the DEL function
- * in private message to the bot. (default = OFF)
- */
-//#define ALLOW_DEL_IN_MSG OFF
-
-/*
- * If you want your bot to be able to respond to things asked
- * in private messages, turn this option ON. Use the above two
- * defines to allow/disallow adding or deleting entries in private.
- * (default = OFF)
- */
-//#define MSG_RESPONSES OFF
-
-/*
- * Toggles the use of encrypted passwords in the userlist.db file.
- * Turn this off if you don't want your passwords encrypted. Also
- * note that if you're using encrypted passwords and you decide to
- * turn this option off, you'll need to redo your userlist.db file.
- * Note: If you're new to Darkbot, you may want to turn this option OFF.
- */
-//#define ENCRYPT_PASSWORDS OFF
-
-/*
- * Minimal access level required to add
- * topics? (default = define)
- */
-//#define REQ_ACCESS_ADD
-
-/*
- * Minimal access level required to to delete
- * topics? (default = define)
- */
-//#define REQ_ACCESS_DEL
-
-/* ==== LOGS ==== */
-/*
- * Do you want to log who adds/deletes topics? Log saved
- * to dat/logs/add_delete.log (default = define)
- */
-//#define LOG_ADD_DELETES
-
-/*
- * Do you want to log all privmsg's to your
- * darkbot? (will be saved to dat/logs/ dir)
- * (default = ON)
- */
-//#define LOG_PRIVMSG ON
-
-/* ==== SLEEP DIRECTIVES ==== */
-/*
- * Level at which user's can make darkbot shut up
- * (aka hush). This is useful for help channels when
- * they want darkbot to quit talking while they address
- * something important in the chan (default = 3)
- */
-//#define SLEEP_LEVEL 3
-
-/*
- * How many seconds to sleep for? (default = 300 (5 minutes))
- */
-//#define SLEEP_TIME 300
-
-/*
- * What you would want your Darkbot to say when sleep and
- * wake up commands are issued? (If you want you can change
- * what is between 'ACTION' and '\1')
- */
-//#define GOSLEEP_ACTION "\1ACTION falls asleep... ZzzZZzzZZzz\1"
-//#define WAKEUP_ACTION "\1ACTION wakes up from a snooze..\1"
-
-/* ==== DATA SIZE ==== */
-/*
- * The max length your database replies will be. This will be useful
- * to people loading their database into ram - if your data is all
- * less than 400 chars, then you can save some ram.... Longer replies
- * allows you to do more, for example, with bitwise operator PIPE
- * (default = 400)
- */
-//#define MAX_DATA_SIZE 400
-
-/*
- * The max length your database topics will be. (default = 50)
- */
-//#define MAX_TOPIC_SIZE 50
-
-/* ==== OUTPUTS - TIMERS ==== */
-/*
- * LASTCOMM_TIME is the length of time (in seconds)
- * that your bot will not reply to a topic already
- * asked. Thus if someone asked your bot about "mirc"
- * that question could not be asked again in the
- * same format for N seconds (or till the question
- * is out of buffer). This prevents the bot from
- * falling prey to users who like to repeat.
- * (default = 5)
- */
-//#define LASTCOMM_TIME 5
-
-/*
- * BELOW is the output timers. Darkbot does not
- * output text without first putting it into a
- * queue list. If the bot has several lines of text
- * waiting to be sent, it starts to delay longer
- * and longer between output, so it can't flood
- * itself off of IRC. Explanation:
- *
- * If text in queue is < OUTPUT1_COUNT, output it.
- * If text in queue is > OUTPUT1_COUNT, delay
- * OUTPUT1_DELAY seconds. If queue is > OUTPUT2_COUNT,
- * delay OUTPUT2_DELAY seconds. If number of text
- * in queue is higher than OUTPUT_PURGE_COUNT, then
- * just delete all unneeded output (ie; any text
- * and notices, but leaving in stuff like kicks
- * and modes) The defaults below are recommended,
- * as the bot isn't going to flood off. If you are
- * having the bot delete output messages and you'd
- * like to increase the queue, update the
- * OUTPUT_PURGE_COUNT to a larger number. Just keep
- * in mind if someone floods your bot with a lot of
- * VERSION requests, the bot will sit there outputting
- * a lot of version replies instead of deleting them,
- * causing it to act as if it's just sitting there not
- * doing anything when you ask it something in your
- * channel. (defaults = 4) = 1) = 6) = 2)
- */
-//#define OUTPUT1_COUNT 4
-//#define OUTPUT1_DELAY 1
-//#define OUTPUT2_COUNT 6
-//#define OUTPUT2_DELAY 2
-
-/*
- * If still < OUTPUT_PURGE_COUNT and > OUTPUT2_COUNT
- * then delay OUTPUT3_DELAY secs. (default = 3)
- */
-//#define OUTPUT3_DELAY 3
-
-/*
- * When all else fails... if more than OUTPUT_PURGE_COUNT
- * delete them all! No use in making the bot output slowly
- * over a long period of time... imagine if you set this to
- * 50, and had an OUTPUT3_DELAY of 3 secs.. thats 50*3 secs
- * till the bot is ready to output any new data to you!
- * (default = 7)
- */
-//#define OUTPUT_PURGE_COUNT 7
-
-/* ======== OUTPUT MESSAGES ======== */
-
-/* ==== OUTPUT MESSAGES - ON TOPICS ==== */
-/*
- * Message to give when adding an existent topic
- */
-//#define EXISTING_ENTRY "Sorry, there is an existing entry under keyword"
-
-/*
- * Message to give when there is no mentioned topic
- */
-//#define NO_ENTRY "I was unable to find entry:"
-
-/* ==== OUTPUT MESSAGES - ON SEARCH ==== */
-/*
- * These are the messages Darkbot will give on unaccomplished
- * search queries. Change the areas between " " with what
- * you want.
- */
-//#define CANT_FIND "Was unable to find" /* ... */
-//#define NO_TOPIC "Sorry, I don't have any entry for" /* ... */
-//#define TRY_FIND "What am I trying to find"
-
-
-/* ==== OUTPUT MESSAGES - ON NONEXISTENT TEXT ==== */
-/*
- * Answer to give in case Darkbot's nick is mentioned
- * without any further text. Do not UNDEF. If you want
- * change only what is between " ". Check next directive.
- */
-//#define WHUT "hmmm?"
-
-/*
- * Gives a random response from dat/whut.rdb instead what
- * is specified on 'define WHUT'. (default = ON)
- */
-//#define RANDOM_WHUT ON
-
-/*
- * Answer to give in case there is no reply on Darkbot's database
- * Do not UNDEF. If you want change only what is between " ". Check
- * next directive.
- */
-//#define DUNNO_Q "*shrug*"
-
-/*
- * For those wanting the DUNNO_Q response to be random, turn this
- * option ON, and darkbot will ignore the default definition and
- * use a random line from dat/dunno.db
- */
-//#define RANDOM_DUNNO ON
-
-/* ======== RANDOM STUFF ========= */
-/*
- * Will read from a random line in dat/randomstuff.ini and say
- * something random in the home channel. ALSO if nothing is said
- * in darkbot's home channel it will say a randomstuff every
- * RAND_IDLE as long as no one says anything. (default = define)
- * UNDEFining this directive will not allow you to add RDBs or
- * randomstuff entries. If you really want your bot not to say
- * anything from randomstuff.ini and keed adding random replies,
- * increase the time _TIME and _IDLE defines to, for example,
- * 54750, which corresponds to 365 days :)
- */
-//#define RANDOM_STUFF
-
-/*
- * Time in seconds to randomly say something
- * from randomstuff.ini (default = 3600 (1 hour))
- */
-//#define RAND_STUFF_TIME 3600
-
-/*
- * Time in secs to say something in home chan when no
- * one says anything. This overrides the RAND_STUFF_TIME
- * counter. (default = 1800 (30 minutes))
- */
-//#define RAND_IDLE 1800
-
-/*
- * Level at which user's can on-line add new
- * randomstuff topics, this also is the level at which
- * users will be able to add RDB topics (default = 2)
- */
-//#define RAND_LEVEL 2
-
-/*
- * This is a new feature which enables the RANDQ
- * channel command, which will output a random
- * quote from your randomstuff.ini containing the
- * specified search string. ( default = ON )
- */
-//#define RANDQ ON
-
-/*
- * This define backs up your randomstuff file every time
- * you add a random quote, in case you would like to do so.
- * ( default = #undef )
- */
-//#undef BACKUP_RANDOMSTUFF
-
-
-/* ================ IRC - CHANNEL RELATED ================ */
-
-/* ==== REGISTERED USERS ON JOIN ACTIONS ==== */
-/*
- * Have the bot do auto-greet (setinfo) to registered users?
- * (default = ON)
- */
-//#define JOIN_GREET ON
-
-/*
- * This is the length of time to NOT allow someone to be recounted
- * when they rejoin your channels, which tends to clutter up
- * everyone's screen with the setinfo. This basically keeps track
- * of who joined in the last ___ seconds, and does not do their
- * setinfo during that amount of time. (default = 60 (seconds))
- */
-//#define SLASTCOMM_TIME 60
-
-/*
- * Have the bot VOICE users when they join? (default = OFF)
- */
-//#define VOICE_USERS_ON_JOIN OFF
-
-/*
- * Have the bot OP users when they login? (default = OFF)
- */
-//#define OP_USERS_ON_LOGIN OFF
-
-/* ==== USERS LOOKOUT ==== */
-/*
- * Want to be alerted when a user who joins is in "questionable"
- * other channels? This option only works on networks which their
- * IRCD's allows NOTICE to be sent using /notice @#chan
- * (default = OFF)
- */
-//#define DO_WHOIS OFF
-
-/*
- * Max length in seconds to keep a lastseen
- * (default = 604800 (7 days))
- */
-//#define MAX_LASTSEEN 604800
-
-/*
- * If you change the above time (MAX_LASTSEEN), be sure to
- * update the SEEN_REPLY to the respective time length.
- * (Change for what you want between " ")
- */
-//#define SEEN_REPLY "in the last 7 days."
-
-/* ==== COMPLAINT MESSAGES ==== */
-/*
- * Message Darkbot will send to the channel where it was kicked
- * from. (Change for what you want between " ")
- */
-//#define COMPLAIN_REASON "grrr, kick me again and I'm going to..."
-
-/*
- * will complain in the chan that the Darkbot is deoped in.
- * (default = OFF)
- */
-//#define BITCH_ABOUT_DEOP OFF
-
-/*
- * What do you want your Darkbot to say when is not
- * oped? (Change for what you want between " ")
- */
-//#if BITCH_ABOUT_DEOP == 1
-//#define BITCH_DEOP_REASON "grr, someone op me!"
-//#endif
-
-/* ==== CHAN OP DIRECTIVES ==== */
-/*
- * Enable this if you want to make your darkbot bloated with
- * stuff like !KICK, !UP, !WACK, etc. Basically anything
- * dealing with channel modes and kicking commands. This
- * includes PERMBANS. On linux, without this, your darkbot
- * bin will shrink considerably. (default = ON)
- */
-//#define DO_CHANBOT_CRAP ON
-
-/*
- * Autotopic time interval in seconds
- * (default = 1800 (30 minutes))
- */
-//#define AUTOTOPIC_TIME 1800
-
-/* ==== KICKS AND BANS ==== */
-
-/*
- * What do you want your Darkbot to say when kicks someone?
- * Note when you apply a kick with reason this setting will
- * not overwrite it. (Change for what you want between " ")
- */
-//#define DEFAULT_KICK "Requested!"
-
-/*
- * Kick people out when they are banned?
- */
-//#define KICK_ON_BAN OFF
-
-/* ==== KICKS AND BANS - FLOODS ==== */
-/*
- * Sometimes morons like to /notice flood channels.
- * This define will make the bot kick those people
- * when they do a channel notice. (default = ON)
- */
-//#define KICK_ON_CHANNEL_NOTICE ON
-
-/*
- * If you want to take it a step further, you can also
- * have the bot ban the user@host too. (default = OFF)
- */
-//#define BAN_ON_CHANNEL_NOTICE OFF
-
-/*
- * Finally, we can ban by *@host. This requires the
- * above two to be turned on. (default = OFF)
- */
-//#define BAN_BY_HOST OFF
-
-/* ==== KICKS AND BANS - DARKBOT'S OWN FLOOD PROTECTION ==== */
-/*
- * Define this if you want your Darkbot to KICK out the
- * people who flood it. NOTE: This means flooding your BOT,
- * not your CHANNEL. If you don't define this, it will just
- * ignore the user. (default = define)
- */
-//#define FLOOD_KICK
-
-/*
- * What do you want your Darkbot to say when someone is
- * flooding it? (Change for what you want between " ")
- */
-//#define FLOOD_REASON "Don't flood!"
-
-/* ================ MISCELLANEOUS ================ */
-
-/*
- * Google search feature (default = ON)
- */
-//#define GOOGLE ON
-
-/*
- * METAR search feature (default = ON)
- */
-//#define METAR ON
-
-/*
- * WEATHER search feature (default = ON)
- */
-//#define WEATHER ON
-
-/*
- * TAF search feature (default = ON)
- */
-//#define TAF ON
-
-/*
- * Bot's online QUIZ (default = OFF)
- */
-//#define QUIZ OFF
-
-/*
- * How long to wait before giving the answer? (default = 25)
- */
-//#define QUIZ_TIMER 25
-
-/*
- * Don't allow another quiz until this time has expired (since
- * the last answer) (default = 20)
- */
-//#define QUIZ_REPEAT_TIMER 20
-
-/*
- * Do you want your bot to do math commands? (default = define)
- */
-//#define DO_MATH_STUFF
-
-/*
- * Parse luser data? May cause SIG_SEGV on
- * some ircd's (ie; non ircu) Basically all this does
- * is display network info like opers, servers, avg #
- * of users on the servers, etc.
- */
-//#define STATUS OFF
-
-/* ================ AID DIRECTIVES ================ */
-
- /*
- * Give user's who join a NOTICE with info on how to use the darkbot?
- * I don't bother with this anymore since my bot knows how to respond
- * to most general questions users ask. If your bot is new and doesn't
- * know much, then you may want to have it tell people how to use it.
- */
-//#define HELP_GREET OFF
-
-/*
- * This define just sends a message to the channel, whenever a "Guest"
- * user joins, asking the user if they need any help. This is useful
- * for help channels.
- */
-
-//#define AUTOHELP_GUESTS OFF
-
-/*
- * If you change anything on the next 5 directives be careful not to
- * remove or change the position of '%s' nor anything outside quotes.
- */
-#define L100(s,a,b,c,d,e,f) S("NOTICE %s :I can be triggered by various \
+You can control how Darkbot works using setup parameters. You can
+change these by directly editing setup.ini (when Darkbot is not running)
+or by using the !set command (when logged in). In setup.ini it will
+look like this -
+
+PARAMETER=value
+
+Using the !set command will look like this -
+
+!set PARAMETER=value
+
+Using the !set command will save your changes to setup.ini. Some of the
+parameters will require a restart before they will be recognised.
+
+Parameters are one of three different types, number, text, or boolean
+(true or false). For boolean values you can use any one of these to
+specify "true" - true, 1, yes, ack, ok, one, positive, absolutely,
+affirmative, ah ha, shit yeah, why not. You can use any one of these to
+specify "false" - false, 0, no, nack, nope, zero, negative, nah, no way,
+get real, uh uh, fuck off, bugger off. Only the first letter is
+important, so there are many variations.
+
+NOTE: Some of these parameters can only be set at compile time. Exactly
+which ones is currently subject to change, but they will all be
+documented here in order to keep them in one place. This can look like
+this -
+
+sh build.sh --enable-parameter1 --disable-parameter2 --with-parameter3=value
+
+
+================ LANGUAGE ================
+
+PARAMETER LANG
+DEFAULT 1
+TYPE Number, Compile time
+EXAMPLE --with-lang=1
+
+Pick a number from the list below for the language you want your darkbot
+to speak. Default is 1, English. The email address is the person
+responsible for the translation.
+
+------------------------------------------------------------------
+1 = ENGLISH
+2 = FRENCH - Inajira <inajira@videotron.ca>
+ - EfX <michel.efx@globetrotter.net>
+ - eCHaLoTTe <echalotte@cablevision.qc.ca>
+3 = SPANISH - speed1 <speed@eduredes.edu.do>
+4 = DUTCH - Asmodai <asmodai@wxs.nl>
+5 = LATIN - Otaku <otaku@unixgeek.ml.org>
+6 = GREEK - Chris_CY <chriscy@cylink.net>
+7 = EBONICS - rapsux <bitter@ici.net>
+8 = PIG LATIN - Cloud <burtner@usa.net>
+9 = RUSSIAN - KOI8 encoding
+10 = RUSSIAN - CP1251 encoding
+ - Oleg Drokin <green@ccssu.crimea.ua>
+11 = PORTUGUESE - Pincel <Pincel@darkbot.info>
+12 = GERMAN - C.Hoegl@gmx.net & marc@reymann.net
+13 = ITALIAN - daniele nicolucci <jollino@icemail.it>
+14 = CHINESE - James <jamespower@263.net>
+15 = SWEDISH - Ybznek <sunmo@seaside.se>
+16 = NORWEGIAN - [SoHo] <soho@int19h.com>
+17 = ROMANIAN - Radu <radu.negoescu@sante.univ-nantes.fr>
+18 = ARABIC - MrSiMo <mrsimo7@yahoo.fr>
+19 = TAIWANISH - ?
+------------------------------------------------------------------
+? = Email juice@darkbot.org if you want to help add other langs!
+------------------------------------------------------------------
+
+
+================ STARTUP, CONNECTION, IRC ================
+
+ ==== ON START ====
+
+PARAMATER ENABLE_VERSION_CHECK
+DEFAULT false
+TYPE Boolean, Compile time
+EXAMPLE
+
+Your darkbot tell you (at startup) what the latest version of darkbot
+is. We recommend keeping this disabled.
+
+
+ ==== ON CONNECTION ====
+
+PARAMATER VERB
+DEFAULT true
+TYPE Boolean, Compile time
+EXAMPLE
+
+Print out extra details while starting up?
+
+
+PARAMATER CHECK_STONED
+DEFAULT true
+TYPE Boolean, Compile time
+EXAMPLE
+
+Check if servers are not responding, is so connect to next server in
+list. (recommended) Some linux systems have problems with this. You'll
+know if you're one of them if your bot disconnects every 5 minutes.
+
+ALSO NOTE: If your bot seems to disconnect every 5 minutes, try turning
+off CHECK_STONED.
+
+
+PARAMATER CONNECT_WAIT_TIMEOUT
+DEFAULT 10
+TYPE Number
+
+This is the time that darkbot will wait for a connection to the server,
+before trying the next server. You may need to increase this if you are
+on a slow connection.
+
+
+ ==== ON CONNECTED - IRC ====
+
+PARAMATER PERFORM_TIMER
+DEFAULT true
+TYPE Boolean
+
+Send everything that's in PERFORM.INI to the IRC server every 60
+seconds? Useful if the bot is banned, or X was split at the time darkbot
+signed on.
+
+
+PARAMATER DEFAULT_UMODE
+DEFAULT "+i-ds"
+TYPE Text
+
+What user modes do you want for darkbot?
+
+
+ ==== ON IRC ====
+
+PARAMATER CTCP
+DEFAULT true
+TYPE Boolean, Compile time
+EXAMPLE
+
+Reply to CTCP's? (PING/VERSION).
+
+
+PARAMETER ANTI_IDLE
+DEFAULT false
+TYPE Boolean
+
+Want your darkbot to always have less than 10 min idle? This isn't
+usually needed since darkbots tend to talk a lot.
+
+
+ ==== ONJOIN ====
+
+PARAMATER DISPLAY_SYNC
+DEFAULT false
+TYPE Boolean
+
+When bot joins a channel, sometimes it's hard to tell when it's "synced"
+and is no longer processing stuff -- this tells the channel the bot has
+finished syncing. For example, if you try to login while it's still
+syncing, it may just ignore your login request until it sees you in the
+channel.
+
+
+================ DATABASE MANAGEMENT ================
+
+ ==== ON START ====
+
+PARAMETER SORT
+DEFAULT false
+TYPE Boolean
+
+Sort your info2.db on startup? Will take forever if u have a large db.
+If you have dividers or any sort of markers on your database and you
+want to preserve their position leave this directive undefined. Sorting
+the database will put all items listed in alphabetic order.
+
+
+PARAMETER FIND_DUPS
+DEFAULT false
+TYPE Boolean
+
+When user's do the INFO command, and at startup, do you want to find and
+remove duplicates database entries?
+
+
+PARAMATER SAVE_DUPS
+DEFAULT true
+TYPE Boolean
+
+When duplicate topics are found, do you want to save them? (in case some
+topics are accidently deleted).
+
+
+ ==== PERMISSIONS ====
+
+PARAMATER GENERAL_QUESTIONS
+DEFAULT true
+TYPE Boolean
+
+Do you want Darkbot to answer questions that match a topic without
+addressing the bot?
+
+
+PARAMATER ALLOW_ADD_IN_MSG
+DEFAULT false
+TYPE Boolean
+
+Turn this on if you want to be able to use the ADD function in private
+message to the bot.
+
+
+PARAMATER ALLOW_DEL_IN_MSG
+DEFAULT false
+TYPE Boolean
+
+Turn this on if you want to be able to use the DEL function in private
+message to the bot.
+
+
+PARAMATER MSG_RESPONSES
+DEFAULT false
+TYPE Boolean
+
+If you want your bot to be able to respond to things asked in private
+messages, turn this option on. Use the above two defines to allow /
+disallow adding or deleting entries in private.
+
+
+PARAMATER ENCRYPT_PASSWORDS
+DEFAULT false
+TYPE Boolean, Compile time
+EXAMPLE
+
+Toggles the use of encrypted passwords in the userlist.db file. Turn
+this off if you don't want your passwords encrypted. Also note that if
+you're using encrypted passwords and you decide to turn this option
+off, you'll need to redo your userlist.db file. Note: If you're new to
+Darkbot, you may want to turn this option off.
+
+
+PARAMATER REQ_ACCESS_ADD
+DEFAULT true
+TYPE Boolean
+
+Minimal access level required to add topics?
+
+
+PARAMATER REQ_ACCESS_DEL
+DEFAULT true
+TYPE Boolean
+
+Minimal access level required to to delete topics?
+
+
+ ==== LOGS ====
+
+PARAMATER LOG_ADD_DELETES
+DEFAULT true
+TYPE Boolean
+
+Do you want to log who adds/deletes topics? Log saved to
+dat/logs/add_delete.log.
+
+
+PARAMATER LOG_PRIVMSG
+DEFAULT true
+TYPE Boolean
+
+Do you want to log all privmsg's to your darkbot? (will be saved to
+dat/logs/ dir).
+
+
+==== SLEEP DIRECTIVES ====
+
+PARAMATER SLEEP_LEVEL
+DEFAULT 3
+TYPE Number, Compile time
+EXAMPLE
+
+Level at which user's can make darkbot shut up (aka hush). This is
+useful for help channels when they want darkbot to quit talking while
+they address something important in the chan.
+
+
+PARAMATER SLEEP_TIME
+DEFAULT 300
+TYPE Number
+
+How many seconds to sleep for?
+
+
+PARAMATER GOSLEEP_ACTION
+DEFAULT "\1ACTION falls asleep... ZzzZZzzZZzz\1"
+TYPE Text
+
+PARAMATER WAKEUP_ACTION
+DEFAULT "\1ACTION wakes up from a snooze..\1"
+TYPE Text
+
+What you would want your Darkbot to say when sleep and wake up commands
+are issued? (If you want you can change what is between 'ACTION' and
+'\1')
+
+
+==== DATA SIZE ====
+
+PARAMATER MAX_DATA_SIZE
+DEFAULT 400
+TYPE Number, Compile time
+EXAMPLE
+
+The max length your database replies will be. This will be useful to
+people loading their database into ram - if your data is all less than
+400 chars, then you can save some ram.... Longer replies allows you to
+do more, for example, with bitwise operator PIPE.
+
+
+PARAMATER MAX_TOPIC_SIZE
+DEFAULT 50
+TYPE Number, Compile time
+EXAMPLE
+
+The max length your database topics will be.
+
+
+==== OUTPUTS - TIMERS ====
+
+PARAMATER LASTCOMM_TIME
+DEFAULT 5
+TYPE Number
+
+LASTCOMM_TIME is the length of time (in seconds) that your bot will not
+reply to a topic already asked. Thus if someone asked your bot about
+"mirc" that question could not be asked again in the same format for N
+seconds (or till the question is out of buffer). This prevents the bot
+from falling prey to users who like to repeat.
+
+
+PARAMATER OUTPUT1_COUNT
+DEFAULT 4
+TYPE Number
+
+PARAMATER OUTPUT1_DELAY
+DEFAULT 1
+TYPE Number
+
+PARAMATER OUTPUT2_COUNT
+DEFAULT 6
+TYPE Number
+
+PARAMATER OUTPUT2_DELAY
+DEFAULT 2
+TYPE Number
+
+The output timers. Darkbot does not output text without first putting it
+into a queue list. If the bot has several lines of text waiting to be
+sent, it starts to delay longer and longer between output, so it can't
+flood itself off of IRC. Explanation:
+
+If text in queue is < OUTPUT1_COUNT, output it. If text in queue is >
+OUTPUT1_COUNT, delay OUTPUT1_DELAY seconds. If queue is > OUTPUT2_COUNT,
+delay OUTPUT2_DELAY seconds. If number of text in queue is higher than
+OUTPUT_PURGE_COUNT, then just delete all unneeded output (ie; any text
+and notices, but leaving in stuff like kicks and modes) The defaults
+below are recommended, as the bot isn't going to flood off. If you are
+having the bot delete output messages and you'd like to increase the
+queue, update the OUTPUT_PURGE_COUNT to a larger number. Just keep in
+mind if someone floods your bot with a lot of VERSION requests, the bot
+will sit there outputting a lot of version replies instead of deleting
+them, causing it to act as if it's just sitting there not doing anything
+when you ask it something in your channel.
+
+
+PARAMATER OUTPUT3_DELAY
+DEFAULT 3
+TYPE Number
+
+If still < OUTPUT_PURGE_COUNT and > OUTPUT2_COUNT then delay
+OUTPUT3_DELAY secs.
+
+
+PARAMATER OUTPUT_PURGE_COUNT
+DEFAULT 7
+TYPE Number
+
+When all else fails... if more than OUTPUT_PURGE_COUNT delete them all!
+No use in making the bot output slowly over a long period of time...
+imagine if you set this to 50, and had an OUTPUT3_DELAY of 3 secs..
+thats 50*3 secs till the bot is ready to output any new data to you!
+
+
+======== OUTPUT MESSAGES ========
+
+ ==== OUTPUT MESSAGES - ON TOPICS ====
+
+PARAMATER EXISTING_ENTRY
+DEFAULT "Sorry, there is an existing entry under keyword"
+TYPE Text
+
+Message to give when adding an existent topic.
+
+
+PARAMATER NO_ENTRY
+DEFAULT "I was unable to find entry:"
+TYPE Text
+
+Message to give when there is no mentioned topic.
+
+
+ ==== OUTPUT MESSAGES - ON SEARCH ====
+
+PARAMATER CANT_FIND
+DEFAULT "Was unable to find"
+TYPE Text
+
+PARAMATER NO_TOPIC
+DEFAULT "Sorry, I don't have any entry for"
+TYPE Text
+
+PARAMATER TRY_FIND
+DEFAULT "What am I trying to find"
+TYPE Text
+
+These are the messages Darkbot will give on unaccomplished search
+queries.
+
+
+ ==== OUTPUT MESSAGES - ON NONEXISTENT TEXT ====
+
+PARAMATER WHUT
+DEFAULT "hmmm?"
+TYPE Text
+
+Answer to give in case Darkbot's nick is mentioned without any further
+text.
+
+
+PARAMATER RANDOM_WHUT
+DEFAULT true
+TYPE Boolean
+
+Gives a random response from dat/whut.rdb instead what is specified on
+'!set WHUT'.
+
+
+PARAMATER DUNNO_Q
+DEFAULT "*shrug*"
+TYPE Text
+
+Answer to give in case there is no reply on Darkbot's database.
+
+
+PARAMATER RANDOM_DUNNO
+DEFAULT true
+TYPE Boolean
+
+For those wanting the DUNNO_Q response to be random, turn this option
+ON, and darkbot will ignore the default definition and use a random line
+from dat/dunno.db
+
+
+======== RANDOM STUFF =========
+
+PARAMATER RANDOM_STUFF
+DEFAULT true
+TYPE Boolean, Compile time
+EXAMPLE
+
+Will read from a random line in dat/randomstuff.ini and say something
+random in the home channel. ALSO if nothing is said in darkbot's home
+channel it will say a randomstuff every RAND_IDLE as long as no one
+says anything. (default = define) UNDEFining this directive will not
+allow you to add RDBs or randomstuff entries. If you really want your
+bot not to say anything from randomstuff.ini and keed adding random
+replies, increase the time _TIME and _IDLE defines to, for example,
+54750, which corresponds to 365 days :)
+
+
+PARAMATER RAND_STUFF_TIME
+DEFAULT 3600
+TYPE Number
+
+Time in seconds to randomly say something from randomstuff.ini.
+
+
+PARAMATER RAND_IDLE
+DEFAULT 1800
+TYPE Number
+
+Time in secs to say something in home chan when no one says anything.
+This overrides the RAND_STUFF_TIME counter.
+
+
+PARAMATER RAND_LEVEL
+DEFAULT 2
+TYPE Number, Compile time
+EXAMPLE
+
+Level at which user's can on-line add new randomstuff topics, this also
+is the level at which users will be able to add RDB topics.
+
+
+PARAMATER RANDQ
+DEFAULT true
+TYPE Boolean, Compile time
+EXAMPLE
+
+This is a new feature which enables the RANDQ channel command, which
+will output a random quote from your randomstuff.ini containing the
+specified search string.
+
+
+PARAMATER BACKUP_RANDOMSTUFF
+DEFAULT false
+TYPE Boolean
+
+This define backs up your randomstuff file every time you add a random
+quote, in case you would like to do so.
+
+
+================ IRC - CHANNEL RELATED ================
+
+ ==== REGISTERED USERS ON JOIN ACTIONS ====
+
+PARAMATER JOIN_GREET
+DEFAULT true
+TYPE Boolean
+
+Have the bot do auto-greet (setinfo) to registered users?
+
+
+PARAMATER SLASTCOMM_TIME
+DEFAULT 60
+TYPE Number
+
+This is the length of time to NOT allow someone to be recounted when
+they rejoin your channels, which tends to clutter up everyone's screen
+with the setinfo. This basically keeps track of who joined in the last
+___ seconds, and does not do their setinfo during that amount of time.
+
+
+PARAMATER VOICE_USERS_ON_JOIN
+DEFAULT false
+TYPE Boolean
+
+Have the bot VOICE users when they join?
+
+
+PARAMATER OP_USERS_ON_LOGIN
+DEFAULT false
+TYPE Boolean
+
+Have the bot OP users when they login?
+
+
+ ==== USERS LOOKOUT ====
+
+PARAMATER DO_WHOIS
+DEFAULT false
+TYPE Boolean
+
+Want to be alerted when a user who joins is in "questionable" other
+channels? This option only works on networks which their IRCD's allows
+NOTICE to be sent using /notice @#chan.
+
+
+PARAMATER MAX_LASTSEEN
+DEFAULT 604800
+TYPE Number
+
+Max length in seconds to keep a lastseen (default = 604800 (7 days)).
+
+
+PARAMATER SEEN_REPLY
+DEFAULT "in the last 7 days."
+TYPE Text
+
+If you change the above time (MAX_LASTSEEN), be sure to update the
+SEEN_REPLY to the respective time length.
+
+
+ ==== COMPLAINT MESSAGES ====
+
+PARAMATER COMPLAIN_REASON
+DEFAULT "grrr, kick me again and I'm going to..."
+TYPE Text
+
+Message Darkbot will send to the channel where it was kicked from.
+
+
+PARAMATER BITCH_ABOUT_DEOP
+DEFAULT false
+TYPE Boolean
+
+will complain in the chan that the Darkbot is deoped in.
+
+
+PARAMATER BITCH_DEOP_REASON
+DEFAULT "grr, someone op me!"
+TYPE Text
+
+What do you want your Darkbot to say when is not oped?
+
+
+ ==== CHAN OP DIRECTIVES ====
+
+PARAMATER DO_CHANBOT_CRAP
+DEFAULT true
+TYPE Boolean, Compile time
+EXAMPLE
+
+Enable this if you want to make your darkbot bloated with stuff like
+!KICK, !UP, !WACK, etc. Basically anything dealing with channel modes
+and kicking commands. This includes PERMBANS. On linux, without this,
+your darkbot bin will shrink considerably.
+
+
+PARAMATER AUTOTOPIC_TIME
+DEFAULT 1800
+TYPE Number
+
+Autotopic time interval in seconds.
+
+
+ ==== KICKS AND BANS ====
+
+PARAMATER DEFAULT_KICK
+DEFAULT "Requested!"
+TYPE Text
+
+What do you want your Darkbot to say when kicks someone? Note when you
+apply a kick with reason this setting will not overwrite it.
+
+
+PARAMATER KICK_ON_BAN
+DEFAULT false
+TYPE Boolean
+
+Kick people out when they are banned?
+
+
+ ==== KICKS AND BANS - FLOODS ====
+
+PARAMATER KICK_ON_CHANNEL_NOTICE
+DEFAULT true
+TYPE Boolean
+
+Sometimes morons like to /notice flood channels. This define will make
+the bot kick those people when they do a channel notice.
+
+
+PARAMATER BAN_ON_CHANNEL_NOTICE
+DEFAULT false
+TYPE Boolean
+
+If you want to take it a step further, you can also have the bot ban the
+user@host too.
+
+
+PARAMATER BAN_BY_HOST
+DEFAULT false
+TYPE Boolean
+
+Finally, we can ban by *@host. This requires the above two to be turned
+on.
+
+
+ ==== KICKS AND BANS - DARKBOT'S OWN FLOOD PROTECTION ====
+
+PARAMATER FLOOD_KICK
+DEFAULT true
+TYPE Boolean
+
+Define this if you want your Darkbot to KICK out the people who flood
+it. NOTE: This means flooding your BOT, not your CHANNEL. If you don't
+define this, it will just ignore the user.
+
+
+PARAMATER FLOOD_REASON
+DEFAULT "Don't flood!"
+TYPE Text
+
+What do you want your Darkbot to say when someone is flooding it?
+
+
+================ MISCELLANEOUS ================
+
+PARAMATER GOOGLE
+DEFAULT true
+TYPE Boolean, Compile time
+EXAMPLE
+
+Google search feature.
+
+
+PARAMATER METAR
+DEFAULT true
+TYPE Boolean, Compile time
+EXAMPLE
+
+METAR search feature.
+
+
+PARAMATER WEATHER
+DEFAULT true
+TYPE Boolean, Compile time
+EXAMPLE
+
+WEATHER search feature.
+
+
+PARAMATER TAF
+DEFAULT true
+TYPE Boolean, Compile time
+EXAMPLE
+
+TAF search feature.
+
+
+PARAMATER QUIZ
+DEFAULT false
+TYPE Boolean, Compile time
+EXAMPLE
+
+Bot's online QUIZ.
+
+
+PARAMATER QUIZ_TIMER
+DEFAULT 25
+TYPE Number
+
+How long to wait before giving the answer?
+
+
+PARAMATER QUIZ_REPEAT_TIMER
+DEFAULT 20
+TYPE Number
+
+Don't allow another quiz until this time has expired (since the last
+answer).
+
+
+PARAMATER DO_MATH_STUFF
+DEFAULT true
+TYPE Boolean, Compile time
+EXAMPLE
+
+Do you want your bot to do math commands?
+
+
+PARAMATER STATUS
+DEFAULT false
+TYPE Boolean, Compile time
+EXAMPLE
+
+Parse luser data? May cause SIG_SEGV on some ircd's (ie; non ircu)
+Basically all this does is display network info like opers, servers, avg
+# of users on the servers, etc.
+
+
+================ AID DIRECTIVES ================
+
+PARAMATER HELP_GREET
+DEFAULT false
+TYPE Boolean
+
+Give user's who join a NOTICE with info on how to use the darkbot? I
+don't bother with this anymore since my bot knows how to respond to most
+general questions users ask. If your bot is new and doesn't know much,
+then you may want to have it tell people how to use it.
+
+
+PARAMATER AUTOHELP_GUESTS
+DEFAULT false
+TYPE Boolean
+
+This define just sends a message to the channel, whenever a "Guest" user
+joins, asking the user if they need any help. This is useful for help
+channels.
+
+
+If you change anything on the next 5 directives be careful not to remove
+or change the position of '%s'.
+
+PARAMATER L100(s,a,b,c,d,e,f)
+DEFAULT S("NOTICE %s :I can be triggered by various \
forms of speech, all which must be addressed to me, in one of the \
following formats: %s %s %s or even %s .... In my database, you can \
find a topic by saying my nick, <topic> . eg; \37%s nuke\37 ..... \
to do a search on a word, or partial text, just type: <mynick>, search \
<text> ... eg; \37%s search nuke\37\n",s,a,b,c,d,e,f)
+TYPE Text
+EXAMPLE
-#define L101(a,b,c,d) S("NOTICE %s :I can also be triggered with even more \
+PARAMATER L101(a,b,c,d)
+DEFAULT S("NOTICE %s :I can also be triggered with even more \
human formats: \37%s who is bill gates?\37 .. You can also phrase it \
in a question: \37%s where is msie?\37 ...For more info \
-about me, visit http://www.darkbot.org\n",a,b,c,d)
+about me, visit http:www.darkbot.org\n",a,b,c,d)
+TYPE Text
+EXAMPLE
-#define L102(a,b,c,d) S("NOTICE %s :Welcome to %s, %s. Before \
+PARAMATER L102(a,b,c,d)
+DEFAULT S("NOTICE %s :Welcome to %s, %s. Before \
asking your question, type %cHELP for a list of help topics.\n", a,b,c,d)
+TYPE Text
+EXAMPLE
-//#define mySetinfo "My !setinfo variables are: ^ nick, % Number of joins, & \
-//Channel, $ user@host. Example: !setinfo ^ has joined & % times!! (also, if \
-//you make the first char of your SETINFO a \"+\" the setinfo will be shown \
-//as an ACTION)"
-
-/*(62)
- * Below are variables for the data replys
- */
-//#define myVariables "data variables are: N~ (Nick), C~ (Chan), T~ \
-//(Time/date) B~ (Botnick), Q~ (Question asked), R~ (random nick), !~ \
-//(command char), S~ (current Server), P~ (current port) V~ (botVer), W~ \
-//(db WWW site), H~ (u@h), t~ (unixtime), BAN (sets a ban), TEMPBAN (bans \
-//for 60 sec)"
+PARAMATER mySetinfo
+DEFAULT "My !setinfo variables are: ^ nick, % Number of joins, & \
+Channel, $ user@host. Example: !setinfo ^ has joined & % times!! (also, if \
+you make the first char of your SETINFO a \"+\" the setinfo will be shown \
+as an ACTION)"
+TYPE Text
+EXAMPLE
+
+PARAMATER myVariables
+DEFAULT "data variables are: N~ (Nick), C~ (Chan), T~ \
+(Time/date) B~ (Botnick), Q~ (Question asked), R~ (random nick), !~ \
+(command char), S~ (current Server), P~ (current port) V~ (botVer), W~ \
+(db WWW site), H~ (u@h), t~ (unixtime), BAN (sets a ban), TEMPBAN (bans \
+for 60 sec)"
+TYPE Text
+EXAMPLE
+
+Variables for the data replies.
diff --git a/beta/docs/TODO b/beta/docs/TODO
index 2fa4dbb..2b7b781 100644
--- a/beta/docs/TODO
+++ b/beta/docs/TODO
@@ -1,180 +1,179 @@
----------------------------------------------------------
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 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.
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.
+Double check the in code summaries for setup parameters.
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.
diff --git a/beta/docs/WHATSNEW b/beta/docs/WHATSNEW
index ada288a..f95b8eb 100644
--- a/beta/docs/WHATSNEW
+++ b/beta/docs/WHATSNEW
@@ -1,839 +1,842 @@
*******************************************************
Warnings, errors, malfunctions, code patches, suggestions
Support Forum: http://forum.darkbot.org
*******************************************************
+Darkbot 8rc2: June 11, 2006
+ - Added docs/SETUP.
+
Darkbot 8rc2: May 31, 2006
- A busy month.
- Completed the autofoo.
- Added compat directory full of replacement functions for
when autofoo decides that the users OS is missing stuff.
- Added a testing mode for developers.
- Cleaned up most OS dependant things so that they now work
everywhere.
- Converted some defines.h things into ./configure --enable-X
--with-X=Y things.
- Added !set foo=bar infrastructure and command. The contents
of setup.ini is now under the control of generic, array based
code. To add things to setup.ini, just add them to the array.
- Added setup.ini parameters to the internal help system.
- Moved the rest of defines.h to setup.ini.
- General clean up and lots of minor things that get fixed in
passing.
- Added docs/HACKING.
- Re arranged some files.
- New building scripts.
- Darkbot and convertdb are much cleverer about finding the data
files.
- Cleaned up vars.c and vars.h.
- Have the help system deal with the command character as needed.
Darkbot 8rc2: May 04, 2006
- Cleaned generated files out of cvs and updated .cvsignore
files to match.
Darkbot 8rc2: Apr 21, 2006
- Added most of the help command summaries.
Darkbot 8rc2: Apr 19, 2006
- Fine tuned what commands can be done where. In particular
any password related commands can only be done in private
now.
- Made some commands behave consistantly no matter where they
are invoked from.
- Added HELP COMMANDS.
- Don't try to send oversize messages, split at a space.
Darkbot 8rc2: Apr 16, 2006
- Rewrote chansrv.c to use an array of pointers instead
of a huge if-else-if.
- Added patch from nak that stops ops from kicking
themselves via a topic kick.
- Added HELP <command>.
- Added isop <nick>.
- Added level <nick>.
Darkbot 8rc2: Mar 09, 2006
- Added !WEATHER <zipcode> command.
Darkbot 8rc2: Nov 07, 2005
- Fixed spelling errors, the word 'queue' was mispelled
throughout the code and in comments.
- I apparently broke show_banlist() a few releases back
trying to eliminate a type conversion warning, so it's
fixed again.
- B~ (bot nickname) variable can now be used in perform.ini
- OS command now works on windows.
- Fixed google command. A search string used to determine
successful replies was changed by google.
- Changed "ugly" message responses.
- Restart and rehash commands should now work on all operating
systems, including Windows.
Darkbot 8rc1: Mar 04, 2005
- Removed an unneeded line in main.c, that was used to "hide"
warnings on WIN32, which is a very bad idea.
- Changed check_dbtimers() so it ignores the CVS directory,
which contains information for the CVS server. This
fixes a situation that seems to have only presented itself
in FreeBSD, where it thinks the CVS directory is a
timer, and sends out random garble every few seconds.
- configure.ac and source/Makefile.am; very minor updates.
- Fixed randq, which I accidentally broke when adding the
-I switch. This also fixes some problems that turned up
on FreeBSD.
- Fixed a warning that came up in permbans.c about mixing
types when compiling on OS X. I changed %d on line 198
to %ud.
- configure now checks for clock_t.
- configure now automatically checks for snprintf, and
uses a replacement if it's not found.
- docs/INSTALL.txt is now INSTALL in the toplevel dir.
Another thing for automake to stop complaining about.
- The original configure script is now located in the
scripts directory, and is called "Setup".
- docs/contributors.txt is now called AUTHORS in the
top level of the distribution. Another thing automake
complains about. I also worked on the appearance of
this file, hopefully it looks a little better now.
- README.txt in the toplevel is now called "README".
Automake complains about this file also, if it's not
found.
- This file is now called ChangeLog, and has been moved
to the toplevel distribution dir. The reason for this
is that automake complains, if it can't find this file.
- configure now checks for the presence of windows.h,
and defines WIN32, if it's found. This removes the
need to do "make win". Until I add the noconsole
option again, you can run darkbot with no console by
doing "./darkbot &" in your cygwin shell.
- The configure.ac file is not yet complete, and most
of the definitions listed in config.h are not completely
implemented into the code yet. If you have problems,
please let me know, and these files will become completely
implemented as demand is met.
- Included premade Makefiles and configure script.
- Added "make convertdb", which will compile the database
conversion utility, which encrypts the passwords in your
userlist.db file.
- I added a Makefile.am in the toplevel, and in the source
directory. These files are used in conjunction with
GNU Automake to produce a Makefile.
- Added Makefile.ams and configure.ac for autoconf/automake.
Darbkot 7f2: April 05, 2004
- Fixed the google function. Google changed some text that
the bot was using to tell if the search was successful.
Darkbot 7f1: Mar 06th, 2004
- Made a short dirty fix for "!randq *" crashing the bot.
If you do a randq query consisting entirely of * and ?
characters, the bot will now just spit out a random quote.
This needs to be fixed better, obviously, but this will
keep peoples' bots from crashing until the issue can be
properly addressed.
- Changed unlink() calls to remove(). remove() is ANSI C.
- Private message responses no longer have that "sent by"
thing on them. It was annoying, and pointless.
- Renamed the log() function db_log() to avoid a conflict
with a function internal with gcc. Apparently this only
affects newer versions of gcc.
- Removed two unused variables in convertdb.c. I also changed
'unlink' to 'remove', to comply with the ANSI standard.
- Changed forum URL to http://forum.darkbot.org, since that
works too, looks cooler, and is shorter. :)
- Fixed a bug that caused the bot to never respond to anything
after being killed. The same problem was also fixed in a
number of other situations that it was popping up. gs26()
was being called both before, and during prepare_bot(), so
I made the call happen only during prepare_bot().
- Fixed a minor flaw in convertdb.c. It said the syntax was
"convertdb -convert", even if the executable wasn't named
convertdb.
- Taiwanish file got dumped somehow, it's back now.
- New setting in defines.h, AUTOHELP_GUESTS, makes the bot send
a message to the channel, whenever a user with the word "Guest"
in their nickname joins, asking them if they need help. This
can be used in help channels, to avoid Guest users just joining
the channel, and moving on because nobody is talking.
- I'm fairly sure I have dbcron fixed now. I can't test it,
because I don't have a system with crond, but the fix was
made using basic shell syntax. >> instead of >. :)
- Please remember to include which operating system you're using
when reporting bugs. This information is crucial because (all?)
operating systems have subtle differences that can cause any
number of problems in various situations. It's impossible to
keep all of these conditions in mind when writing code, because
there's just so many of them. Any other information that you can
provide will, more than likely, be greatly appreciated.
- I don't see why this is a development version anymore, so
I've moved it to final. As always, any malfunctions or
problems may be reported via the forum.
- darkbot.info isn't resolving anymore, so references to this
site have been removed. I left the support emails, until
updated email addresses are known of. If your email needs
to be updated anywhere in the code, and I didn't realize it,
let me know.
- Changed setup.ini, WHATSNEW, according to previous statement.
- Updated some text in defines.h
- Updated the title screen in main.c
- Removed references of "make cygwin". Just use "make win"
from now on.
- Fixed a typo in the Makefile.
- You can use comments in the performs file now by appending
a '#' to the beginning of the line.
Darkbot 7.0-RC9: Oct 19th, 2003
- Added new channel command, "QUOTE". All this does right
now is display a random line from randomstuff.ini on
command.
Darkbot 7.0-RC9: Oct 5th, 2003
- This feature was already added, but I never documented it...
The R~ variable (random nickname) now works in RDB topic
responses. Look for randomstuff compatibility in the near
future, but first i have to rewrite do_random_stuff() to
accept a channel arguement.
- I was reading through this WHATSNEW file, and corrected
a few typos that were made.
- I removed the run_deop() code. It didn't work very
well anyway, or at all actually. I plan on reintroducing
this whenever I can get some free time.
- Fixed Ebonic language file.
- Added Taiwanish language option.
Darkbot 7.0-RC8: June 20th, 2003
- I screwed up the Makefile by accident, adding some
new features, and I hadn't finished yet when I
committed. OOPS. Fixed now.
- Updated more depricated URL strings.
- Updated language files.
- Minor changes on startup splash screen.
- Support forum URL is now http://www.darkbot.org/forum
- Updated the default servers.ini file to reflect the
changes.
- You can now use Darkbot on servers which require a
connection password. Check servers.ini for an
example.
- Updated some outdated text in the configure script.
- Darkbots now default to irc.darkbot.org #darkbot.
Please edit your setup.ini and servers.ini files to
minimize traffic, since that is also our help channel.
Darkbot 7.0-RC7: June 2nd, 2003
- Updated the INSTALL.txt file to reflect some support
changes.
- Fix for possible problems with counting in datasearch
algorithm. long was changed to size_t.
- Fixed bug that prevented ACTIONs from being used on
RDB responses.
- Suppressed more warnings when compiling on Solaris
from chan.c, in the do_math function.
- Removed another unused variable from url.c
- Removed an unused variable from random.c
- Removed the .runonce script from executing during the
"make" process. The funcionality this script produced
is depricated. Also removed this file from the distro.
- Darkbot will now properly compile on Solaris. To make
this happen, you need to manually edit source/Makefile,
and remove a comment symbol before the word "LIBS".
- Suppressed a warning message from main.h that happened
when compiling on Solaris.
- Makefile now works correctly on Solaris.
- The MEM command is now limited to only users with admin
(level 3) access on the bot.
- On startup, we now run_performs() BEFORE we join our home
channel. This fixes an issue that happened chiefly on
Undernet, and allows the bot to authenticate and set
umode +x, before it joins any channels. I hope to fix
this in a better way, but for now it's driving me nuts.
- The startup screen now actually reflects what version this
is. Sorry, I forgot all about that startup screen, because
it's hard coded. hehe.
- The Q~ variable in topic replies now works correctly. It
was chopping all but the first word off, before.
- Added MrSiMo to the list of contributors for his Arabic
translation.
- The sleep command now accepts an arguement for the number
of seconds you want the bot to sleep for.
- DEFAULT_UMODE is now set immediately upon connection.
Several users said this was not being done, it was. It was
just waiting >300 seconds, for whatever reason. Also, the
bot command PERFORMS now sets DEFAULT_UMODE in addition
to running the performs file.
- New command line option.
-I now specifies the location of the directory containing
the data files (by default, dat/).
- Multiple command line arguements are now supported.
I have no clue why this wasn't done before.
- The .debug and .debug2 scripts were missing from the
distribution. They're back now.
- Found another place where the bot wasn't deleting old
userlist entries. This has been fixed.
- Added the CHANUSERS command. All this does is return
a list of users on either the specified channel, or
the current channel, if none is specified. I may
remove this eventually, as i'm just using it for
debugging purposes right now.
- CHANINFO command will output to whatever channel it
received the command from now, instead of the channel
it's showing data about.
- The CHANINFO command now supports a channel name
parameter. Dunno why it didn't have that before...
- Darkbot is on CVS now at SourceForge!
- Soapta revamped the google module.
- The MEM command now displays the correct process. I removed
the -x flag from the ps command it was issuing, and it fixed
it. If anyone sees any reason the -x flag should be used,
let me know and i'll recode the whole thing.
- Added SETHOST alias for the VHOST command.
- Updates to the Ebonic and French languages which define
Lbadtopic and Lbadtopic2 now. Other languages still need
this added.
- The RDB command, which gives information about the number
of RDB files, can now be used with an arguement, to tell
how many lines are in a specific RDB file. It was supposed
to do this before, but it didn't work properly. This
command is still unavailable in Windows.
- Removed a warning concerning do_randq that happened if you
compiled with RANDOM_STUFF undefined.
- Fixed another bug that was causing the bot to never remove
old entries from it's internal user list. This time it wasn't
parsing the channel name for PARTs correctly. I also removed
some parsing being done on an unused variable whenever
someone parted a channel.
- Fix for RDB command... i forgot to change this when I moved
all of the RDB files to their own directory. OOPS! :)
Darkbot 7.0-RC6: Oct 30th, 2002
- Added Arabic language.
- You can now toggle the use of encrypted userlist.db passwords.
Check defines.h for this.
- Fix for the bot not executing performs when it connects to
a server which does not have an MOTD. Also cleaned up a small
amount of redundant code dealing with performs.
- The bot will no longer crash if it encounters blank lines in
the info2.db during data searches (DSEARCH and SEARCH commands).
Darkbot 7.0-RC5: Sep 24th, 2002
- Fixed do_randomtopic(), so it's now possible to output the first
quote. it never did this before (oops).
- Fixed the socket connection routines for windows.
- Fixed a rather large bug that caused the bot to never actually delete
users from the internal user list when necessary.
This also fixes another problem where the bot would put return a
nickname from R~ that is not actually on the channel.
- RDB topics now support the use of tokenized responses. This includes
the use of tokenized responses in the WHUT and DUNNO replies.
- Added timers directory to the distribution, it was missing.
- Got rid of the do_randomtopic2() function for the random dunno, and
random whut replies. do_randomtopic() now handles everything. This
cut down the size of the code a bit, and should have been how it was
done originally, anyway. This also means variables and also raw
commands can now be used in the replies for whut, and dunno, also.
- Added a level 3 helper command, "PERFORMS", which just executes all
all commands that are in the bot's performs.ini file, at any time.
- Fixed minor oversight that I created when adding a check for illegal
characters in !nick, it now lets you use all legal characters.
- RDB topic responses can now contain raw commands.
- RDB files are now stored in their own directory. By default, this is
dat/rdb.
- Changed get_word() function to make it a little more useful.
- Changed some error replies in the RANDQ function, and added a response
for the condition of randomstuff.ini being empty.
- Cleaned up the prototypes.h file, it looked really ugly. :)
This also reduced the total amount of code by a bit, but i'm not going
to bother checking just how much. :P
- Fixed an issue in seen, that might cause the bot to improperly count
the number of seens in the database.
- Fixed minor bug in add_randstuff() that caused the bot to say there was
one more randomstuff in the file it's adding to than there actually was.
- Fixed a bug in do_random_stuff() that prevented the bot from outputting
randomstuffs, in very rare instances. This suspectedly was causing some
strangeness noted in Debian, and some other OSs.
- Added a new alias for randomstuff, RS.
- Fixed a bug in !USERLIST, that caused the bot to flood itself, and not
show of all of the users it was supposed to show.
!USERLIST now works correctly, and hopefully on ALL OS.
- Fixed a bug in !BANLIST that caused it to not output correctly on some
OS.
- Due to abuse and channel cluttering, the !VARIABLES command now messages
the user with the output, instead of sending it to the current channel.
- Fixed a compilation error concerning BITCH_DEOP_REASON being undeclared.
What i did is remove this, and now if BITCH_ABOUT_DEOP is turned on, it
just runs the list of commands in deop.ini. If BITCH_ABOUT_DEOP is turned
off, it does nothing when the bot is deoped. Apparently, before this
version, it ALWAYS ran deop.ini, and the BITCH_ABOUT_DEOP just toggled the
bot saying whatever line was defined in BITCH_DEOP_REASON. That seemed kind
of pointless, to me, but i never noticed it before now.
Darkbot 7.0-RC4: Jun 24th, 2002
Again, Ron did a couple necessary and urgent changes and fixes:
- Finally, the bug in windows concerning DEL and REPLACE has
been corrected. A function which checks readability and
writeability was leaving the info2.db file open at startup,
and causing all sorts of problems, since the new code structure
was implemented.
- NO NEED FOR TOP LINE WITH NUMBER ANYMORE on random phrase files.
... After yet even more problems with randomstuffs being counted
improperly, I've recoded the entire randomstuff routine.
They no longer rely on any number at the top of the file, which
means you can remove that number from your randomstuff.ini.
Optimizations made to make randomstuff more random, also.
- Fixed a bug where Darkbot would crash when you use !nick
with illegal characters.
- Patched a socket issue in create_connection() that appeared
only in windows.
- Eliminated a warning dealing with the redefinition of size_t
when compiling the bot in windows.
- Eliminated all of the casting done on malloc in the program.
Casting malloc is totally unnecessary, and can mask other
errors.
- Improved the fix for topics that consist entirely of "*"
characters. It now checks for "?" also. This prevents
segmentation faults, and topics which are entirely wild-
cards are seriously annoying anyway. Sorry if it's in any
inconvenience to anyone.
- Minor cosmetic fix to the output of DBSIZE, it'll now say
that the database is "1 byte in size", instead of "1 bytes
in size", if it's only 1 byte. This should never happen,
but if it does, it'll look nice. :)
- Added #define MSG_RESPONSES to defines.h to have Darkbot
answering or not to private queries. Check next 2 defines.
(default is OFF)
- Added #define ALLOW_ADD_IN_MSG to turn ON or OFF the
possibility of ADDing database entries to Darkbot in
private message. (default = OFF)
- Added #define ALLOW_DEL_IN_MSG to turn ON or OFF the
possibility of DELeting database entries from Darkbot in
private message. (default = OFF)
- Added RANDQ function and alias RANDQUOTE, to output a random
line from your randomstuff.ini that contains a specified search
string.
RANDQ output returns a (11/23) type thing at the beginning of
the line, which tells which quote it's showing, out of how many
were matched in your search.
RANDQ can be used from any channel, and in MSG. It wont output
An obvious side effect to this, is that the ~ variable in
randomstuffs will evaluate to a nickname, if it's used in private
message (The nickname of whoever invoked it).
To make the function toggleable a directive with the same name
was made on defines.h (default = ON)
Try it out, !RANDQ <stuff>
- Added RANDQ2 command, which is the same as RANDQ, only it
matches case sensitively.
- Added BACKUP_RANDOMSTUFF define to backup randomstuff.ini
file every time a random phrase is added. This was done due
to missing contents when adding an entry on a file with a high
ammount of phrases. Latest fixes resolves the problem but this
define will stay to play on the safe side and/or if user likes
to backup changed files.
- Added hostmask code, where the bot converts hostmasks to
*jason@*.superlink.net, or *jason@203.203.203.*.
- After lots of complaints, the second line in the info reply
only shows up with the stats command now.
Shell utilities
- Adjusted check-integrity to the non necessity anymore of top
line with number of random entries on random phrases files.
- configure script now forces entering at least one server
and at least one user level 3, on servers.ini and userlist.db
files respectively, in case those files are empty.
(working on checking errors on user input).
- added an option on 'configure' to import servers.ini and
userlist.db from another location.
- Added BSDs compatibility to all shell scripts.
- Added Cygwin compatibility to AddServer, AddUser,
check-integrity and download-databases scripts (live-update
and dbcron not fully tested yet).
Darkbot 7.0-RC3: May 22nd, 2002
ron@darkbot.org has worked on the following 4 issues:
- Fixed a bug that caused crashes if the bot responds to a
topic containing R~ in private message.
- Fixed a bug that caused excess floods if the bot were to
send private messages to itself.
- Fixed a bug concerning topics that consists entirely of the
'*' character, which caused segmentation faults. Darkbot
will not allow you to add a topic like this now.
- Fixed the Makefile, on my computer it kept compiling all
of the source files seperately and then compiling them all
together instead of linking the .o files it made.
- Added directory logs lost in action. It is now within dat directory
- Fixed .Stripdb and .Stripdb2 - so now points to the correct bin path
Shell utilities: (all changed/improved - read docs/README_UTILS)
- Added README_UTILS to docs directory with information about shell utils
- Added compatibility to wget (besides lynx) on scripts that needs to
connect to internet
- All utility scripts now share working directory .scriptutils instead of
having dynamic files all over scripts directory
- download-databases now integrated on live-update (besides standalone)
(if updated on RC3 the change will take effect next time live-update
is executed)
- Added a couple more features and improved others for more accuracy on
check-integrity engine. USE IT before asking for help or going into
paranoia if you suspect you have data errors or even if you are not
sure eventual errors became from bad entries on data files.
- Added a few features to AddUser utility
- configure script now bypasses previously configured items. Just hit
ENTER key to go to the next setup. Also it gets already configured
parameters and use it as session defaults instead of the usual Darkbot
defaults. The script is now linked to AddUser and AddServer with all
features those utilities now have.
Darkbot 7.0-RC2: Apr 13th, 2002
- Windows port. Not much to do at this time. Last changes
on the core code made some commands not working properly.
Any interested coder... the affected commands
are DELETE, which do not delete, and REPLACE, which leaves
in info2.db 2 entries with the same topic. I should remind
all coders that the source must be sent together with it's
executable/bin files. Any coder willing to participate use
the email on top of this info or directly to me
at LuizCB@darkbot.info . (only development matters please)
- The following are a couple Unix scripts to help on Darkbot
management. Most are complete, some needs small adjustments
or more features. I've used basic sh technics on it's making,
I should say, while learning the language on the fly.
Please test them and send any modiffs in case you are able
to. The idea of these shell scripts is mainly to open a door
to C coders to implement them so it will be possible to port
it to other platforms.
- A more featured AddServer. Downloads and installs servers
of the network you choose. Thanks to the folks at the
International Federation of IRC - http://ifirc.com
for a job well done on your site! The merit of that will
go to our web page on the credits area as soon as stable
version 7 is released.
- New crontab setup utility. Run dbcron on scripts dir and
if crontab is active on your shell the script will do
everything for you (10 mins interval cron job).
- Implemented a new update utility. On scripts
directory type ./live-update -h for help on it's
usage. At this stage the update engine will not
transfer your previous directives on defines.h
or darkbot.c to the new file, so you'll have to
edit defines.h manually and compile Darkbot.
The script is compatible with all Darkbot releases
and can be launched standalone providing it's in
scripts directory. To install it ( in case you don't have
it with your Darkbot) type
lynx -source http://live-update.darkbot.info > live-update
then chmod +x live-update
(get-latest will no longer be available)
- New download-databases utility. ( it will be integrated soon on
live-update engine but can also work standalone).
- New file-integrity utility ( still needs some ajustments and
more features but you can use it already - works with
download-databases utility or by itself). Type
./check-integrity to check info2.db. Due to unpredictable
user entries on info2.db this utility could behave
abnormally on some special characters. Please send me all
info2.db file in case anything like that happens so I can
make exclusions on the code.
Changes applied by reet:
- Fixed major bug when adding users - the password wasn't
encrypted, thus user could never login.
- Added new commands IGNORE & UNIGNORE syntax is:
<bot> ignore <nick>
<bot> unignore <nick>
The ignore list is only stored in RAM, changing
nicks will get around this ignore. This is useful
to ignore people who query the bot too much.
- Applied code optimization patches on info and check_permban,
submited by Neil Darlow
- Preview for next full release: adjustments on shell utilities
and a full featured menu GUI might be finished. Minor
changes in meanwhile can be updated using live-update
engine.
Darkbot 7.0-RC1: Mar 2nd, 2002
- Fixed get-latest script; besides checking for code updates
also looks for latest news. Database files updates
will be also done/actualized soon. It's not linked
anywhere by now so if you want to use it type it's
name.
- Organized file structure; all scripts are now on scripts
directory, documents on docs except README which is
now on Darkbot's root dir. A new contributors file
was created with the list of colaborators.
- defines.h is now organized in different way and prepared
to a "shell GUI" to be released soon.
- Organized 'configure' in a different way. Now it starts
with defines.h editing and then it goes to data files.
- scripts/dbcron - a new script to execute crontab. There is
plenty of help how to use in it. Read it. Soon the
reconnection process will me automated.
- Updated makefile to reflect the new directory tree.
- Code contributors please use this release as the base of
your changes.
- The next changes are code modifications also in preparation
for release 7, mostly adapted, updated or implemented
by reet, paul @ darkbot.info
- Added GOOGLE feature. Simply type:
<bot> google <search string>
The bot will then return the first URL google
returns.
#define GOOGLE ON to use this feature.
- ********** IMPORTANT **********************************
- userlist.db passwords are now *ENCRYPTED*
If you are using an older version userlist.db
you MUST set all the passwords to 0 *** OR ***
Cygwin/Windows users run convert.exe
UNIX users run ./convert
and your userlist.db will be converted
*******************************************************
- #define PERFORM_TIMER ON if you want darkbot to send its
PERFORM.INI to the IRC server every 60 seconds, useful
if your bot is banned from a channel, or couldn't
log in to channel services due to a net split etc.
It's in defines.h
Darkbot 7 (alpha 2.1): Dec 23rd, 2001
- Fixed 'INFO2.DB must have at least one topic' problem. Bot
should work normally, even if INFO2.DB is empty.
- Added 'stats' support to darkbot, <botnick> stats will return
total number of questions asked since it started
recording. You can also do <botnick> stats <nickname>
to get indivdual stats from a user. dat/stats.db holds
the data.
- Added 'quiz' support to darkbot, <botnick> quiz to execute
the quiz, it will pick a random question/answer from
dat/quiz.db. The format of the question answer in the
file should be <question>@<answer>
e.g. What is 1+1?@The answer is 2!
quiz is still in experimental stages, check defines.h
to enable/set it up.
Darkbot 7 (alpha 2): Dec 17th, 2001
- New define - #define VOICE_USERS_ON_JOIN [on/off]
- New commands: /msg bot infosize or /msg bot dbsize
or in channel: bot infosize or bot dbsize
returns the file size of INFO2.DB
- New command: bot whisper <nick> about <topic>
darkbot will NOTICE the user, instead of PRIVMSG
- Moved source code and Makefile to source directory -
this keeps the root tree of darkbot clean, nothing
changes for the user, they still type make in the
darkbot root, and the binary will be copied there.
- Repaired get_rand_nick() problem - bot was still returning
it's own nick - *should* be ok now.
- Added Ron's random whut, and dunno function.
Darkbot 7 (alpha 2): Dec 16th, 2001
- Removed #ifdef WIN32 references for sprintf/snprintf,
have included the function snprintf() in general.c,
for older compilers - #define SNPRINTF_SUPPORT should
be switched OFF if your compiler supports snprintf()
this is quite a change.
- Due to lots of people not reading #defines.h and complaining
about make error (clock_t), the configure script
will display an alert about this just before defines.h
is about to be edited.
- New defines - #define CONNECT_WAIT_TIMEOUT [seconds]
#define OP_USERS_ON_LOGIN [on/off]
- New PRIVMSG commands - OP, DEOP, VOICE/V, DEVOICE/DEV/DV/,
DVOICE, KICK/WACK/K, DELETE/REMOVE/
FORGET/DEL, TELL, ADD/REMEMBER/SAVE,
WHERE/WHO, ADDUSER, DIE
Some of them aren't new, but didn't work, and are now fixed.
Just /msg bot tell nick about topic, these commands
usually NOTICE the user, rather than PRIVMSG.
- The connection routine to the server should be better -
instead of quitting after failing to connect, it
will constantly cycle all the servers.
- I've added CYGWIN support in the Makefile - just to hide
those size_t warnings if you get them. If you use
CYGWIN, just use make cygwin
- Permban bug fixed.
- Info/Info2 bug fixed.
- NICK bug fixed - bot will keep the new nick until it quits.
- There is a bug/feature where if a nick has a pipe (|) and
requests a topic that has raw - commands, it ignores
them - looking in to this.
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Mon, Nov 25, 16:41 (23 h, 13 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2260574
Default Alt Text
(79 KB)
Attached To
Mode
rDARKBOT Darkbot
Attached
Detach File
Event Timeline
Log In to Comment