]> git.donarmstrong.com Git - infobot.git/commitdiff
* Rebranding from blootbot to infobot
authordjmcgrath <djmcgrath@c11ca15a-4712-0410-83d8-924469b57eb5>
Tue, 16 Oct 2007 04:36:43 +0000 (04:36 +0000)
committerdjmcgrath <djmcgrath@c11ca15a-4712-0410-83d8-924469b57eb5>
Tue, 16 Oct 2007 04:36:43 +0000 (04:36 +0000)
* Initial release of 1.5.0
* Fresh start on Changelog

git-svn-id: https://svn.code.sf.net/p/infobot/code/branches/rebranding@1551 c11ca15a-4712-0410-83d8-924469b57eb5

38 files changed:
AUTHORS
ChangeLog
INSTALL
INSTALL.mysql
INSTALL.pgsql
INSTALL.sqlite
README
TODO
blootbot [deleted file]
infobot [new file with mode: 0755]
scripts/backup_table-master.sh
scripts/botchk.sh
scripts/dbm2mysql.pl
scripts/fixbadchars.pl
scripts/insertDB.pl
scripts/irclog2html.pl
scripts/mysql2txt.pl
scripts/output_stats.sh
scripts/txt2mysql.pl
setup/README
setup/mysql/connections.sql
setup/pgsql/connections.sql
setup/setup.pl
setup/sqlite/connections.sql
setup/sqlite2/connections.sql
src/CLI/Support.pl
src/CommandStubs.pl
src/DynaConfig.pl
src/Files.pl
src/IRC/IrcHooks.pl
src/IRC/Schedulers.pl
src/Misc.pl
src/Modules/News.pl
src/Modules/Units.pl
src/Modules/Wingate.pl
src/Modules/pager.pl
src/Modules/wikipedia.pl
src/core.pl

diff --git a/AUTHORS b/AUTHORS
index 5efe7784f1fd9abd6aaf1e28acf2f9a944428245..65c82c28c61812ea194ac7f4f5327ab9e77bd575 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,3 +1,17 @@
+Infobot (rebranded blootbot):
+    License: Artistic
+    Main Author:
+       - Tim Rike <Tim@Rikers.org>
+    Other Contributors:
+       - David Sobon <dms@users.sourceforge.net>
+       - Danny Jabbour [GmLB] <danny@opticaldelusion.org>
+       - Danny McGrath <djmcgrath@users.sourceforge.net>
+
+Infobot (original):
+    License: As perl (GPL & Artistic)
+       - Kevin A. Lenzo [oznoid] <lenzo@cs.cmu.edu>
+       - Patrick Cole [ltd] <???>
+
 Blootbot:
     License: Artistic
     Main Author:
 Blootbot:
     License: Artistic
     Main Author:
@@ -15,16 +29,8 @@ Module-Units:
     License: GPL
        - M-J. Dominus <mjd-perl-units-id-iut+buobvys+@plover.com>
 
     License: GPL
        - M-J. Dominus <mjd-perl-units-id-iut+buobvys+@plover.com>
 
-Infobot:
-    License: As perl (GPL & Artistic)
-       - Kevin A. Lenzo [oznoid] <lenzo@cs.cmu.edu>
-       - Patrick Cole [ltd] <???>
-
 OnJoin:
        - Corey Edwards <tensai@zmonkey.org>
 
 OnJoin:
        - Corey Edwards <tensai@zmonkey.org>
 
-Patches:
-       - ...
-
-Quotes file (files/blootbot.randtext):
+Quotes file (files/infobot.randtext):
        - ??? Ask netgod/larne/is for dpkg's tcl
        - ??? Ask netgod/larne/is for dpkg's tcl
index 92811a24b820e2764cdff539e9ccb692e32cd727..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-2007-03-13     troubled
-
-       * files/sample/blootbot.chan: Change the #debian-bots channel to
-         #blootbot for publicity sake ;)
-       * TODO: Minor edits
-       * README: Mention IRC channel
-       * src/IRC/IrcHelpers.pl: Fixed bug in "+sed" that caused the bot
-         to flood itself off the network when passed large s///g;. A
-         temporary limit of 255 charaters on the output has been enabled.
-
-2007-03-11 22:00  troubled
-
-       * src/{Process.pl,UserExtra.pl}: Fixed bug with karma stats. It
-         wasnt supplying the channel and causing a dupe pkey issue and
-         also resulted in global stats instead of per channel. Stats
-         are now per channel again. As a result, you should probably:
-         DELETE FROM stats WHERE channel = 'PRIVATE' AND "type" = 'karma';
-         to clean up since they will never match now, or be pointless to
-         keep track of because karma can only be done in channel.
-
-2007-03-08 00:00  troubled
-
-       * files/sample/blootbot.config: set tempDir changed to /tmp and
-         changed pgsql to SUPPORTED!
-       * src/dbi.pl: Fixed SQL comments (--) bug that prevented tables
-         from being created during startup.
-       * src/Modules/Factoids.pl: Typo for "factstats locked in selColHash
-         was preventing it from finding the func. Also addressed a !WARN!
-         issue about sorting a scalar.
-       * src/dbi.pl: Altered checkTables() to pass $dbtype when creating
-         tables. Table sql now called from setup/<$dbtype>/$table.sql
-       * src/Modules/Topic.pl: Fixed topicAuthor when no topic existed
-         and cleaned up original if statement to remove redundancy
-       * Reorganized the setup/ dir. Put schema SQL for each db type
-         into its own dir to allow customization. See the README file
-       * src/dbi.pl: Simplified the pgsql "SHOW TABLES" SQL
-
-2007-03-07 14:06  troubled
-
-       * setup/pgsql/: Added pgsql specific dir. To be completed later
-       * setup/pgsql/pgsql-schema.sql: Import this file into an precreated
-         database as per blootbot.config and pgsql should be good to go
-       * INSTALL.pgsql: Changes to reflect semi-function pgsql progress
-
-2007-03-06 00:00  troubled
-
-       * src/Process.pl: sqlReplace switched to sqlSet to fix pgsql.
-         sqlReplace should be removed since its not pg friendly. 
-         There is no matching REPLACE INTO in pgsql.
-       * src/Factoids/DBCommon.pl: &setFactInfo during ~unlock set
-         time to NULL which Pgsql wants "0" since NOT NULL
-       * src/Factoids/Update.pl: see Process.pl change
-       * src/Misc.pl: see Process.pl change
-       * src/dbi.pl: Added working PostgreSQL support! yay! ;)
-       * src/Modules/botmail.pl: &sqlReplace -> &sqlSet; removed 
-         &sqlQuote (data already quoted and broke 1 msg only)
-       * src/IRC/IrcHooks.pl: see Process.pl change
-       * src/IRC/Schedulers.pl: see Process.pl change
-
-2005-02-18 00:00  timriker
-
-       * CMD: is now cmd:
-
-2005-02-18 00:00  timriker
-
-       * src/Factoids/Question.pl: minVolunteerLength now per channel
-       * src/core.pl: getChanConf checks _default too
-       * src/: "s/hasParam/IsChanConfOrWarn/"
-       * src/: add handling for channel specific factoids:
-         "#botpark logs" -> http://ibot.rikers.org/botpark
-         factoidSearch is a space delimited list of prefixes to try
-       * src/: kill %myModules - loadMyModule expects the CORRECT CASE basename
-       * .: a ton of other crap that TimRiker never documented here
-
-2001-04-28 22:04  dms
-
-       * src/IRC/: IrcHelpers.pl, IrcHooks.pl, Schedulers.pl: hookMode:
-       change chan to nick.  if deopped by chanserv, check it dont change
-       channel limits during netsplit.
-
-2001-04-26 22:37  dms
-
-       * src/: DynaConfig.pl, Process.pl, UserExtra.pl, core.pl,
-       Factoids/Statement.pl, IRC/Irc.pl, IRC/IrcHelpers.pl,
-       IRC/IrcHooks.pl, IRC/Schedulers.pl, Modules/News.pl: "~forget blah"
-       now works. thanks to ElectricElf documented user flags
-       public/private/notice send limit now configurable. thanks to EE
-       added "countrystats" command.
-       "blootbot: are you fixed now? :)" -- fixed. found by greycat
-       use hasParam instead of IsParam in UserExtra.pl/userCommands()
-       command "ord" handling fixed.
-
-2001-04-24 20:58  dms
-
-       * src/: logger.pl, IRC/Irc.pl, IRC/IrcHelpers.pl, IRC/IrcHooks.pl,
-       IRC/Schedulers.pl: fix more warnings
-       set $ident in nick()
-
-2001-04-23 20:14  dms
-
-       * src/: Process.pl, UserExtra.pl, logger.pl, IRC/Irc.pl,
-       IRC/IrcHooks.pl, IRC/Schedulers.pl: allow join to join irrelevent of being on chan
-       chanstats: count stats if exist - make perl happy
-       misc cleanup of status()
-       add time taken to join all channels, useless stats.
-       disable notify code
-       leakCheck: show stats on hash chanstats
-       mkBackup: show age of file.
-
-2001-04-22 22:58  dms
-
-       * src/IRC/IrcHooks.pl: fix on_targettoofast once and for all, hopefully.
-
-2001-04-22 22:01  dms
-
-       * src/: UserExtra.pl, logger.pl: make sure chanstats don't flood
-       don't throttle if it's a perl warn message
-
-2001-04-22 21:52  dms
-
-       * src/Factoids/Reply.pl: woops... forgot this aswell
-
-2001-04-22 21:48  dms
-
-       * src/Factoids/Reply.pl: disabled literal if factoid is requested via /msg by author; use literal
-       instead
-
-2001-04-22 20:25  dms
-
-       * src/IRC/: Irc.pl, IrcHooks.pl, Schedulers.pl: don't call chanservcheck in joinnextchan
-       call chanservcheck in on_endofnames
-       ircCheck "resets" itself if it thinks so
-
-2001-04-22 20:17  dms
-
-       * src/: Factoids/Question.pl, Factoids/Reply.pl, IRC/Irc.pl,
-       Modules/UserDCC.pl: part now warns if we're on a channel - allow it anyway.
-       added "reset" to DCC CHAT
-
-2001-04-21 22:37  dms
-
-       * TODO: todo list, for those who want to know what "new" features will be coming
-
-2001-04-20 21:27  dms
-
-       * src/: Process.pl, IRC/Schedulers.pl: we didn't set modified_time for deleted factoids - fixed
-       also... if final delete factoid list is >50... don't do it!
-
-2001-04-20 21:16  dms
-
-       * src/: UserExtra.pl, IRC/Irc.pl: chagned notice lines/sec to 3
-       made connectivity percentage 5 significant decimal places.
-
-2001-04-20 20:54  dms
-
-       * src/: CommandStubs.pl, DynaConfig.pl, Misc.pl, Process.pl,
-       UserExtra.pl, Factoids/Question.pl, Factoids/Reply.pl,
-       Factoids/Statement.pl, IRC/Irc.pl, IRC/IrcHelpers.pl,
-       IRC/IrcHooks.pl, IRC/Schedulers.pl, Modules/Debian.pl,
-       Modules/DebianExtra.pl, Modules/Factoids.pl, Modules/Topic.pl,
-       Modules/Units.pl, Modules/Uptime.pl, Modules/UserDCC.pl: converted %{$blah{$blah}} to %{ $blah{$blah} }
-       added IRC hooks to catch failed channel joins
-       chanserv function moved to joinNextChan
-       created chanserv function for "common" use, chanServCheck
-       changed cache{chanlimitChange} hash a little
-       chanserv check removed from on_endofnames
-       typo on on_invite - fixed.
-       chanserv/ops removed from ircCheck()
-       joinNextChan removed from ircCheck()
-       added preliminary debian BTS frontend support
-
-2001-04-19 20:11  dms
-
-       * src/Modules/News.pl: news: don't list new items if they don't have Text.
-
-2001-04-18 23:07  dms
-
-       * src/: CommandStubs.pl, IRC/Irc.pl, IRC/IrcHooks.pl,
-       IRC/Schedulers.pl: fixed seen ""
-       added where debugging messages came from (functions)
-       fixed reversed use of % in if statement, stupid me :)
-       changed backup times for files again
-
-2001-04-18 22:51  dms
-
-       * src/IRC/Irc.pl: forgot this one
-
-2001-04-18 22:50  dms
-
-       * src/: UserExtra.pl, core.pl, IRC/Irc.pl, IRC/Schedulers.pl: added flood protection for notice()
-       added connectivity percentage to ircstats.
-       other changes forgotten
-
-2001-04-18 22:41  dms
-
-       * src/IRC/IrcHooks.pl: fixed the following bugs:
-       [57419] on_ttf: X1 Target change too fast. Please wait 50 seconds.
-       [57604] !WARN! IsChanConf: lowercased chan. (Read error to
-               boren-[adsl-63-197-68-132.dsl.snfc21.pacbell.net]: EOF from client)
-
-2001-04-18 22:30  dms
-
-       * src/: core.pl, IRC/IrcHelpers.pl, IRC/Schedulers.pl,
-       Modules/W3Search.pl: fix chanlimitChange time
-       w3search => "blah for blah" fails - fixed.
-
-2001-04-17 23:56  dms
-
-       * src/IRC/IrcHelpers.pl: ok... use "" around hashes that use _ bare.
-
-2001-04-17 23:34  dms
-
-       * src/: core.pl, Modules/News.pl: ...
-
-2001-04-17 22:03  dms
-
-       * src/Modules/News.pl: forgot to use \d+ for read shortcut
-       other changes that the last commit missed or something
-
-2001-04-17 20:35  dms
-
-       * src/core.pl: another round of useless changes
-
-2001-04-16 21:45  dms
-
-       * src/: CommandStubs.pl, DynaConfig.pl, core.pl, IRC/Irc.pl,
-       IRC/IrcHooks.pl, IRC/Schedulers.pl, Modules/News.pl: chanset: fixed the following problem.
-               .chanset #debian +babeflish
-               .chanset #debian -babeflish
-               -chanunset #debian babelflish
-       - yet another minor bug, use !msgType for dcc chat aswell.
-       - selfflood proteciton for /msg
-               - like 4/sec or 1k/sec
-               - msgcount, msgbyte, msgtime
-               - pubcount, pubbyte, pubtime
-       - fixed other bugs.... weeeeeeee....
-
-2001-04-14 22:48  dms
-
-       * src/IRC/: IrcHelpers.pl, Schedulers.pl: prevent erratic (multiple) changes of chan limit in short space of time.
-       this would be a major problem in chanlimitVerify@IrcHelpers.pl since
-       it's called for every join.  Better safe than sorry.
-
-2001-04-14 20:17  dms
-
-       * src/: Process.pl, core.pl, IRC/Irc.pl, IRC/IrcHooks.pl,
-       IRC/Schedulers.pl, Modules/News.pl: IRC/IrcHooks.pl
-               - forgot to reset msgType/who/chan
-                 after hookMsg in on_msg and on_public.
-               - on_join: if bot joins, don't do wingate/bans
-                 and other useless stuff
-               - on_join: set msgType for ICC.
-               - on_part: set msgType/chan/who
-               - on_quit: set msgType/chan/who
-               - on_public: make chan global for ICC
-               => should fix all bugs.
-               => I have no idea how this worked so brokenly.
-       News.pl - more more changes
-
-2001-04-14 00:45  dms
-
-       * src/: core.pl, IRC/IrcHelpers.pl, IRC/IrcHooks.pl,
-       IRC/Schedulers.pl, Modules/News.pl: another round of changes, damn it was hard to figure out why news wasn't
-       appearing properly - I think we still have that problem but it's semi
-       rare.
-       - Also fixed netsplit problems, forgot a next line.
-       - don't run all funky commands in on_join if netsplit is enabled.
-       - other tiny things not worth mentioning.
-
-2001-04-13 23:23  dms
-
-       * src/: IRC/IrcHelpers.pl, IRC/IrcHooks.pl, IRC/Schedulers.pl,
-       Modules/Factoids.pl, Modules/News.pl: news: can make news compulsory (chanset +newsNotifyAll)
-             and opt-out (news unnotify)
-       irchooks: splitted into IrcHelpers.pl so we can reload it on the fly.
-       factoids: added debugging for short factoids that may be botched up
-             references
-
-2001-04-12 21:12  dms
-
-       * src/: UserExtra.pl, db_mysql.pl, IRC/Schedulers.pl,
-       Modules/News.pl, Modules/UserDCC.pl: news: added news->factoid redirection
-       ton load of minor changes or bug fixes that cannot really be summarized
-
-2001-04-11 22:34  dms
-
-       * src/: Process.pl, UserExtra.pl, db_mysql.pl, modules.pl,
-       IRC/IrcHooks.pl, IRC/Schedulers.pl, Modules/Debian.pl,
-       Modules/News.pl: A round of fixes:
-               - added dbReplace but it's broken
-               - debian infopackages shows dist
-               - news user cache now works properly
-               - "+" now works for all commands, not only for factoids
-
-2001-04-07 23:59  dms
-
-       * src/Misc.pl: isStale is basically used by Debian.pl and we were using age in terms of
-       seconds but the actual function was assuming it was in days - fixed.
-
-2001-04-07 20:07  dms
-
-       * src/: modules.pl, IRC/Schedulers.pl: - now backup news file just in case.
-       - Other changes we've not documented or small enough not to mention
-
-2001-04-07 20:07  dms
-
-       * src/Modules/News.pl: - load file if we enabled option on the fly before re-run.
-
-2001-04-07 20:06  dms
-
-       * src/CommandStubs.pl: - we now check if CODEREF exists.
-
-2001-04-07 20:06  dms
-
-       * src/UserExtra.pl: - forgot Module for news.
-
-2001-04-07 20:05  dms
-
-       * src/core.pl: - write opened files on shutdown/hup
-
-2001-04-06 22:05  dms
-
-       * src/Modules/News.pl: When we did a symlink to all the set commands, the string was made
-       static (set to "Text") so it was broken.
-       also added link from Desc to Text
-
-2001-04-06 21:56  dms
-
-       * src/Modules/News.pl: Just some more minor changes, to make some people happy, heh.
-
-2001-04-03 20:06  dms
-
-       * src/: DynaConfig.pl, modules.pl, IRC/IrcHooks.pl,
-       IRC/Schedulers.pl, Modules/News.pl: More clean ups, forgotten what they were, heh.
-
-2001-04-01 23:25  dms
-
-       * src/Modules/News.pl: forgot to add this file, heh.
-
-2001-04-01 23:16  dms
-
-       * src/modules.pl: finally nailed this "random" bug noticed by asuffield.
-
-2001-04-01 23:00  dms
-
-       * files/blootbot.help: added help for news
-
-2001-04-01 23:00  dms
-
-       * src/: Misc.pl, IRC/IrcHooks.pl: Second round of News changes and bug fixes, kudos to greycat
-
-2001-03-31 22:19  dms
-
-       * src/: CommandStubs.pl, DynaConfig.pl, Process.pl, UserExtra.pl,
-       core.pl, modules.pl, Factoids/Statement.pl, Factoids/Update.pl,
-       IRC/Irc.pl, IRC/IrcHooks.pl, IRC/Schedulers.pl, Modules/UserDCC.pl: Many changes, basically added and integrated News, and bug fixes.
-       Some more notes:
-         CommandStubs.pl     - fixed "kernel blah"
-         Modules/UserDCC.pl  - dont print $user when undefined.
-         modules.pl          - added News.pl
-         Modules/News.pl     - new feature.
-         Process.pl          - "blootbot: ok is <reply> :)" -- FIXED.
-
-2001-02-28 20:17  dms
-
-       * src/IRC/Irc.pl: removed msg/say repeating code.
-
-2001-02-28 20:17  dms
-
-       * src/Process.pl: don't backup #DEL# factoids. asuffield.
-
-2001-02-28 20:17  dms
-
-       * src/Factoids/Question.pl: fix for endless loop. asuffield.
-
-2001-02-28 20:12  dms
-
-       * src/IRC/IrcHooks.pl: msgtime updated in on_msg
-
-2001-02-28 20:10  dms
-
-       * src/IRC/Schedulers.pl: make dead-connect detection better.
-
-2001-02-23 20:26  dms
-
-       * src/CommandStubs.pl: strip trailing whitespaces, force use of quotes to enable trailing
-       whitespace. requested by asuffield and \broken?.
-
-2001-02-23 20:25  dms
-
-       * src/Process.pl: now use "or" instead of "and" operator for "rename".
-
-2001-02-23 20:24  dms
-
-       * src/IRC/Irc.pl: closedcc debug
-
-2001-02-23 20:24  dms
-
-       * src/IRC/Schedulers.pl: downlink check update?
-
-2001-02-20 21:01  dms
-
-       * src/Factoids/Question.pl: - recursive factoid linking added.
-
-2001-02-20 21:01  dms
-
-       * src/IRC/IrcHooks.pl: - lobotomy check in hookMsg
-
-2001-02-20 21:00  dms
-
-       * src/Factoids/Update.pl: - reformatted totally
-       - added preliminary append-to-linked-factoid support.
-       - all return calls now return appropriately.
-
-2001-02-20 21:00  dms
-
-       * src/: Misc.pl, UserExtra.pl: - added mkcrypt, fixed up "crypt" cmd.
-
-2001-02-20 20:59  dms
-
-       * src/: CommandStubs.pl, core.pl, modules.pl: minor updates, warn fixes, removed comments
-
-2001-02-20 20:59  dms
-
-       * src/IRC/Schedulers.pl: - lobotomy cache flush.
-       - disable uptime if not loaded.
-       - minor output update.
-
-2001-02-20 20:58  dms
-
-       * src/Process.pl: - lobotomy warning now cached
-       - use &mkcrypt()
-
-2001-02-20 20:58  dms
-
-       * src/DynaConfig.pl: - preliminary check of masks in chan for matches.
-       - ckpasswd, clean up.
-
-2001-02-20 20:58  dms
-
-       * src/Modules/UserDCC.pl: - changed "m" to "n". asu.
-       - flush lobotomy cache on "unlobotomy"
-       - now use &mkcrypt()
-
-2001-02-17 21:42  dms
-
-       * src/IRC/Schedulers.pl: - minor output update.
-
-2001-02-17 21:41  dms
-
-       * src/UserExtra.pl: - removed '' from returns
-       - preliminary stats for on/off-line time
-
-2001-02-17 21:41  dms
-
-       * src/Modules/UserDCC.pl: - ".op" fixed. found by Rev
-       - ".-ban" now removes the ban from the chan.
-
-2001-02-17 21:40  dms
-
-       * src/IRC/Irc.pl: - sub "op" fixed.
-       - added sub "unban"
-
-2001-02-17 21:40  dms
-
-       * src/IRC/IrcHooks.pl: - added first time run checks.
-       - on/off-line time stats
-       - on_join ban now kicks with custom reason.
-
-2001-02-17 21:40  dms
-
-       * src/Factoids/Reply.pl: literal update
-
-2001-02-17 21:39  dms
-
-       * src/Process.pl: - typo in if statement for "forget" when users
-         don't have +r flag. found by Rev
-       - added "pass" cmd.
-       - added "literal" factoid ask.
-
-2001-02-17 21:36  dms
-
-       * src/core.pl: memusage support for open/free/net bsd added. patch from Kuma/Rev
-
-2001-02-13 23:50  dms
-
-       * src/core.pl: update version of bot
-
-2001-02-13 23:47  dms
-
-       * src/IRC/IrcHooks.pl: make nickserv work on more servers. requested by asuffield
-
-2001-02-13 23:35  dms
-
-       * src/IRC/IrcHooks.pl: on-ban reason does not work... added debugging
-
-2001-02-13 23:28  dms
-
-       * files/blootbot.help: updates from asuffield@OPN
-
-2001-02-13 23:18  dms
-
-       * src/Modules/babel.pl: main:: fixes
-
-2001-02-13 23:04  dms
-
-       * src/UserExtra.pl: - 'ascii' updates.
-       - hex now honours "allowConv"
-       - found by asuffield.
-       - redir of a redir fixed.
-
-2001-02-13 22:30  dms
-
-       * src/IRC/IrcHooks.pl: added reason on ban.
-
-2001-02-13 22:18  dms
-
-       * src/Process.pl: safe delete did not run delFactoid, hah! found by asuffield
-
-2001-02-13 22:07  dms
-
-       * src/IRC/Irc.pl: ban fixes.
-
-2001-02-13 22:06  dms
-
-       * src/Modules/UserDCC.pl: - moved read-only stuff from DynaConfig to here.
-       - added newpass
-       - .chpass didn't use arg[0] for user.
-
-2001-02-13 22:03  dms
-
-       * src/DynaConfig.pl: - now prevent ".chanset +blah 10"
-       - recoded it a bit.
-
-2001-02-13 22:02  dms
-
-       * src/IRC/IrcHooks.pl: - use "right way" to get keys from hash by checking if the hash ref
-         even exists... perl automatically "creates" this and causes problems
-         later on. (perldoc -f exists or defined)
-       - anti-repeat should not apply to /msg
-       - option to do kick on repeat... preliminary support.
-       - casing fixes to DCC CHAT. (reported by Revenge@OPN)
-
-2001-02-13 22:01  dms
-
-       * src/IRC/Schedulers.pl: errors from Schedulers (chanlimitcheck) are cached and shown only once.
-
-2001-02-13 22:00  dms
-
-       * src/Modules/Factoids.pl: - added support to factstats (requested,requesters) of "total" value.
-
-2001-02-13 21:59  dms
-
-       * src/Modules/babel.pl: debugging added
-
-2001-02-13 21:58  dms
-
-       * src/Misc.pl: added debian-specific debug to isStale
-
-2001-02-11 22:25  dms
-
-       * src/: CommandStubs.pl, Misc.pl, modules.pl, IRC/Schedulers.pl,
-       Modules/Debian.pl: remaining stuff... should fix factoids problem I hope
-
-2001-02-10 00:47  dms
-
-       * src/Modules/babel.pl: typo
-
-2001-02-10 00:29  dms
-
-       * src/core.pl: slight change to ChanConfList to make schedulers work again
-
-2001-02-09 23:02  dms
-
-       * src/: IRC/IrcHooks.pl, Process.pl: fixed up ignore code. discovered by debian@OPN
-
-2001-02-09 22:51  dms
-
-       * src/IRC/Irc.pl: woops, use while instead of foreach for ircloop
-
-2001-02-09 22:48  dms
-
-       * src/: Files.pl, core.pl: use static value for ircservers file
-
-2001-02-09 22:18  dms
-
-       * src/core.pl: don't write user/chan file on HUP/restart. confirmed by asuffield
-
-2001-02-09 21:44  dms
-
-       * src/Modules/UserDCC.pl: we did a sort() when we should not have for '.sched'
-
-2001-02-09 21:40  dms
-
-       * src/CommandStubs.pl: changed FlatArg to ArrayArgs to make more sense. by default, we use flat-args
-
-2001-02-09 21:37  dms
-
-       * src/IRC/IrcHooks.pl: forgot to set nuh for on_join; fixed up ban check on join.
-
-2001-02-09 21:23  dms
-
-       * src/Process.pl: moved nick lock checking to lock only. detected by irq@OPN
-
-2001-02-09 21:18  dms
-
-       * src/IRC/Irc.pl: added debugging info to ircloop... if irc() does not return ever, we'll have to take another approach to do connect-next-server-if-cant-connect
-
-2001-02-09 21:10  dms
-
-       * src/UserExtra.pl: substitute the right vars in getReply when used in tell. found by asuffield
-
-2001-02-09 00:02  dms
-
-       * src/IRC/IrcHooks.pl: this should fix ignores on global channels. found by 'debian'@OPN
-
-2001-02-08 23:51  dms
-
-       * src/IRC/Schedulers.pl: divide by zero fix. thought I fixed it 2 weeks ago
-
-2001-02-08 23:50  dms
-
-       * src/IRC/IrcHooks.pl: - pointless regex in on_dcc_chat_open that I was going to deal with on
-         failed WHOIS (nuh) lookups... now we just compare against "GETTING-NOW"
-       - on_quit debug info much cleaner now.
-
-2001-02-08 22:09  dms
-
-       * src/CommandStubs.pl: we did not use flat args for forkers. found by asuffield.
-
-2001-02-08 22:00  dms
-
-       * src/CommandStubs.pl: fix delayed task mechanism to verstats... we have to cache chan/nick/msgType.
-
-2001-02-08 21:57  dms
-
-       * src/Shm.pl: possible fix for fork crashing and not detecting a crash from parent. warning included
-
-2001-02-08 21:52  dms
-
-       * src/IRC/: IrcHooks.pl, Schedulers.pl: chan limit check code should now be disabled/re-enabled in relation to netsplits. discovered by asuffield
-
-2001-02-07 22:12  dms
-
-       * src/Modules/UserDCC.pl: - list all schedulers and their respective time-of-next-run
-
-2001-02-07 22:11  dms
-
-       * src/IRC/Schedulers.pl: - use CORE::system
-
-2001-02-07 22:11  dms
-
-       * src/: Modules/Debian.pl, CommandStubs.pl: - finally (about three times) fixed search for "*bin*ssh*" for example,
-         kudos to bod@OPN
-       - also make searchDesc return list of packages and searchDescFE to output it.
-       - use searchDescFE
-
-2001-02-06 21:10  dms
-
-       * src/Modules/Debian.pl: Fixed by swapping dists hash around.
-
-2001-02-06 20:42  dms
-
-       * src/Modules/Debian.pl: debugging added.
-
-2001-02-06 20:42  dms
-
-       * src/Modules/Topic.pl:  ok from "topic -mod" => /msg only!
-
-2001-02-06 20:42  dms
-
-       * src/IRC/Schedulers.pl: - added auto backup of user/chan files
-       - factoidCheck updates.
-       - nick-in-use timer update.
-
-2001-02-06 20:41  dms
-
-       * src/: Process.pl, core.pl: - converted %joinverb to %cache
-
-2001-02-06 20:41  dms
-
-       * src/UserExtra.pl: - added 'unique user count' to chanstats.
-       - wantnick updates
-
-2001-02-06 20:27  dms
-
-       * src/IRC/IrcHooks.pl: - on_chat, forgot to set '$who'
-       - clean up aswell.
-       - converted %jointime to %cache
-       - we check limit on each on_join now.
-
-2001-02-06 20:23  dms
-
-       * src/DynaConfig.pl: split off chanset from UserDCC to here to do multiple chans
-       - look at 1.19->1.20 to see changes
-
-2001-02-06 20:22  dms
-
-       * src/Modules/UserDCC.pl: - Moved most of chanset to DynaConfig
-       - Should be able to do multiple chans now, like ".chanset #chan1 #chan2
-         #chan3 +autojoin"
-       - if _default has option and ".chanunset #blah blah" or ".-chan #blah
-         blah", set vars on all other channels but remove on the channel
-         specific.
-       - if '.-chan blah' is done and does not exist on _default, remove
-         option from all channels.
-       - command to list which chans have option defined/set for.
-       - with respective values.
-       - ".chanset <value>"
-
-2001-02-06 00:09  dms
-
-       * src/Process.pl: final cruft from old static configuration file fixed... found by irq
-
-2001-02-06 00:04  dms
-
-       * src/CommandStubs.pl: ok, that failed. lets now set $chan aswell
-
-2001-02-06 00:00  dms
-
-       * src/CommandStubs.pl: verstats was using dynamic chan var...
-
-2001-02-05 23:45  dms
-
-       * src/IRC/IrcHooks.pl: dont overwrite nuh{} if it already exists.
-
-2001-02-05 23:43  dms
-
-       * src/Factoids/: Norm.pl, Question.pl: - remove front/rear whitespaces
-       - trailing symbols should work now.
-
-2001-02-05 23:30  dms
-
-       * src/IRC/IrcHooks.pl: - endofnames: chanserv ops should work now.
-       - store topic irrevelent of setting.
-       - call ->whois() if nuh is not found.
-
-2001-02-05 23:29  dms
-
-       * src/Modules/UserDCC.pl: - prevent dupe uses of ".+chan"
-       - when adding new chan, set autojoin.
-
-2001-02-05 23:29  dms
-
-       * src/IRC/Schedulers.pl: - ircCheck => 120 interval.
-       - dccStatus now only shows chan info where the dcc chat user is on
-         _only_
-       - added checking of %dcc hash for nuh hash checking.
-
-2001-02-05 22:32  dms
-
-       * src/IRC/Schedulers.pl:  defer leakCheck, increase interval.
-
-2001-02-05 22:31  dms
-
-       * src/core.pl: comment out debugging
-
-2001-02-05 22:31  dms
-
-       * src/IRC/IrcHooks.pl: - fixed when chan (msgType = private) is undefined.
-
-2001-02-04 20:23  dms
-
-       * src/IRC/Irc.pl: reconnect if join fails
-
-2001-02-04 20:17  dms
-
-       * src/IRC/Irc.pl: - output update
-
-2001-02-04 20:16  dms
-
-       * src/IRC/IrcHooks.pl: - if in private, "is addressing" => "is /msg'ing".
-       - dccStatus fix ups.
-       - use ScheduleThis where possible.
-
-2001-02-04 20:14  dms
-
-       * src/IRC/Schedulers.pl: typo for dccStatus fix :)
-
-2001-02-04 20:14  dms
-
-       * src/Shm.pl: delForked: warn if name is source file.
-
-2001-02-04 20:13  dms
-
-       * src/IRC/Schedulers.pl: - output update.
-       - prevent "unknown msg" for shm.
-       - typo for dcc hash. fixed.
-       - forgot about users,chops,bans define in dccStatus. fixed.
-
-2001-02-04 20:13  dms
-
-       * src/CommandStubs.pl: if more than 1/4 users from channel gave version replies, verstats is active.
-
-2001-02-04 20:12  dms
-
-       * src/core.pl: remove mem increase from DCC CHAT - annoying.
-
-2001-02-04 00:01  dms
-
-       * src/: IRC/Schedulers.pl, Modules/Slashdot3.pl: more configuration crud and not-thinking-correctly design errors
-
-2001-02-03 23:51  dms
-
-       * src/UserExtra.pl: added support for old Modules() for telling.
-
-2001-02-03 23:48  dms
-
-       * src/Misc.pl: added IsParam back to hasParam together with isChanConf
-
-2001-02-03 23:33  dms
-
-       * src/Factoids/Statement.pl: minor typo when fixing this before
-
-2001-02-03 23:21  dms
-
-       * src/Modules/Debian.pl: validPackage or indirectly generateIndex should work now for the time being
-
-2001-02-03 23:09  dms
-
-       * src/Modules/Debian.pl: woops forgot a few old config vars; converted to new format
-
-2001-02-03 23:06  dms
-
-       * src/Modules/Debian.pl: converted to new gCCD
-
-2001-02-03 22:46  dms
-
-       * src/Modules/UserDCC.pl: more fixups.
-
-2001-02-03 22:35  dms
-
-       * src/Modules/UserDCC.pl: now use delete in place of undef
-
-2001-02-03 22:23  dms
-
-       * src/IRC/IrcHooks.pl: looks like the final touches to fully exploit dynamic configuration have been made
-
-2001-02-03 22:10  dms
-
-       * src/IRC/IrcHooks.pl: debugging info
-
-2001-02-03 22:06  dms
-
-       * src/Process.pl: move identify code before outsider checking
-
-2001-02-03 22:03  dms
-
-       * src/: IRC/Irc.pl, IRC/IrcHooks.pl, Misc.pl: - $nuh{} fix up.
-       - created on_dcc_open_chat for whois reply to get nuh.
-       - getRandomInt - allow decimal.
-
-2001-02-03 20:52  dms
-
-       * src/: Shm.pl, IRC/Schedulers.pl: - time stamping added.
-       - dead/stale shm removal now works more intelligently.
-         However, older code will attempt to hijack and remove it anyway.
-       - check debian files with gzip -t.
-       - all schedulers should be deferred now.
-
-2001-02-03 20:51  dms
-
-       * src/IRC/IrcHooks.pl: don't allow those without HOSTS in the user file to DCC CHAT.
-
-2001-02-03 20:51  dms
-
-       * src/Modules/UserDCC.pl: fixed '.chanset' code.
-
-2001-02-03 20:50  dms
-
-       * src/IRC/Irc.pl: added _default to chan mask.
-
-2001-02-02 22:03  dms
-
-       * src/IRC/Schedulers.pl: I think this is the set of missed old->dynamic config changes that had to be done
-
-2001-02-02 22:03  dms
-
-       * src/Modules/UserDCC.pl: compress config params as muc has possible per line
-
-2001-02-02 21:42  dms
-
-       * src/core.pl: forgot to initialize counter for Moron
-
-2001-02-02 21:42  dms
-
-       * src/Misc.pl: check if int is defined for fixPlural
-
-2001-02-02 21:38  dms
-
-       * src/: DynaConfig.pl, Misc.pl, core.pl, modules.pl,
-       Factoids/Norm.pl, Factoids/Question.pl, Factoids/Reply.pl,
-       Factoids/Update.pl: tiny changes that I've missed
-
-2001-02-02 21:36  dms
-
-       * src/IRC/: IrcHooks.pl, Schedulers.pl: temporary ignores can be removed automatically once expired
-
-2001-02-02 21:21  dms
-
-       * src/Process.pl: typo for ckpasswd
-
-2001-02-02 21:12  dms
-
-       * src/Shm.pl: - if shmRead fails, try openSHM.
-
-2001-02-02 21:12  dms
-
-       * src/Process.pl: - fixup for question handling.
-
-2001-02-02 21:12  dms
-
-       * src/UserExtra.pl: - tell: command redirection added.
-
-2001-02-02 21:12  dms
-
-       * src/Modules/UserDCC.pl: - fix undefined for '.chanset'
-       - minor output update to '.bans'
-
-2001-02-02 21:11  dms
-
-       * src/DynaConfig.pl: - undefining vars in wrong subs; fixed.
-       - fixes reading user/chan files finally, again.
-
-2001-02-02 21:10  dms
-
-       * src/: CommandStubs.pl, Modules/babel.pl: - fixes for babelfish
-       - typo of IsChanConf for wwwsearch.
-       - parseCmdHooks return vals fixed.
-       - babel.pl: regex fixed -- works!!!
-
-2001-02-02 21:09  dms
-
-       * src/: Modules/RootWarn.pl, Modules/Wingate.pl, IRC/Irc.pl,
-       IRC/IrcHooks.pl, IRC/Schedulers.pl: - more fixes to new-style config, should be 99% of it.
-       - convert IsParam() to IsChanConf()
-       - IRC/IrcHooks.pl: minor output update
-       - IRC/Schedulers.pl:
-               - minor update.
-               - make getChanConfDefault(PARAM,VALUE,CHAN) instead for convenience.
-               - temp ignore removal checking loop fixed.
-
-2001-02-01 22:21  dms
-
-       * src/core.pl: - write user/chan file in 'shutdown'
-
-2001-02-01 22:18  dms
-
-       * src/Modules/UserDCC.pl: - wrong order in .+ignore
-       - ".chanset #chan" fixup.
-
-2001-02-01 22:17  dms
-
-       * src/IRC/Irc.pl: - getJoinChans, don't add _default
-       - joinNextChan() - check nickServ_pass
-
-2001-02-01 22:15  dms
-
-       * src/DynaConfig.pl: - prevent /^[+-]/ options being loaded.
-       - ignore/ban lists now saved properly.
-       - forgot about \+ :-)
-       - verifyUser does caching now!
-
-2001-02-01 22:13  dms
-
-       * src/IRC/Schedulers.pl: - SC for uptimeCycle
-       - renamed *Cycle to *Loop
-
-2001-02-01 22:11  dms
-
-       * src/IRC/IrcHooks.pl: - minor output (debug) removed.
-       - new config conversion for rootWarn
-
-2001-02-01 22:06  dms
-
-       * src/Process.pl: now use pass auth for 'identify'.
-
-2001-02-01 22:05  dms
-
-       * src/Modules/Debian.pl: regex support for 'query' in &searchDesc()
-
-2001-01-31 22:53  dms
-
-       * src/CommandStubs.pl: nickometer: there could be multiple results with the same version
-       percentage - fixed. Also don't merge same percentages together like in
-       other list (formListReply) statements.
-
-2001-01-31 22:31  dms
-
-       * src/CommandStubs.pl: nickometer and verstats: sort descendingly
-       nickometer: fix undefined warning
-
-2001-01-31 21:31  dms
-
-       * src/Modules/Debian.pl: make $refresh global in this file... removed all duplicates of getting
-       debianRefreshInterval config var.
-
-2001-01-31 21:28  dms
-
-       * src/IRC/: Irc.pl, IrcHooks.pl: make $nickserv global and set to zero in Irc.pl
-
-2001-01-31 21:26  dms
-
-       * src/Misc.pl: check if $age is NULL in &isStale()
-
-2001-01-31 21:18  dms
-
-       * src/core.pl: &ChanConfList() typos
-
-2001-01-31 21:18  dms
-
-       * src/Process.pl: added 'identify <PASS> [nick]'
-
-2001-01-31 21:18  dms
-
-       * src/IRC/Irc.pl: added retval to &ban()
-
-2001-01-31 21:17  dms
-
-       * src/Modules/UserDCC.pl: minor fix for ignoreAdd()
-
-2001-01-31 21:17  dms
-
-       * src/DynaConfig.pl: prevent repetion in verifyUser.
-
-2001-01-31 21:17  dms
-
-       * src/Modules/Freshmeat.pl: - now use gCCD
-
-2001-01-31 21:17  dms
-
-       * src/IRC/IrcHooks.pl: - ignore code cleaned up.
-       - ban on join added.
-       - added 'b' to &hookMode()'s stats keeping.
-
-2001-01-31 21:16  dms
-
-       * src/IRC/Schedulers.pl: - forgot about interval for floodCycle.
-       - added nuh{} check to &leakCheck()
-       - added chanserv checking to &ircCheck()
-
-2001-01-30 21:19  dms
-
-       * src/Modules/Debian.pl: support for new dynamic configuration infrastructure
-
-2001-01-30 20:47  dms
-
-       * src/IRC/Schedulers.pl: - typo for already-run check. should work now.
-
-2001-01-30 20:46  dms
-
-       * src/Modules/UserDCC.pl: - added '.sched'
-
-2001-01-30 20:46  dms
-
-       * src/Misc.pl: - pSReply hack for &help().
-
-2001-01-30 20:46  dms
-
-       * src/Process.pl: - typo for return val of &Modules()
-
-2001-01-30 20:46  dms
-
-       * src/DynaConfig.pl: - added removal of possible duplicate configuration entries when bot
-         exits.
-
-2001-01-30 20:45  dms
-
-       * src/: Shm.pl, core.pl, modules.pl, Modules/Uptime.pl: - minor update (output and redundant vars)
-
-2001-01-30 20:44  dms
-
-       * src/IRC/IrcHooks.pl: prevent dupes in verstats collection.
-
-2001-01-30 20:44  dms
-
-       * src/CommandStubs.pl: - added 'unknown/cloaked' stats item to verstats.
-       - nickometer chan code cleanup.
-
-2001-01-29 23:04  dms
-
-       * src/CommandStubs.pl: added 'verstats'
-
-2001-01-29 23:03  dms
-
-       * src/Misc.pl: - strip ^chars update.
-
-2001-01-29 23:03  dms
-
-       * src/IRC/Schedulers.pl: - fixed undefined stuff.
-       - put return's in wrong position; fixed.
-
-2001-01-28 22:34  dms
-
-       * src/core.pl: removed obsoleted old dyn code
-
-2001-01-28 22:03  dms
-
-       * files/sample/sample.config.proposed: - obsoleted... why was it even added in the first place.
-
-2001-01-28 22:02  dms
-
-       * ChangeLog, ChangeLog.old: - finally generated ChangeLog from CVS
-       - moved old changelog to ChangeLog.old
-
-2001-01-28 22:00  dms
-
-       * patches/: Connection.pm, Net::IRC.patch: - removed obsoleted files: it's now done in the bot code.
-
-2001-01-28 21:35  dms
-
-       * files/: infobot.help, infobot.ignore, infobot.lang, infobot.lart,
-       infobot.randtext, infobot.users, sample.config, sample.countdown,
-       sample.insert: - obsoleted files removed
-
-2001-01-28 21:32  dms
-
-       * src/: Misc.pl, Process.pl, Shm.pl, db_mysql.pl,
-       Factoids/Question.pl, Factoids/Reply.pl, Factoids/Statement.pl,
-       Factoids/Update.pl, IRC/Irc.pl, Modules/Debian.pl,
-       Modules/DebianExtra.pl, Modules/Dict.pl, Modules/Factoids.pl,
-       Modules/Freshmeat.pl, Modules/Kernel.pl, Modules/Quote.pl,
-       Modules/Search.pl, Modules/Slashdot3.pl, Modules/Topic.pl,
-       Modules/Units.pl, Modules/Uptime.pl, Modules/W3Search.pl,
-       Modules/Wingate.pl, Modules/babel.pl, Modules/insult.pl,
-       Modules/nickometer.pl: - Remaining files that were changed due to removal of $noreply or
-         indirectly caused by the change over to dynamic configuration
-
-2001-01-28 21:15  dms
-
-       * src/IRC/Schedulers.pl: - added dccStatus
-
-2001-01-28 21:14  dms
-
-       * src/UserExtra.pl: - if - is used before -about, don't tell us about what was told.
-       - ignorelist removed.
-
-2001-01-28 21:14  dms
-
-       * src/modules.pl: - if core moduels fail to load, exit out properly.
-
-2001-01-28 21:14  dms
-
-       * files/blootbot.help: - removed FIXME entries.
-       - added several new entries for UserDCC. still incomplete.
-
-2001-01-28 21:13  dms
-
-       * files/blootbot.ignore: -REMOVED
-
-2001-01-28 21:12  dms
-
-       * src/IRC/IrcHooks.pl: - when someone attempts dcc chat, if verbosity > 1,
-               show all info regarding that person.
-
-2001-01-28 21:12  dms
-
-       * src/logger.pl: pre-config fix.
-
-2001-01-28 21:11  dms
-
-       * src/Modules/UserDCC.pl: - added frontend to dynamic user/chan.
-
-       - remove 99% of $noreply.               WORKS
-       - change 'main::' to '::'               WORKS
-
-       - ".set" and ".unset" obsoleted.        WORKS
-       - ".save"                               WORKS
-       - ".chanset #chan +bool"        WORKS
-       - ".chanset #chan -bool"        WORKS
-       - ".chanset #chan"              WORKS
-       - ".chanunset #chan"            WORKS
-       - ".chanunset #chan WHAT"       WORKS
-       - ".chpass <user> [pass]"       WORKS
-       - ".chattr [user] +flag-flag"   WORKS
-       - ".chnick [user] [new-user]"   WORKS
-       - ".+host [user] [new mask]"    WORKS
-       - ".-host [user] [del mask]"    WORKS
-       - ".+ban [mask] [chan] [time] [reason]" WORKS
-       - ".-ban [mask]"                WORKS
-       - ".whois [user]"               WORKS
-       - ".bans [chan]" (BOT)          WORKS
-       - ".banlist" (CHAN)             DONE,TODO
-       - ".+ignore <mask> [#channel] [time] <comment>" WORKS
-       - ".-ignore <mask>"             WORKS
-       - ".ignore [chan]"              WORKS,
-       - ".adduser <nick>"             DONE,TODO
-       - ".deluser <nick>"             DONE,TODO
-       - ".+user <nick> <hostmask>"    WORKS
-       - ".-user <nick>"               WORKS
-       - ".chatset [channel] <setting>"        DONE
-       - ".+chan <#chan>"                      WORKS
-       - ".-chan <#chan>"                      WORKS
-       - ".chaninfo"                           WORKS
-
-2001-01-28 21:08  dms
-
-       * files/sample/: sample.chan, sample.config, sample.config.example,
-       sample.config.proposed, sample.countdown, sample.insert,
-       sample.users: - new directory for sample configuration
-
-2001-01-28 21:04  dms
-
-       * files/: blootbot.chan, blootbot.users: - NEW style config file.
-
-2001-01-28 21:02  dms
-
-       * src/core.pl: - NEW dynamic user/chan stuff.
-       - prevent doExit running twice.
-       - loadMyModulesNow after chanfile!
-       - added IsChanConf() and getChanConfList
-
-2001-01-28 21:00  dms
-
-       * src/DynaConfig.pl: - NEW dynamic user/chan stuff.
-
-2001-01-28 20:50  dms
-
-       * src/: User.pl, UserFile.pl: - REMOVED FILES.
-
-2001-01-28 20:50  dms
-
-       * src/Files.pl: - removed userfile code.
-       - removed ignore code.
-
-2001-01-28 20:49  dms
-
-       * src/CommandStubs.pl: - aCH: don't remake hook hash.
-       - pCH: warn if multiple matches are found.
-       - added nickometer for channel.
-
-2001-01-18 21:46  dms
-
-       * src/Modules/Debian.pl: ca.d.o does not do non-US any more
-
-2001-01-17 20:22  dms
-
-       * src/Modules/Factoids.pl: used \* instead of / for days, founded by fooz
-
-2001-01-15 21:11  dms
-
-       * src/Factoids/Update.pl: added checking of NULL rhs just in case.
-
-2001-01-15 21:10  dms
-
-       * src/Modules/Factoids.pl: - fix for null factoids in factinfo.
-       - added 'factstats nullfactoids'.
-
-2001-01-14 21:04  dms
-
-       * src/Modules/Topic.pl: topic info now includes length
-
-2001-01-10 22:57  dms
-
-       * src/IRC/Irc.pl: - cosmetic (useless) update.
-
-2001-01-10 22:56  dms
-
-       * src/UserExtra.pl: - update to 'cpustats'.
-
-2001-01-10 22:55  dms
-
-       * src/Misc.pl: - forgot [] around gettimeofday.
-       - select() added before first fork msg.
-
-2001-01-10 22:55  dms
-
-       * src/Shm.pl: - minor mods to addForked wrt time.
-       - proper detection of dead forks.
-
-2001-01-10 22:54  dms
-
-       * src/Modules/Debian.pl: quote typo@18,default==unstable
-
-2001-01-10 22:54  dms
-
-       * src/modules.pl: - AUTOLOAD to ignore __
-       - use eval on 'require'.
-
-2001-01-06 20:55  dms
-
-       * src/Factoids/Reply.pl: - added smart_replace, finally fixed SARs for sure.
-         still need to move numeric range replacement into the loop.
-
-2001-01-06 20:54  dms
-
-       * src/: Net.pl, Modules/Debian.pl, Modules/Factoids.pl,
-       Modules/Freshmeat.pl, Modules/Search.pl: - new time delta function
-       - Debian.pl: \Q\E in validPackage
-
-2001-01-06 20:53  dms
-
-       * src/IRC/Irc.pl:  clearIRCVars update
-
-2001-01-06 20:53  dms
-
-       * src/modules.pl: DNS.pl removed.
-
-2001-01-06 20:52  dms
-
-       * src/Modules/DNS.pl: Removed this file.
-
-2001-01-06 20:52  dms
-
-       * src/: CommandStubs.pl, UserExtra.pl: - more updates.
-       - UserExtra.pl: added cpustats
-       - CommandStubs: added UserFlag support
-
-2001-01-06 20:51  dms
-
-       * src/: Misc.pl, Shm.pl, IRC/IrcHooks.pl: - forker (POSIX::_exit) fixes.
-       - Misc.pl: added timedelta(renamed from gettimeofday),timeget.
-
-2001-01-03 21:44  dms
-
-       * src/Net.pl: - &system typo.
-
-2001-01-03 21:43  dms
-
-       * src/modules.pl: - DESTROY code removed.
-
-2001-01-03 21:42  dms
-
-       * src/Misc.pl: - topic minor fix.
-       - POSIX::_exit(0) added: fixes fork problem.
-
-2001-01-03 21:42  dms
-
-       * src/Factoids/Update.pl: - allow SARing of factoids on _long_ factoids providing the new string
-         is shorter than the subst string.
-
-2001-01-03 21:37  dms
-
-       * files/blootbot.lang: - moron reply added.
-
-2001-01-03 21:37  dms
-
-       * src/Factoids/Reply.pl: - Finally added proper recursive SARs
-
-2001-01-03 21:36  dms
-
-       * src/Modules/Factoids.pl: - add 'days' to created_time output.
-
-2001-01-03 21:35  dms
-
-       * src/Modules/Debian.pl: - "testing" changes (broken)
-       - make search packages case insensitive.
-       - non-US fixed... about time.
-
-2001-01-03 21:34  dms
-
-       * src/Process.pl: - unified hook changes.
-       - ignore >64 questions.
-       - support moron language.
-
-2001-01-03 21:33  dms
-
-       * src/UserExtra.pl: - start using hooks.
-       - added moron counter to 'status'.
-
-2001-01-03 21:32  dms
-
-       * src/CommandStubs.pl: - unified for global command hooks
-
-2001-01-03 21:31  dms
-
-       * src/IRC/: Irc.pl, IrcHooks.pl: - floodjoinCheck.
-       - note on endofmotd.
-       - Moved ircstats from Irc.pl to on_endofmotd#IrcHooks.pl
-
-2000-12-29 22:46  dms
-
-       * src/Process.pl: for join, ignore whether on a channel if we have power
-
-2000-12-29 22:05  dms
-
-       * src/IRC/IrcHooks.pl: lowercase chan in on_kick, found by xsdg!
-
-2000-12-19 21:06  dms
-
-       * src/Factoids/Reply.pl: forgot about int() in randnick - found by lunartear
-
-2000-12-18 21:40  dms
-
-       * src/core.pl: debug to restart
-
-2000-12-18 21:38  dms
-
-       * src/Net.pl: Remove &ERROR() since it's done by WARN.
-
-2000-12-18 21:35  dms
-
-       * src/Modules/Debian.pl: stop searching if found>100
-
-2000-12-18 21:33  dms
-
-       * src/Process.pl: ignore long unparseable messages.
-
-2000-12-16 20:32  dms
-
-       * src/core.pl: hrm
-
-2000-12-16 20:31  dms
-
-       * src/modules.pl: minor fix to loadmymodules
-
-2000-12-16 20:31  dms
-
-       * LICENSE: - new file for license.
-
-2000-12-16 20:30  dms
-
-       * src/Files.pl: userlist display now verbosity>1
-
-2000-12-16 20:30  dms
-
-       * src/IRC/IrcHooks.pl: - use dccsay
-       - show flags on dcc chat connection.
-       - set type on on_dcc*
-
-2000-12-16 20:29  dms
-
-       * src/IRC/Irc.pl: - &dccsay() added.
-       - &dcc_close() added.
-       - use dccsay in performStrictReply()
-
-2000-12-15 23:36  dms
-
-       * src/Misc.pl: very nice typo for regex, Angel indirectly found this :)
-
-2000-12-15 22:39  dms
-
-       * src/User.pl: forgot to reset userHandle
-
-2000-12-15 22:28  dms
-
-       * src/core.pl: forgot about / in tempDir
-
-2000-12-15 22:25  dms
-
-       * src/Modules/UserDCC.pl: added '.mode' for Netsnipe
-
-2000-12-12 23:12  dms
-
-       * src/core.pl: change ~ to ENV{HOME}
-
-2000-12-11 20:26  dms
-
-       * src/IRC/Schedulers.pl: chanlimitcheck: removed netsplit check
-
-2000-12-11 20:24  dms
-
-       * src/IRC/IrcHooks.pl: netsplit timer added
-
-2000-12-10 20:55  dms
-
-       * src/Shm.pl: &showProc in delForked()
-
-2000-12-10 20:54  dms
-
-       * src/IRC/IrcHooks.pl: userHandle now global var
-
-2000-12-10 20:53  dms
-
-       * src/User.pl: verifyUser finally fixed
-
-2000-12-10 20:52  dms
-
-       * src/core.pl: tempdir fix
-
-2000-12-10 20:51  dms
-
-       * src/Modules/: Freshmeat.pl, Kernel.pl, Slashdot3.pl: temp dir unified
-
-2000-12-10 20:49  dms
-
-       * src/Modules/Debian.pl: - 'find *bin*ssh*' should work.
-       - temp dir unified.
-
-2000-12-10 20:48  dms
-
-       * src/Modules/Factoids.pl: - 'seefix' checks for self-redirects and removes if successful.
-       - 'deadredir' reject long vals.
-       - 'listfix' added.
-
-2000-12-09 21:26  dms
-
-       * src/Modules/Topic.pl: removed/convert debug messages
-
-2000-12-09 21:04  dms
-
-       * src/IRC/IrcHooks.pl: changed debug to status line
-
-2000-12-09 21:01  dms
-
-       * src/IRC/Schedulers.pl: forgot to return for limitcheck + netsplit
-
-2000-12-08 21:09  dms
-
-       * src/IRC/Schedulers.pl: renamed limitCheck to chanlimitCheck
-
-2000-12-04 21:31  dms
-
-       * src/IRC/Schedulers.pl: Typos galore for logCycle, should be fixed
-
-2000-12-03 21:52  dms
-
-       * src/IRC/Schedulers.pl: output cleanup
-
-2000-12-03 21:51  dms
-
-       * src/Modules/Debian.pl: fallback on * properly
-
-2000-12-03 21:50  dms
-
-       * src/Modules/W3Search.pl: Moved w3 regex here
-
-2000-12-03 21:48  dms
-
-       * src/CommandStubs.pl: typo fixed
-
-2000-12-03 21:47  dms
-
-       * src/CommandStubs.pl: Removed W3 regex
-
-2000-12-03 21:46  dms
-
-       * src/Modules/Factoids.pl: Added 'factstats seefix'
-
-2000-12-03 21:46  dms
-
-       * src/Misc.pl: validFactoid.
-
-2000-11-24 22:26  dms
-
-       * src/Modules/Debian.pl: Contents for non-US is broken!
-
-2000-11-24 22:02  dms
-
-       * src/Modules/Debian.pl: typo
-
-2000-11-24 20:23  dms
-
-       * src/Misc.pl: - validFactoid.
-       - fixString
-
-2000-11-24 20:17  dms
-
-       * src/Modules/Freshmeat.pl: - prevent dupe errors.
-       - support bz2/gz for appindex.
-
-2000-11-24 20:10  dms
-
-       * src/Shm.pl: if name undefined, bail out
-
-2000-11-24 20:07  dms
-
-       * src/modules.pl: use modulebase instead of modulefile for delForked()
-
-2000-11-23 23:10  dms
-
-       * src/CommandStubs.pl: made freshmeat fork always
-
-2000-11-23 22:53  dms
-
-       * src/Modules/Freshmeat.pl: changed core to www
-
-2000-11-23 22:22  dms
-
-       * src/CommandStubs.pl: @args changed to flat
-
-2000-11-23 22:21  dms
-
-       * src/: Misc.pl, Net.pl: debug messages removed
-
-2000-11-23 22:21  dms
-
-       * src/Modules/Debian.pl: more cleanups. ^blah and blah$ workspico Debian.pl!
-
-2000-11-19 22:56  dms
-
-       * src/Modules/Debian.pl: debug
-
-2000-11-19 22:56  dms
-
-       * src/modules.pl: use AUTOLOAD to prevent crashes
-
-2000-11-19 22:55  dms
-
-       * src/Net.pl: Reduced timeout by 10x
-
-2000-11-19 22:54  dms
-
-       * src/UserExtra.pl: Fixed up tell to allow target == 'us'.
-
-2000-11-19 22:49  dms
-
-       * src/IRC/IrcHooks.pl: Exit process if on_public hook is activated under fork
-
-2000-11-01 21:59  dms
-
-       * src/UserExtra.pl: - fixed up tell.
-       - 'cycle' changed a bit.
-
-2000-11-01 21:55  dms
-
-       * src/IRC/Irc.pl: debug msg for mixed-case chan
-
-2000-11-01 21:54  dms
-
-       * src/IRC/Schedulers.pl: - make sure we reschedule everything unless it's a non-recoverable error.
-       - disable limit if split active in limitcheck.
-       - enabled 'unlink' in logcycle.
-
-2000-10-04 00:08  dms
-
-       * src/CommandStubs.pl: - we shifted args before using args[0]. fixed.
-       - fixed broken 'convert' cmd.
-
-2000-10-03 01:33  dms
-
-       * src/core.pl: version update
-
-2000-10-03 01:29  dms
-
-       * src/modules.pl: minor change to reloadModule
-
-2000-10-03 01:26  dms
-
-       * src/db_mysql.pl: added sth->finish in an attempt to prevent leaks
-
-2000-10-03 01:26  dms
-
-       * src/CommandStubs.pl: alias to fm for freshmeat forgotten
-
-2000-10-03 01:23  dms
-
-       * src/db_dbm.pl: minor update
-
-2000-10-03 01:20  dms
-
-       * src/Modules/Freshmeat.pl: cleanup of comments
-
-2000-10-03 01:19  dms
-
-       * src/IRC/Irc.pl: change timeout value for scheduler interval
-
-2000-10-03 01:12  dms
-
-       * src/IRC/IrcHooks.pl: fixed - typo for join()
-
-2000-09-29 23:39  dms
-
-       * src/CommandStubs.pl: tiny cleanup
-
-2000-09-29 23:10  dms
-
-       * src/Modules/UserDCC.pl: Minor cleanup
-
-2000-09-29 23:03  dms
-
-       * src/IRC/IrcHooks.pl: DCC fixed
-
-2000-09-25 20:08  dms
-
-       * src/IRC/Irc.pl: fixed up performReply to be more intelligent
-       when doing random stuff.
-
-2000-09-25 20:07  dms
-
-       * src/Factoids/Question.pl: notfound uses @query now; removed origQuery
-
-2000-09-25 00:20  dms
-
-       * src/logger.pl: close log then statuspico logger.pl!
-
-2000-09-24 19:53  dms
-
-       * src/CommandStubs.pl: more changes
-
-2000-09-24 19:51  dms
-
-       * src/Modules/Dict.pl: moved a few lines from CommandStubs.pl here
-
-2000-09-24 19:50  dms
-
-       * src/Factoids/Question.pl: added 'debianForFactoid'.
-       fixed question 'you suck'. found by cerb.
-
-2000-09-24 19:49  dms
-
-       * src/core.pl: forgot 'next' in dir check
-
-2000-09-23 22:18  dms
-
-       * scripts/setup_sql.pl: closed 114944 -- karma can't be a negative int
-
-2000-09-23 22:15  dms
-
-       * src/core.pl: added check for dirs on startup
-
-2000-09-23 22:12  dms
-
-       * src/Modules/Slashdot3.pl: moved temp dir check to core.pl
-
-2000-09-23 20:46  dms
-
-       * src/Modules/Freshmeat.pl: removed some debug lines
-
-2000-09-23 20:45  dms
-
-       * src/modules.pl: fixed up return vals for loadMyModule()
-
-2000-09-23 20:45  dms
-
-       * src/Modules/RootWarn.pl: non-mysql stub
-
-2000-09-23 20:44  dms
-
-       * src/CommandStubs.pl: more conversion to new code
-
-2000-09-23 20:43  dms
-
-       * src/IRC/Schedulers.pl: one too many parens for seen stats; cleanup.
-
-2000-09-23 20:30  dms
-
-       * src/logger.pl: repeat throttling added
-
-2000-09-22 19:56  dms
-
-       * src/Modules/Debian.pl: minor update
-
-2000-09-22 19:56  dms
-
-       * src/CommandStubs.pl: moved more functions to new hook scheme
-
-2000-09-22 19:55  dms
-
-       * src/Shm.pl: forgot shmFlush() in closeSHM()
-
-2000-09-22 18:51  dms
-
-       * files/sample.config: 'undelete' option
-
-2000-09-22 18:50  dms
-
-       * src/IRC/Schedulers.pl: periodically check to delete deleted factoids
-
-2000-09-22 18:49  dms
-
-       * src/Process.pl: added undelete command
-
-2000-09-22 18:49  dms
-
-       * src/Files.pl: removed some verbosity.
-
-2000-09-22 18:48  dms
-
-       * src/modules.pl: verbose on reload (time ago, delta time)
-
-2000-09-18 21:37  dms
-
-       * src/IRC/Irc.pl: op (mode) does not work?
-
-2000-09-18 20:01  dms
-
-       * src/Modules/Debian.pl: typo for searchDesc list element
-
-2000-09-18 19:47  dms
-
-       * src/Misc.pl: minor text cleanup.
-       removed checkPing.
-
-2000-09-18 19:47  dms
-
-       * src/CommandStubs.pl: minor cleanup.
-       Preliminary command hooks (event handlers) working!
-
-2000-09-18 19:46  dms
-
-       * src/IRC/Schedulers.pl: Chanserv 2nd stage fail protection
-       Added seen stats.
-
-2000-09-18 19:45  dms
-
-       * src/Modules/Debian.pl: Added NULL check for &search*();
-       Added stubs for archived revisions.
-
-2000-09-18 19:44  dms
-
-       * src/Factoids/Question.pl: Trailing symbols (.!) ignored on question
-       Founded by Flugh
-
-2000-09-18 19:43  dms
-
-       * src/db_mysql.pl: sqldebug clean up; forgot a return line for GetCol
-
-2000-09-18 19:37  dms
-
-       * src/IRC/Irc.pl: chanserv update to &joinNextChan()
-
-2000-09-18 19:36  dms
-
-       * src/IRC/IrcHooks.pl: minor update
-
-2000-09-18 19:34  dms
-
-       * src/User.pl: removed repetitive debug line
-
-2000-09-18 19:30  dms
-
-       * src/Process.pl: removed feedback addressing. Issue raised by Flugh
-
-2000-09-16 22:12  dms
-
-       * src/CommandStubs.pl: added ddesc for desc search
-
-2000-09-16 22:11  dms
-
-       * src/Modules/Debian.pl: added &searchDesc() if &searchContents() fails
-
-2000-09-16 22:10  dms
-
-       * src/IRC/Schedulers.pl: added NULL irc channel check
-
-2000-09-16 22:09  dms
-
-       * src/core.pl: removed loggingstatus
-
-2000-09-16 21:57  dms
-
-       * src/logger.pl: &status() changes. removed loggingstatus in favour of fileno().
-
-2000-09-16 21:23  dms
-
-       * scripts/setup_sql.pl: another attempt for a fix
-
-2000-09-14 21:29  dms
-
-       * scripts/: setup_sql.pl, setup_tables.pl, setup_users.pl: script merge, doc update
-
-2000-09-14 20:13  dms
-
-       * src/: Files.pl, UserFile.pl, Modules/UserDCC.pl: status() -> &status()
-
-2000-09-14 20:12  dms
-
-       * src/IRC/IrcHooks.pl: minor text fixup for umode
-
-2000-09-14 20:11  dms
-
-       * src/IRC/Schedulers.pl: Added miscCheck(), now does reloadAllModules()
-
-2000-09-14 20:07  dms
-
-       * src/modules.pl: ability to reload extra modules automatically
-
-2000-09-14 00:39  dms
-
-       * src/Modules/Debian.pl: another installed-size prob fix
-
-2000-09-13 22:18  dms
-
-       * src/Factoids/Reply.pl: Removed FIXME
-
-2000-09-13 22:07  dms
-
-       * src/Misc.pl: stat used wrong time, [8] instead of [9]
-
-2000-09-13 22:03  dms
-
-       * src/Misc.pl: changed some text, more debugging
-
-2000-09-13 22:02  dms
-
-       * src/Modules/Debian.pl: hopefully last time it will be fixed
-
-2000-09-13 21:39  dms
-
-       * src/Modules/Freshmeat.pl: forgot about blootbot_pid
-
-2000-09-13 21:38  dms
-
-       * src/Modules/Debian.pl: non-us fixed!
-
-2000-09-13 21:36  dms
-
-       * src/modules.pl: removed two debugging lines or so
-
-2000-09-13 21:19  dms
-
-       * src/Modules/Debian.pl: Removed fixNonUS; added a hack for no contents file for woody non-US i386 at least.
-
-2000-09-13 21:03  dms
-
-       * src/core.pl: bot: spit out memory change messages in DCC CHAT. TODO: DCCBroadcast should allow userflag arg.
-
-2000-09-12 23:33  dms
-
-       * src/Modules/Topic.pl: Another regex topic fix
-
-2000-09-12 23:12  dms
-
-       * src/db_mysql.pl: Fixed up stub dbGetRowInfo
-
-2000-09-10 22:40  dms
-
-       * src/logger.pl: was opening sql debug file for read, not write. typo
-
-2000-09-10 01:09  dms
-
-       * src/IRC/Schedulers.pl: changed verb level from 2 to 1 for seenFlush
-
-2000-09-10 00:36  dms
-
-       * src/IRC/Schedulers.pl: debug for seenflush
-
-2000-09-10 00:30  dms
-
-       * files/sample.config: SQLDebug line
-
-2000-09-10 00:28  dms
-
-       * src/modules.pl: forgot to set module age if successfully loaded. split reloadModules into reloadAllModules and reloadModule. &reloadModule() now called by loadMyModule()
-
-2000-09-10 00:24  dms
-
-       * src/logger.pl: supressed subroutine redefined warning. Added sql debug support (open/close)
-
-2000-09-10 00:19  dms
-
-       * src/db_mysql.pl: Added sql debug support (print)
-
-2000-09-10 00:16  dms
-
-       * src/Modules/UserDCC.pl: fixed/added global factoid SAR
-
-2000-09-09 22:41  dms
-
-       * src/Modules/Topic.pl: fixed regex line, founded by Flugh
-
-2000-09-06 23:00  dms
-
-       * src/Factoids/Update.pl: minor change
-
-2000-09-06 22:59  dms
-
-       * src/logger.pl: 'use strict' issue
-
-2000-09-06 22:57  dms
-
-       * src/Modules/UserDCC.pl: global SAR. only avail to +n and DCC.
-
-2000-09-06 22:56  dms
-
-       * src/core.pl: fixed due to changes. (re: Flugh)
-
-2000-09-05 23:47  dms
-
-       * scripts/: dbm2mysql.pl, mysql2txt.pl, setup_tables.pl,
-       setup_users.pl, txt2mysql.pl: forgot to update these files in the root dir overhaul
-
-2000-09-05 01:55  dms
-
-       * scripts/setup_users.pl: fixed up a bit
-
-2000-09-05 01:28  dms
-
-       * src/logger.pl: stupid typo (carelessness) on my behalf
-
-2000-09-01 22:21  dms
-
-       * src/UserExtra.pl: debug info for ircstats hash list
-
-2000-09-01 22:19  dms
-
-       * src/IRC/IrcHooks.pl: added disconnect and connect stats, just debug info for now
-
-2000-09-01 21:18  dms
-
-       * src/Modules/Topic.pl: prevent dupes to be added; added debugging info if bot is not permitted to add topics (+t/-o).
-
-2000-09-01 20:58  dms
-
-       * src/IRC/Schedulers.pl: ircCheck now checks @joinchan for chans left to join, but should never happen.
-
-2000-09-01 20:56  dms
-
-       * src/Modules/Debian.pl: debian: fixed broken files for woody's non-US
-
-2000-08-31 22:45  dms
-
-       * src/CommandStubs.pl: lame warning fix for babel
-
-2000-08-31 22:41  dms
-
-       * src/logger.pl: forgot a )
-
-2000-08-30 21:33  dms
-
-       * src/Modules/Uptime.pl: Added catch just in case if forked
-
-2000-08-30 21:14  dms
-
-       * src/Shm.pl: changes due to Debian.pl
-
-2000-08-30 21:12  dms
-
-       * src/Modules/Debian.pl: minor changes, removed 'slink', changed 'stable' for 'potato'
-
-2000-08-30 21:09  dms
-
-       * src/Factoids/Update.pl: added debugging info for '.,' and '.,' problems
-
-2000-08-30 20:42  dms
-
-       * src/logger.pl: added $forkedtime, for debugging
-
-2000-08-30 20:19  dms
-
-       * src/CommandStubs.pl: preliminary command hook support added
-
-2000-08-20 22:17  dms
-
-       * src/Modules/UserDCC.pl: closed 17554 -- re-add part/leave to DCC CHAT only
-
-2000-08-20 21:58  dms
-
-       * src/Modules/Debian.pl: we don't stop if debianDownload fails unless none of the files exist locally
-
-2000-08-20 21:46  dms
-
-       * src/Modules/Debian.pl: shouldn't recursively call sP
-
-2000-08-20 21:33  dms
-
-       * src/Misc.pl: double fork -> VERB(2), minor cosmetics
-
-2000-08-20 21:28  dms
-
-       * src/IRC/IrcHooks.pl: if statement of seen swapped.   DCC CHAT close ignored if forked.
-
-2000-08-20 21:25  dms
-
-       * src/Factoids/Reply.pl: added randnick
-
-2000-08-20 21:24  dms
-
-       * src/Modules/Debian.pl: check for stality in sP()
-
-2000-08-19 20:10  dms
-
-       * files/sample.config: closed 17225 -- result of fixed bug
-
-2000-08-19 19:24  dms
-
-       * src/: User.pl, IRC/IrcHooks.pl: closed 17225 -- seen only stores addressed messages. Also moved seen code from User.pl to IrcHooks.pl
-
-2000-08-19 18:44  dms
-
-       * src/Modules/Topic.pl: closed 17447 -- 'topic info' should give more info
-
-2000-08-15 19:27  dms
-
-       * src/Misc.pl: warning (typo) fixed
-
-2000-08-15 19:26  dms
-
-       * files/sample.config: deprecated weather option/feature removed
-
-2000-08-15 19:24  dms
-
-       * src/IRC/Schedulers.pl: ircCheck(): added full path for ipcs,ipcrm
-
-2000-08-15 19:21  dms
-
-       * src/IRC/IrcHooks.pl: on_disconnect schedules ircCheck*( for 1800s
-
-2000-08-12 20:45  dms
-
-       * src/UserExtra.pl: don't prevent wantnick from working in any case
-
-2000-08-12 20:43  dms
-
-       * src/IRC/Schedulers.pl: Added getNickInUse()
-
-2000-08-12 20:42  dms
-
-       * src/IRC/IrcHooks.pl: on_nick_taken calls getNickInUse() now
-
-2000-08-12 20:41  dms
-
-       * src/logger.pl: use getPath() for create logdir for openLog()
-
-2000-08-12 20:38  dms
-
-       * src/Misc.pl: typo for file in loadHelp() ... added getPath() for openLog()
-
-2000-08-11 21:28  dms
-
-       * src/Factoids/Update.pl: closed 17031 -- Fix up appending to factoids
-
-2000-08-11 21:21  dms
-
-       * src/Factoids/: Reply.pl, Update.pl: closed 17187 -- <factoid> are also <info>' doesn't work...   also removed mailto:
-
-2000-08-11 21:10  dms
-
-       * src/Modules/Math.pl: closed 17344 -- Maths.pl is borked in a way
-
-2000-08-11 20:53  dms
-
-       * src/IRC/IrcHooks.pl: close 17091 completely... fix up on_nick IRC hook
-
-2000-08-11 20:48  dms
-
-       * src/IRC/Schedulers.pl: closed 17091 -- chaninfo stats inconsistent after time
-
-2000-08-11 20:11  dms
-
-       * src/modules.pl: Fixed problem with loadMyModules() caused by delForked()
-
-2000-08-11 20:10  dms
-
-       * src/Modules/W3Search.pl: closed 17379 -- W3Search.pl gives duplicate output
-
-2000-08-04 23:19  dms
-
-       * src/Factoids/Statement.pl: at -> mailto remnants from stock infobot removed
-
-2000-08-03 22:19  dms
-
-       * src/logger.pl: status did not print output if config file was not loaded. Fixed by initializing VERBOSITY to 1
-
-2000-08-03 22:11  gmlb
-
-       * INSTALL.patches: Readme update.
-
-2000-08-03 21:53  dms
-
-       * src/Modules/Kernel.pl: forgot about blootbot -> bot
-
-2000-08-03 01:04  gmlb
-
-       * INSTALL.mysql, INSTALL: Fixed some documentation typOs. (in the install docs)
-
-2000-08-01 21:41  dms
-
-       * src/CommandStubs.pl: userinfo had wrong argument # set
-
-2000-07-31 22:57  gmlb
-
-       * infobot:
-       Removed old infobot. We are now using blootbot as the main script
-
-2000-07-31 22:37  dms
-
-       * src/: IRC/Irc.pl, IRC/IrcHooks.pl, IRC/Schedulers.pl,
-       Modules/Countdown.pl, Modules/Factoids.pl, Modules/Freshmeat.pl,
-       Modules/Kernel.pl, Modules/Units.pl, Modules/Uptime.pl,
-       Modules/Wingate.pl, Modules/babel.pl: cvs commit borked, continuing
-
-2000-07-31 22:31  dms
-
-       * AUTHORS, INSTALL, README, blootbot, doc/old/TODO,
-       files/blootbot.help, files/blootbot.ignore, files/blootbot.lang,
-       files/blootbot.lart, files/blootbot.randtext, files/blootbot.users,
-       files/ircII.servers, files/sample.config, scripts/botchk.sh,
-       scripts/dbm2mysql.pl, scripts/insertDB.pl, scripts/mysql2txt.pl,
-       scripts/setup_tables.pl, scripts/setup_users.pl,
-       scripts/txt2mysql.pl, src/Misc.pl, src/Process.pl, src/core.pl,
-       src/modules.pl, src/Factoids/Question.pl, src/Factoids/Reply.pl,
-       src/Factoids/Statement.pl, src/Factoids/Update.pl: Changed $infobot_ to $bot_
-       Changed infobot to blootbot where needed
-       Renamed *infobot* to *blootbot*
-
-2000-07-31 20:47  dms
-
-       * src/logger.pl: Added functionality to cycle all logs if exceeds specified size
-
-2000-07-31 20:33  dms
-
-       * src/: CommandStubs.pl, UserExtra.pl, Modules/Topic.pl: changed NOREPLY to dollar noreply
-
-2000-07-31 20:10  dms
-
-       * src/Modules/UserDCC.pl: send DCC message when using 'op'
-
-2000-07-30 08:33  gmlb
-
-       * doc/README_TODO: Added README_TODO. It contains important info on the TODO list. READ!
-
-2000-07-30 08:01  gmlb
-
-       * doc/: BUGS, Connection.pm, EXAMPLES, FAQ, Google.pm, TODO, USAGE,
-       mysql.txt, notes.txt, pgsql.txt: Removing old doucments in /doc. They are archived in /doc/old. The newest documents will be on the website. See /doc/README_NOW for more information.
-
-2000-07-30 07:56  gmlb
-
-       * doc/old/: BUGS, Connection.pm, EXAMPLES, FAQ, Google.pm, TODO,
-       USAGE, mysql.txt, notes.txt, pgsql.txt: Moving documentation to /doc/old
-
-2000-07-30 07:51  gmlb
-
-       * doc/README_NOW: Adding README_NOW. Please read it, as it contains very important DOC information
-
-2000-07-30 07:02  blootbot
-
-       * AUTHORS: Updated personal info in AUTHORS file. Must talk to XK about title :)
-
-2000-07-30 00:11  dms
-
-       * AUTHORS, patches/Connection.pm, patches/Google.pm: new/moved files
-
-2000-07-30 00:09  dms
-
-       * INSTALL.patches, README, doc/USAGE, doc/modules.txt,
-       files/sample.config, scripts/backup_table-slave.pl, src/Files.pl,
-       src/Misc.pl, src/Net.pl, src/Shm.pl, src/UserExtra.pl, src/core.pl,
-       src/db_dbm.pl, src/db_mysql.pl, src/db_pgsql.pl, src/logger.pl,
-       src/modules.pl, src/Factoids/DBCommon.pl, src/Factoids/Update.pl,
-       src/IRC/Irc.pl, src/IRC/IrcHooks.pl, src/IRC/Schedulers.pl,
-       src/Modules/Countdown.pl, src/Modules/Debian.pl,
-       src/Modules/DebianExtra.pl, src/Modules/Dict.pl,
-       src/Modules/DumpVars.pl, src/Modules/Factoids.pl,
-       src/Modules/Freshmeat.pl, src/Modules/Kernel.pl,
-       src/Modules/RootWarn.pl, src/Modules/Slashdot3.pl,
-       src/Modules/Topic.pl, src/Modules/Uptime.pl,
-       src/Modules/UserDCC.pl, src/Modules/UserInfo.pl,
-       src/Modules/Wingate.pl: changed email address
-
-2000-07-28 23:26  dms
-
-       * files/infobot.config, files/sample.config, src/core.pl: loadConfig to spurt out correct message when infobot.config does not exist on fresh install
-
-2000-07-28 23:11  dms
-
-       * MrInfo.uptime: delete stale files not needed for fresh installation
-
-2000-07-28 00:59  blootbot
-
-       * ChangeLog: Added a line to ChangeLog. I hope to keep this more uptodate and start documentatio. -GmLB
-
-2000-07-28 00:10  blootbot
-
-       * INSTALL, INSTALL.dbm, INSTALL.mysql, INSTALL.patches,
-       INSTALL.pgsql, README, infobot, ChangeLog, MrInfo.uptime, doc/BUGS,
-       doc/Connection.pm, doc/EXAMPLES, doc/FAQ, doc/Google.pm, doc/TODO,
-       doc/USAGE, doc/modules.txt, doc/mysql.txt, doc/notes.txt,
-       doc/pgsql.txt, files/infobot.config, files/infobot.help,
-       files/infobot.ignore, files/infobot.lart, files/infobot.users,
-       files/ircII.servers, files/sample.countdown,
-       patches/Net::IRC.patch, patches/WWW::Search.patch,
-       scripts/backup_table-master.sh, scripts/backup_table-slave.pl,
-       scripts/botchk.sh, scripts/dbm2mysql.pl, scripts/dbm2txt.pl,
-       scripts/fixbadchars.pl, scripts/insertDB.pl, scripts/makepasswd,
-       scripts/mysql2txt.pl, scripts/oreilly_dumpvar.pl,
-       scripts/oreilly_prettyp.pl, scripts/parse_warn.pl,
-       scripts/setup_tables.pl, scripts/setup_users.pl,
-       scripts/showvars.pl, scripts/txt2mysql.pl, scripts/vartree.pl,
-       scripts/webbackup.pl, files/infobot.randtext, files/infobot.lang,
-       files/sample.config, files/sample.insert, files/unittab,
-       src/CommandStubs.pl, src/Files.pl, src/Misc.pl, src/Net.pl,
-       src/Process.pl, src/Shm.pl, src/User.pl, src/UserExtra.pl,
-       src/core.pl, src/db_dbm.pl, src/db_mysql.pl, src/db_pgsql.pl,
-       src/interface.pl, src/logger.pl, src/modules.pl, src/IRC/Irc.pl,
-       src/IRC/IrcHooks.pl, src/IRC/Schedulers.pl,
-       src/Modules/Countdown.pl, src/Modules/DNS.pl,
-       src/Modules/Debian.pl, src/Modules/Dict.pl,
-       src/Modules/Freshmeat.pl, src/Modules/Kernel.pl,
-       src/Modules/Quote.pl, src/Modules/RootWarn.pl,
-       src/Modules/Search.pl, src/Modules/Slashdot3.pl,
-       src/Modules/Topic.pl, src/Modules/Units.pl, src/Modules/Uptime.pl,
-       src/Modules/UserInfo.pl, src/Modules/W3Search.pl,
-       src/Factoids/DBCommon.pl, src/Factoids/Norm.pl,
-       src/Factoids/Question.pl, src/Factoids/Reply.pl,
-       src/Factoids/Statement.pl, src/Factoids/Update.pl,
-       src/Modules/DebianExtra.pl, src/Modules/DumpVars.pl,
-       src/Modules/Factoids.pl, src/Modules/Math.pl,
-       src/Modules/UserDCC.pl, src/Modules/Wingate.pl,
-       src/Modules/babel.pl, src/Modules/insult.pl,
-       src/Modules/nickometer.pl:
-       Trying to add 1.0.0. I hope it works. --GmLB
-
-2000-07-28 00:10  blootbot
-
-       * INSTALL, INSTALL.dbm, INSTALL.mysql, INSTALL.patches,
-       INSTALL.pgsql, README, infobot, ChangeLog, MrInfo.uptime, doc/BUGS,
-       doc/Connection.pm, doc/EXAMPLES, doc/FAQ, doc/Google.pm, doc/TODO,
-       doc/USAGE, doc/modules.txt, doc/mysql.txt, doc/notes.txt,
-       doc/pgsql.txt, files/infobot.config, files/infobot.help,
-       files/infobot.ignore, files/infobot.lart, files/infobot.users,
-       files/ircII.servers, files/sample.countdown,
-       patches/Net::IRC.patch, patches/WWW::Search.patch,
-       scripts/backup_table-master.sh, scripts/backup_table-slave.pl,
-       scripts/botchk.sh, scripts/dbm2mysql.pl, scripts/dbm2txt.pl,
-       scripts/fixbadchars.pl, scripts/insertDB.pl, scripts/makepasswd,
-       scripts/mysql2txt.pl, scripts/oreilly_dumpvar.pl,
-       scripts/oreilly_prettyp.pl, scripts/parse_warn.pl,
-       scripts/setup_tables.pl, scripts/setup_users.pl,
-       scripts/showvars.pl, scripts/txt2mysql.pl, scripts/vartree.pl,
-       scripts/webbackup.pl, files/infobot.randtext, files/infobot.lang,
-       files/sample.config, files/sample.insert, files/unittab,
-       src/CommandStubs.pl, src/Files.pl, src/Misc.pl, src/Net.pl,
-       src/Process.pl, src/Shm.pl, src/User.pl, src/UserExtra.pl,
-       src/core.pl, src/db_dbm.pl, src/db_mysql.pl, src/db_pgsql.pl,
-       src/interface.pl, src/logger.pl, src/modules.pl, src/IRC/Irc.pl,
-       src/IRC/IrcHooks.pl, src/IRC/Schedulers.pl,
-       src/Modules/Countdown.pl, src/Modules/DNS.pl,
-       src/Modules/Debian.pl, src/Modules/Dict.pl,
-       src/Modules/Freshmeat.pl, src/Modules/Kernel.pl,
-       src/Modules/Quote.pl, src/Modules/RootWarn.pl,
-       src/Modules/Search.pl, src/Modules/Slashdot3.pl,
-       src/Modules/Topic.pl, src/Modules/Units.pl, src/Modules/Uptime.pl,
-       src/Modules/UserInfo.pl, src/Modules/W3Search.pl,
-       src/Factoids/DBCommon.pl, src/Factoids/Norm.pl,
-       src/Factoids/Question.pl, src/Factoids/Reply.pl,
-       src/Factoids/Statement.pl, src/Factoids/Update.pl,
-       src/Modules/DebianExtra.pl, src/Modules/DumpVars.pl,
-       src/Modules/Factoids.pl, src/Modules/Math.pl,
-       src/Modules/UserDCC.pl, src/Modules/Wingate.pl,
-       src/Modules/babel.pl, src/Modules/insult.pl,
-       src/Modules/nickometer.pl: Initial revision
-
-v1.0.0 (20000725): bug fixes mainly.
-       - GmLB found that scripts/setup_*.pl didn't work. Fixed.
-       - Fixed warning in Modules/Uptime.pl for clean install.
-       - More fixes for scripts/*mysql*.pl from GmLB.
-       - Added command 'hex'.
-       - GmLB fixed mysql2txt.pl and txt2mysql.pl. You can now import and
-         export to inforbot 'factpacks'.-
-
-v1.0.0RC3 (20000720): bug fixes mainly.
-       - Debian.pl's infoPackages() now checks for incoming
-         automatically and shows the new file.
-       - irq/dan found the bot wouldn't run if a stale (invalid) pid
-         file exists. Fixed.
-       - Created &closeDCC(), &closePID()
-       - Added factoid SAR of (3-123) => 53
-
-v1.0.0RC2 (20000707):
-       - Ported back Berkerley DBM support. 95% of it works :)
-       - Also added pgSQL support.  Will not work out-of-the-box.
-       - Updated README.
-       - Fixed up 'modules.pl' a bit so if anything fails, it exits
-         gracefully.  Module reloading should work better now.
-       - DCC CHAT commands now must have '.' prepended otherwise all text
-         will me broadcasted to the dcc chat arena.
-       - Removed command 'part'.  Use 'kick' instead :)
-       - 'random|cookie' now takes argument to narrow down randomness.
-       - Merged 90% of MbM's@OPN modifications. Thanks.
-               => bug fixes here and there
-               => 'tell' fixed.
-               => checks for owner of factoids for delete/modify factoids
-       - Moved Factoids/db* to .
-       - Misc stuff here and there.
-
-v1.0.0RC1 (20000701):
-       - Added several hacks (run away fork) due to bot misbehaving.
-       - Added deop.
-       - Added ability to disable factoid support.
-       - Reorganized source tree to be more modular.
-               - Created dirs: IRC, Factoids.
-               - moved partial core.pl and PerlMod.pl to modules.pl
-               - renamed Modules.pl to CommandStubs.pl
-       - Added command 'cycle'.
-       - hardguy/max noted that insult was borked.  It wasn't converted
-         to the new fork format. Fixed but untested.
-       - Added 'ircstats' command. forgot about DisconnectReason
-       - Added to-expire-time on 'ignorelist'
-       - Forgot to clear %ignoreList on loading the list.
-       - moved 'ignorelist' from DCC-only to public/private msg.
-
-v1.0.0pre11 (20000601):
-       - we call &ircloop() if we want to reconnect. Any harm to perl?
-       - Wingate fixed yet again. maximum time for response is 6secs in
-         order to cache maximum number of hosts.
-       - Added ban() for Wingate.
-       - Forgot about virtual host support when changed over to Net::IRC
-       - process() still calls shmCycle() just in case.
-       - Added limit to how many random things we can have in a factoid
-         to prevent endless loops from occurring.
-       - All debian stuff now fully forks -- good.
-       - Failure on &loadMyModule() now deletes $forked{$label}.
-       - if instructed to join a channel "manually", tell who did it on
-         join.
-       - Debian module now searches woody's non-US properly. Misc fixes
-         here and there.
-       - Removed non-working mysql table locking code.
-       - Freshmeat.pl now uses LWP::Simple's getstore. How to load the
-         file on-the-fly?
-       - Looked at Modules-Reload and implemented idea in the bot.
-       - Forgot about flushing uptime in scheduler.
-       - Added unit conversion feature to bot, based on Units-Convert
-         package (at CPAN).
-       - Converted several scalars to hashes.
-       - Added slashdot,freshmeat and kernel announcements of new stuff.
-       - merged chanstats into one line, added top msg stats.
-       - Wingate now does intelligent on-the-fly caching and flushing to
-         a wingate file to prevent dupes. UNTESTED
-       - "find pident potato" now works after few mods/hacks :)
-       - ...
-
-v1.0.0pre10 (20000523):
-       - Fixed minor problems in Debian.pl, I hope.
-         => DebianDownload now calls generateIndex() if a download is
-               successful.
-         => More clean ups.
-         => generateIncoming() forgot about checking stale of idxfile.
-       - Modules in Modules/* now dynamically loaded. Using about ~200k
-         less ram now.
-       - Added support of user modes with param{ircUMODE}. Requested by
-         Flugh.
-       - hookMsg modified, we don't check ignore list if we're not
-         addressed or minvollength is defined. flooding is now
-         configurable by repeated message and total message, expire time
-         and count, like eggdrop.
-       - nickometer didn't reset the score. noticed by greycat+others.
-       - &setupScheduler() scheduler is only called once.
-       - UIS now supports proper locking and lock check.
-       - verifyUser didn't set userHandle to 'default' if not found.
-       - Added factoid reply support of '(blah1|blah2)?'
-       - Added 'FAQ'.
-       - Added DebianExtra.pl module to list bugs. a hack and ugly!
-       - Finally fixed list of old topics in Topic.pl, courtesy of mux
-         and nicholas_.
-       - Removed usage of quotemeta, replaced with \Q\E pair for regex.
-       - Included patches to modify stock-brokeness of perl modules.
-         'cd /usr/lib/perl5; cat *.patch| patch -p0'
-       - Setup option whether to cache user online stats. Disabling will,
-         for sure, won't bloat the bot by 2-4megs (but why that much?).
-
-v1.0.0pre9 (20000512):
-       - Typo for outsider checking. Noticed when #debian flooder came
-         back yet again :)
-       - seenCycle was in minutes instead of days. fixed.
-       - Added User Information Services module. requested by Flugh.
-               => 'uinfo <nick>'
-               => 'uinfo set <type> <what>'
-               => 'uinfo unset <type>'
-       - Added &IsNickInAnyChan($nick);
-       - Added &DCCBroadcast($txt) to broadcast messages to all members
-         of DCC CHAT.
-       - &say() now changes '0' to 'zero' due to Net::IRC bug.
-       - Added &GetNickInChans($nick);
-       - Merged fooz's wingate scanner.
-       - Added 'ignoreAutoExpire' to differentiate time for ignore due to
-         flooding instead of 'ignore' through DCC CHAT.
-         => remove time for 'ignore' through DCC CHAT?
-       - Added &debianCheck() to check state of gzip'd files.
-       - ...
-
-v1.0.0pre8 (20000505):
-       - usual backlash from upgrade.
-       - added 'useStrict' option to infobot.config.
-       - added 'reload', to reload Core and Extras Modules. Does it
-         reload only if the file has changed?
-       - added preliminary (debug) code for ftpGet() for truncated
-         downloads. regetting will be added soon afterwards.
-       - minor fix for Debian.pl where a package exists but an
-         incomplete Packages file may not have info on that package.
-       - Modified on-the-fly ignore to be temporary. temporary ignore
-         requested by jCommons.
-       - added 'factstats requester'.
-       - preliminary use of scheduler for &checkPing() in &on_init().
-               no event hook on 'pong' :(((
-       - Timers now use Net::IRC's scheduler, woohoo. Nice change over.
-         Moved ProcessExtras.pl to Schedulers.pl.
-       - Added 'factstats deadredir'.
-       - Don't prevent auto-reconnecting due to disconnection.
-       - Forgot initialization before any new IRC connection.
-       - Added scheduler for checking IRC connection.
-       - Fixed problem in Freshmeat module, if forked to download, would
-         not continue with query. => now it does, nice hack.
-       - Debian module should generate incoming index if does not exist.
-       - Chatting can be done through DCC CHAT.
-       - ...
-
-v1.0.0pre7 (20000426):
-       - INSTALL and README updated.
-       - auto-request for ops after joining all channels instead of after
-         each channel join.
-       - If factoid is requested by someone, show literally (no
-         evaluation) if owner of factoid matches aswell as if requested
-         privately(good idea?)
-       - on_notice fixed and debugging info removed.
-       - Added reconnect on HUP if we're not connected. I hope that it is
-         set to 0 otherwise this solution is dead.
-       - ';' added as address char.
-       - maths bug found by NoNix4.
-               eg: 6000.0/9.000 - 6.000/9.000 - 666.00001
-       - nickometer bug (pi not defined) found by ddent. 'strict' cleanup.
-       - Preliminary CLI code included. Good for local use.
-       - typo in Topic.pl, found by jCommons. Fix for NULL topic.
-       - minor Debian.pl update to deal with 'missing files' on download.
-       - multi-shmwrite support added. looks like it doesn't "refresh"
-         the value properly if written many times.
-       - &verifyUser() only used if addressed.
-       - Applied 'use strict' to all code. Also used 'use vars qw()'.
-       - Added 'backlog #' to DCC CHAT. requested by jCommons.
-       - ctcp version reply wrong; FIXED. found by fooz.
-
-v1.0.0pre6 (20000407):
-       - README updated.
-       - Added retry on failure to reconnect through on_disconnect();
-         REMOVED -- this spun an endless loop.
-       - Found why Googling didn't work. See README for fix.
-       - Forgot about channel casing bugs (on_{join|part}) after
-         changeover to Net::IRC.
-       - Changed addForked() to cycle through fork list and delete stale
-         forks in case a forked child dies unexpectedly.
-       - Renamed allowOutsiders to disallowOutsiders just in case if the
-         option is removed from the configuration.
-
-v1.0.0pre5 (20000331):
-       - setup_users.pl. DBI*() => sql*().
-       - 'topic add BLAH' on empty topic would bork. Why didn't I pick
-         this up before?
-       - Somehow I removed (or it wasn't there) 'my @results' from
-         searchTable();
-       - nickometer now uses loadPerlModule()... another 500 kB saved :)
-       - repeat flood detection prevention added.
-       - Added el-cheapo hash key counter... possible leak detector.
-       - Added 'factstats lame' for short and most probably stupid
-         factoids.
-       - Weather module removed
-       - Renamed 'join' to 'joinchan' to due warning//conflict raised
-         with perl 5.005 (on potato not slink).
-       - Disabled syscall (removes 300 kB on slink, 3megs on potato)
-
-v1.0.0pre4 (20000323): pseudo AutoLoader support.
-       - 'infobot' now first loads core.pl and logger.pl.
-       - timerExpire() fixed.
-       - Added unique maintainer count to 'dstats'.
-       - Added demand-on-load of external perl modules. Now we need
-         dynamic(on demand) loading of 'Modules/*.pl' modules ;)
-
-v1.0.0pre3 (20000319):
-       - Fixed Freshmeat.pl not to show duplicate packages found by
-         'name' and 'oneliner' search. Made showPackage() function.
-       - Debian modules now does multi distro. (woody's non-us appears to
-         be different structure so does not work :(, very crude hack...
-         may not even work).
-       - Added subfactoid randomising. eg: '(one|two|three)'.
-       - 'dauthor' now works!
-       - karma fixed... used the wrong var name.
-       - Fixed doubling of text when message from 'nick' is ignored.
-       - Added 'redir' to designate one factoid as master and duplicates
-         as redirectors//slaves.
-       - Added addressing recognition character(s) support. eg "!status".
-       - Seen info now cached and flushed at intervals or upon exiting.
-       - Added 'EXAMPLES' file to doc/.
-       - Removed ancient '&channel()'.
-       - Bug fixes after offshore installation of bot.
-       - Debian output of 'info' fixed. looks like 'fm', heh.
-       - Debian distro stats added. I'm competing with larne and his mods
-         to dpkg@OPN#debian :) so far so good.
-       - Forgot to close shm upon exit, heh :) However this does not
-         prevent leakage when the bot crashes.
-       - Parameter 'forking' now works, courtesy of generic &Forker()
-         function, woohoo! Now we use &Forker() for _everything_.
-         I had this in the todo list, removed it and decided to implement
-         it once and for all.
-       - More bug fixes when moved changes to 'apt'. Several "bug
-         reports" sent from #debian, thanks!
-       - Moved infobot communications _after_ ignore checking code.
-       - babelfish changed format? disabled for the time being.
-       - ...
-
-v1.0.0pre2 (20000310): BETA TEST RELEASE
-       - Hacked multiple mysql connection support in.
-       - Renamed DBI to SQL, including functions.
-       - Added $ishost.
-       - Added backup scripts to create and mirror tables.
-       - listauth fixed.
-       - Added parse_warn.pl to decipher warn messages from logs.
-       - shm* now works. no more fork floods ;)
-       - Applied fork protection on all forking modules.
-       - Dict feature now supports specific retrival of definition,
-         however, default is still random.
-       - Debian feature now supports multiple sub distributions. This can
-         be further extended to architecture (perhaps easily).
-       - Added (but commented) larne's regex for debian search.
-       - Added &hasParam() to include notification that a feature
-         (command) requested is disabled in configuration.
-       - Added dumping of memory stats.
-       - Fixed broken timerExpire().
-       - Added auto shutdown of bot if too much ram is used.
-       - Modified seen feature, set to off by default.
-               - UPDATE: fixed, about time.
-       - Improved parse_warn.pl to be like "diff".
-       - Dollar variable addition?? suggestions by ddent.
-       - 'factstats dupe' now ignores '<REPLY> see'.
-               - UPDATE: fixed.
-       - Added random factoid timer.
-       - Don't redownload file via getFTP() if local and remote sizes are
-         the same.
-       - Added $count{'Dunno'} for unanswered questions.
-       - Fixed 'blah is also or' since we didn't allow 'or'.
-       - Added 'factstats redir' to display factoid redirections.
-       - Grep nick from list of nicks in IsNickInChan(). Bug found by
-         Mercury.
-       - Time taken and final xfer rate displayed in FTP.
-       - Fixed bug where 'or' is eval'd in Math.pl. Return '' if eval()
-         is not done. Bug found by dent.
-       - Added 'factstats redir' to list working and non-working
-         redirected (symlink) factoids.
-       - cmdstats now sorted by highest->lowest usage.
-       - ...
-
-v1.0.0pre1 (20000130):
-       - Mostly converted to Net::IRC, quite nice, like the dbm to mysql
-         change over :)
-       - Removed IrcHooks.pl and CTCP.pl.
-       - Moved hooks stuff to IrcHooks.pl.
-       - Moved IrcExtras.pl to Irc.pl.
-       - Removed ansi_control option. colors can be stripped within
-         &status() anyway, like for logging.
-       - Added DCC CHAT and DCC SEND support base.
-               - DCC SEND: null file. due to fork()? Fixed anyway.
-               - DCC CHAT: person's responsibility to close DCC CHAT.
-
-v0.99pre12 (20000125):
-       - Added intelligent flood protection and removed factoid
-         repetition prevention.
-       - Modified Math.pl...
-       - Unified tell code in Process.pl.
-       - Moved variable fix and addresing code to IrcHooks.pl
-       - Moved tell code from Question.pl to UserExtra.pl.
-       - Found that % and \ were double backslashed; added it to invalid
-         factoids. May have been caused by whoever unbacked up 'apt',
-         cerb? :) May want to add a function to automatically fix badly
-         formed factoids.
-       - Added 'factstats profanity', with &hasProfanity($str).
-       - Added functions for shared memory usage.
-         Uses: prevent exploitation of forked processes.
-       - Added 'factstats unrequested'.
-       - stale variables (vhost_name) forgotten in changeover.
-       - UPDATE:
-       - Fixed major leak with cycling of flood messages, typo :)
-
-v0.99pre11 (20000123):
-       - Fixes here and there...
-       - Debian find now searches Package names. Fallback automatically
-         to contents file search.
-       - Fixed typo related to log cycling.
-       - Added netsplit detection code.
-       - Started DCC support... very early stages.
-       - Replaced several 'foreach' statements with 'if' for efficiency.
-         About 5 instances of code...
-       - Debian contents search ignores man pages (unless search string
-         obvious for man page). Suggested by sgore.
-       - 'factstats locked' returns list instead of only count.
-       - &DoModes() bug found by larne.
-       - Used '$nick' instead of 'lc $nick' for $channels.
-         Found by larne.
-
-v0.99pre10 (20000119):
-       - Fixed bugs found when moved code to 'apt':
-               - added '^' and '|' to $isnick.
-               - removed 'local' and 'my' for some global vars.
-               - Typos of some variable names.
-               - More typos.
-       - Debian.pl contents search is better now.
-               - UPDATE: made changes suggested by greycat.
-               - Added Packages query now...
-       - Added &getRandomLineFromFile()
-       - Added LART, random text, Channel limit adjuster.
-               TODO => Wingate checker (NOT COMPLETED)...
-       - Added &iseq() and &isne().
-       - Help info is not cached any more => loaded each time help() is
-         called.
-       - Added %timer hash, timestamp when something was last done. The
-         hash name is incorrectly named, eh?
-       - Moved parts of Process.pl to ProcessExtra.pl.
-       - Moved parts of User.pl to UserExtra.pl.
-       - Moved myRoutines.pl to UserExtra.pl.
-       - Moved Extras.pl to Modules.pl.
-       - Removed fortran math due to poor code style.
-       - Moved parts of Question.pl to UserExtra.pl.
-
-v0.99pre9 (20000115):
-       - Added messagecount column for 'seen'. Not used as yet. It
-         appears to be pointless, yes?
-       - Cleaned up DBI.pl: made use of $dbh->quote(); added
-         &DBIRawReturn(), &DBIInsert(), &DBIUpdate().
-       - Forgot to clear $tell_obj after successful 'tell'. Founded by
-         solomon.
-       - Extra modules loaded only if enabled in config, may save some
-         ram.
-       - Math.pl cleaned up.
-       - Added DumpVars.pl, now we know where things are being leaked.
-               - Removed duplicate 'use IO::Socket'.
-       - Typo in "disabled" locking code which didn't work :) Founded by
-         washort.
-
-v0.99pre8 (20000110):
-       - Bailout if critical configuration variables are not found.
-       - Dict.pl works well now.
-       - Topic.pl now uses %topic or @topic. Added 'topic info' which
-         contains who and time info. How does @{$hash{$key}} work?
-       - Used 'use diagnostics;'. Fixed most warnings.
-       - Added &WARN().
-       - Minor typo in &IsInvalid() on last statement, heh.
-       - Fixed (DAILY) logging, finally. Was broken too many times.
-       - Added &getLineFromFile() for debugging purposes. BROKEN
-       - Added Debian search-engine frontend => Debian.pl.
-         UPDATE: forget mysql, takes too long.
-       - Added Countdown => Countdown.pl.
-       - Made use of 'unless' instead of 'if !'.
-       - Added &DBIRaw().
-       - Addressing required on all commands.
-       - Added &fixFileList() to simplify files with common directories.
-               - RevHippie stumped me with the best method to write this,
-                 heh. Why do I always try to do things in 1 loop instead
-                 of 2 loops?
-
-v0.99pre7 (19991230):
-       - Renamed some setup/DBI calls.
-       - Simplified nickserv/chanserv code. chanserv opping may break
-         though. Experimentation?
-       - Fixed broken stuff scripts/* due to src/* modification.
-       - Added table locking support. BROKEN.
-       - param{'ident'} deprecated.
-       - Removed param{'dbname'}, please rename the main table (with
-         factoids) to factoids.*
-       - Added ircII.servers support.
-       - Fixed infobot, Setup.pl and Files.pl.
-       - Freshmeat.pl fixed. Set the update time _before_ we update.
-       - Added factoid renaming. "rename 'from' 'to'".
-       - Added DBISetRow() for first time inserts, for Freshmeat.
-         Removed (rather used raw) use of fixmysqlbug for DBISetRow()
-       - Added 'seen random'; fixed randKey to work with 'seen'.
-       - Added preliminary code for whatis frontend.
-       - Added SIGHUP code for $SIG{HUP}.
-       - Added more error protection in DBI.pl.
-       - Moved logDate logging support to &status@Misc.pl.
-       - Confirmed logging does not duplicate from child any more.
-       - Added 'partialdupe' (not recommended) and '2long' to
-         &FactStats();
-       - ...
-
-v0.99pre6 (19991223):
-       - Dict now fixed, courtesy of RevHippie and myself.
-       - Applied patch from RevHippie.
-               - Removed auto continuation code.
-               - Fixed learn =~ /HUNGRY/;
-               - Added $talkok and $learnok.
-       - Removed $param{'nick'} in favour of $ident. Added $safeIdent for
-         regex and made use of it.
-       - Moved Help.pl, Ignore.pl, Params.pl and part of User.pl to
-         Files.pl.
-       - Removed Internic.pl and Traceroute.pl.
-       - Fixed $isnick, renamed and fixed &purifyNick(). Added nick
-         compliancy checks when connecting to IRC server.
-       - Rewritten 'spell' code.
-
-v0.99pre5 (19991220): bug fix release.
-       - setupmysql.pl, slightly different for potato.
-       - dbm2mysql.pl
-       - performReply(), removed $trailing. FIX LATER.
-       - Freshmeat.pl, forgot about &main::, again.
-       - logType, broken date value.
-       - Fixed broken 'tell blah about what', readded $answer var.
-       - minLengthBeforePrivate superseeds preferReply.
-       - Forgot to use 'my' on three instances of $sth.
-
-v0.99pre4 (19991219):
-       - Added 'dupe' for factstats.
-       - Added illegal character detection in Statement.pl.
-       - Unified output (and duplication) of factstats (and other) code
-         to use one function, &formListReply(). Reduced code by at least
-         2k :)))
-       - Minor modifications to &DBIGetCol();
-       - Move +s flag to 'set search' in infobot.config.
-       - Altered talkMethod to allow 'private' or 'default'. Made no
-         sense to have it on public-only, heh.
-       - friendlyBots will be kept to be compatible with other stock
-         infobots but soon enough multiple mysql database support will be
-         added. Will be quite nice once done.
-       - Added maxListReplyCount and maxListReplyLen. Read infobot.config
-         for details.
-       - Replaced $refresh with freshmeatRefreshInterval to config.
-       - Changed learn setting from ALWAYS to HUNGRY.
-       - Reorganised Extras.pl, we shouldn't bail out if the command
-         can be disabled as the person who runs the bot should have
-         brains.
-       - Moved some Process.pl stuff to myRoutines.pl.
-       - ---
-       - &searchBy*() allows ^ and $, like in regex (basically sar'd).
-         removed $notexact variable.
-       - Fixed 'no,blah is blah' bug.
-       - Changed 'is also' char to ';;'.
-       - Added &IsInvalid(); to unify Statement (when creating) and
-         factstats/broken (when checking/verifying). Works like a charm
-         :)))
-       - Removed sane stuff; added infobot.ignore. I hope lenzo's
-         ignoreList code works.
-       - Fixed setupmysql.pl
-       - Moved repeatIgnoreInterval to minRepeat*Reply where * is Private
-         or Public.
-       - Now preferReply works. Wasn't hard as it first looked.
-       - Added global '+' flag support.
-       - Fixed logging: added logType param; if logType =~ /DAILY/, new
-         log is created daily. Date is time-of-day, aswell.
-       - added &fixMySQLBug() => adds backslash to special chars.
-
-v0.99pre3 (19991216):
-       - Fix connection bug where if host does not resolve, it appears
-         that it's connection refused. Now non-resolving hosts are
-         detected earlier. Found by some *.it (or .es??) guy.
-       - Added 'sync in #s' when the bot has joined a channel... just
-         like in BitchX.
-       - Added txt2mysql.pl.
-       - Removed instances of '^\s*' to '^' since $message can be
-         manipulated in Process.pl.
-       - Fixed Statement.pl so that it doesn't catch queries... it's a
-         stupid idea any way.
-       - Removed 'confused' in favour of 'dunno'.
-       - Funny hack in performReply(). Stupid but it works.
-       - Added 'host' column in seen table.
-       - Made use of &gettimeofday() for freshmeat and search function.
-
-v0.99pre2 (19991213):
-       - Made use of new database (directory) not to interfere with other
-         crucial dbs.
-       - Re-added &getKeys(), mysql's RLIKE wouldn't like "'" in the
-         statement. If several of similar queries are required, better
-         off using &getKeys().
-       - Added two more conversion scripts.
-
-v0.99pre1 (19991211): personal release. MAJOR CHANGES.
-       - create a script to add the blootbot user to the mysql server and
-         prepare tables for use with the bot.
-       - butchered Question.pl, Reply.pl, Statement.pl and Reply.pl.
-       - main factoid db ported over; barely tested.
-       - seen ported over; appears to work.
-       - karma ported over; not tested at all.
-       - freshmeat ported over; fix brokeness.
-       - search (listvals and listkeys) ported over.
-       - rootwarn ported over.
-
-       - Use quotemeta in DBI.pl on special chars, especially ' :)
-       - Added factstats 'broken' function.
-       - Made use of multiple connections to avoid clashing... does
-         clashing only occur when there's an INSERT/UPDATE or SELECT or
-         both?
-       - Changed $factoid to $faqtoid... good idea? how about $lhs?
-       - Changed getKeys to countKeys to take advantage of mysql.
-       - Added randKey to get random primkey,key from table.
-       - Removed process() when msgType == 'public action'. Why would we
-         want to care about actions anyway?
-       - Fix public action; Added private action to &status().
-       - Added &ERROR();
-       - Made message and who flooding independent in IrcHooks.pl. Now we
-         use %flood... should be expanded to use %ignoreList;
-
-       NOTES...
-       - DBI.pl has more functions than what DBMExtra.pl had in order to
-         implement a table-like hash list.
-       - &DBISet() always verifies if an entry already exists and does an
-         UPDATE instead of an INSERT... flaw in mysql or my code???
-       - &DBISet() can only set one (in UPDATE, two in INSERT), variable
-         at a time. Does this impose a performance hit? like on seen.
-       - ...
-
-       TODO...
-       - infobot.cgi not ported over.
-       - weather not ported over.
-       - add alarm call between while in Dict.pl.
-
-*************************************************
-************* CHANGE OVER TO MySQL **************
-*************************************************
-
-v0.18.2 (199912??): dropped.
-       - Fix for Weather.pl.
-       - Fix for Dict.pl.
-       - ...
-
-v0.18.1 (19991130): last public release before database change over.
-       - Modified &IsNickInChan() so that a foreach is done case
-         insensitively against nick to prevent misses.
-       - Added server "jump" support, requested by larne.
-       - Added seenMaxDays, maximum number of days to keep seen info on
-         someone, otherwise delete it.
-       - Forgot to use $main:: in Freshmeat.pl and Weather.pl; fixed.
-       - Changed userList format to $userList{$user}{$flag}{$what} = 1;
-         Converted all code to use this userList format.
-       - Changed version string to include OSname.
-       - Replaced $locWho with $who or $origWho.
-       - Removed hidden whitespaces and tabs at and of statments.
-
-v0.18.0 (19991128):
-       - Post release typo fixes here and there.
-       - Changed lc() to tr/A-Z/a-z/ where suitable.
-       - Redid join command in Process.pl.
-       - Cleaned up regex (mainly .* => \S+).
-       - Found $ischan to be broken; fixed.
-       - Changed Slashdot3.pl to have "joining" code like in DBMExtra.pl.
-       - Made use of &nick() and &IsChan();
-       - Added &kick() to Misc.pl; kick command to User.pl.
-       - Added &IsNickInChan();
-       - Fixed loading Param file before pidfile and other file related
-         stuff.
-       - User.pl
-               - Revamped; removed unused functions.
-               - Moved Set.pl to here.
-               - Moved 4op code here.
-               - Moved some functions from Process.pl to here.
-               - Rewrote rehash command.
-       - More casing fixes; debugging info _should_ help to find more.
-       - Changed infobot.users.
-
-v0.17.0 (19991126):
-       - Netsplit code prevented stats of signoffs; fixed.
-       - Messed around with logging code to prevent control chars.
-       - Removed exchange and excuse module because of brokeness.
-       - Applied patch from RevHippie. Thanks!
-               - Added delimiter support in addressing of hello msg.
-               - Removed 'score' in karma.
-               - Added 'learn' (ALWAYS or ADDRESSED) support. Normal
-                 operation == ADDRESSED. Bot won't respond voluntarily to
-                 factoids but will respond to learning.
-               - Ability to turn off minVolunteerLength.
-               - More changes to prevent chatter in unaddressed manner.
-       - We remove any ansi or control chars when piping to the log file.
-         RevHippie++.
-       - Added 'thanks' language.
-       - Typo in Freshmeat.pl; Fixed.
-       - Added $rootwarnmode = passive || aggressive to satisfy lilo@OPN.
-         default is passive.
-       - Fixed mix up of fix in 'tell' code. I had the if statements the
-         wrong way around.
-       - Removed more debug code.
-       - FactStats/author fixed; now multiple authors with the same stats
-         are printed together.
-       - Added logfile cycling w/ approx maximum size.
-       - Changed infobot.config yet again. now it's much better than
-         before. Some variables removed.
-       - Added Unset support to Set.pl; Changed so anything can be set
-         or unset.
-       - Made use of &purifyNick() so regex doesn't break. $safeWho
-         now defined earlier.
-
-v0.16.0 (19991122):
-       - Applied bug fixes from infobot 0.44.3, added md5 password
-         support (*BSD?).
-       - Added &IsParam() to check existance of params the proper
-         (strict) way.
-       - Moved rootWarn stuff from Extras.pl to RootWarn.pl.
-       - filenames (rootwarn and uptime) now not statically set.
-       - Cleaned up config file and Setup.pl.
-       - Fixed up &parsectcp() in CTCP.pl.
-       - Changed ($ischan) to (\S+) in Irc.pl under PRIVMSG.
-       - Major reorganisation of Misc.pl -- removed unused functions.
-       - Moved some variables to 'infobot'.
-       - Fixed ANSI typo by some loser; Changed format of &status()'s in
-         Irc.pl, seems to look nice thus far.
-       - Added "author" command under &FactStats() in DBMExtra.pl.
-       - Added case insensitivity to &IsHostMatch() and search strings in
-         DBMExtra.pl. Any more of these?
-       - Removed disabled netsplit code.
-       - Changed 'defined' to 'exists' on all hash lists, 'cept hashes
-         created by opening db's.
-       - Modified repeat code on modified_time. If this time is small,
-         msgType is changed to 'private' for flooding reasons and
-         max_time is reduced by half. latter appears not to work???
-
-v0.15.0 (19991112):
-       - Quite funny that once the repeat code was moved to Question.pl
-         factoid extension leakage was found. maths leakage was also
-         happening but somehow is fixed when the repeat code was moved
-         back.
-       - Clean up of variable names in Reply.pl and Question.pl
-       - Changed 'length' to 'eq ""' or 'ne ""' where possible.
-         This should produce faster code but benchmarks prove this change
-         is neglible. Guess perl is slow :)
-       - Cleaned up and fixed 'tell <who> about <what>' code.
-       - Set.pl fixed; Added DEBUG to allowable set list.
-       - Volunteer code moved to top of Question.pl.
-
-v0.14.0 (19991110):
-       - Message overflow fix in &FactStats().
-       - Added 'factstats new' command to display new factoids in the
-         last 24 hours.
-       - Fixed up ping reply, requested by a few from #debian@OPN.
-       - Re-added debugging of DBMExtra due to leakage of orthaned
-         factoid extensions. Need to investigate and confirm the
-         lowercase fix of factoids.
-       - Two functions which used &mkRandom() now fixed due to poor
-         effort in implementation. Added missing srand(). now the maximum
-         length of 475 should not be exceeded, hopefully. it can be
-         beefed up to 490 if needed.
-
-v0.13.0 (19991108):
-       - Made use of &help() which uses infobot.help. This paves the way
-         for NLS as suggested by njs.
-       - Fixed up code on netjoin/netsplit in an effort to find
-         statistics leakage. Added debugging info to netjoin/netsplit.
-       - Fixed typo (three instances) in factinfo where time() was used
-         instead of the data in the factoid extension. Found by larne.
-       - Allow main thread to do a clean exit while the child does
-         nothing. Possible fix for weird uptime info.
-       - Removed sar of 'your|i|you|me' to prevent automated reverse
-         persona which is better done by the user. Suggested by njs.
-       - Cleaned up behaviour of &FixPlural(). Fixes a bug.
-       - Repeat prevention code now replaced (moved aswell) to use
-         factoid extensions
-       - Fixed 'factstats requested' error.
-
-v0.12.6 (19991103): bugfix on bugfix release ;)
-       - Fixed bug where you can't lock a factoid because the hostmatch
-         ($thisnuh = "") failed. Found by wolfie.
-       - Fixed up 512byte overflow in factstats[requested].
-       - hm... wonder how I broke Weather.pl.
-
-v0.12.5 (19991101): Bugfix release
-       - Fixed "bad" array in Freshmeat.pl. All appologies to scoop.
-         [update: use array[5] if it exists, otherwise do as before.]
-       - Removed some debugging info from DBMExtra.pl.
-       - Fixed inconsistent chanstats behaviour in SignOff.
-         [Update: forgot to delete the user info _after_ we do the stats]
-       - Moved factoid stats count and repeat checking code to
-         Question.pl. Now it works as planned :) :) :)
-
-v0.12.4 (19991028):
-       - Added factstat and listauth commands.
-       - 'topic add' now prepends subtopic not append.
-       - Fixed up minor problem with 'topic restore last'.
-       - Changed default of locking access to people who own their
-         factoid or to registered ops. This should please #debian.
-       - Reduced usage of @{$var} which cannot be really deleted cleanly.
-       - Moved DBMExtra-related stuff from myRoutines.pl to DBMExtra.pl.
-       - Added new functions &mkRandom() and &getRandom().
-       - Changed all code (Search.pl) which used random to the one
-         developed in DBMExtra.pl. => made code slightly smaller.
-       - Cleaned up Search.pl to look nice.
-       - Found yet another casing bug under TOPIC in Irc.pl.
-       - Fixed bug where dbmextra queries where made on non-factoids like
-         maths and probably karma.
-
-v0.12.3 (19991025):
-       - Added while loop around connect which should prevent the bot
-         from falling down (dying).
-       - Forgot 'main::' for &getURL in Freshmeat.pl. Changed
-         opening/closing code yet again. Removed checking on open
-         read-only.
-       - Changed Dict.pl to reply private only by default. '+' will allow
-         public responses without suggestions/synonyms.
-       - Added checking against pidfile. running two bots from the same
-         dir at the same time using the same db == disaster. Ask #debian
-         about it :)
-       - Implemented Weather.pl.
-
-v0.12.1 (19991022):
-       - Made distribution out of infobot -> blootbot.
-       - Irc.pl was prone to be fucking up -- swapped (.*) to (\S+) where
-         necessary. stab lenzo for this :) found more instances of this.
-               [update: appears to trap too many of something, check
-                 'chaninfo #chan' for info.]
-       - Minor fix for Freshmeat.pl when opening/closing db.
-       - Factoid extension code is ready for testing. possible in the
-         future to add "factstats" for like: top 3 requested factoids.
-         [update] added lock checking on sar and on updates ("no, "...)
-
-v0.12.0 (19991020): (v0.11.6 + bugfixes + trial)
-       - Major shake-up of how addressing is handled -- damn it took me a
-         long time to get this to work.
-       - Changed command names in Topic.pl to &topicBlah().
-       - Found and fixed (hopefully) all 7 channel casing bugs.
-       - Moved freshmeat to use berkeley db instead of raw appindex.txt
-         file. finally got it to work, seems 30% faster. Creating the db
-         takes a long time though.
-       - Added "set" command => Set.pl.
-       - Added support of talkMethod which behaves much like lobotomy.
-         In the future, talkMethod =~ /(lobotomy|none)/ may be used.
-       - Purged: METAR2.pl, NOAA.pl, UAFlight.pl.
-       - RootWarn only works if the bot is opped in the channel.
-       - Created performStrictReply() from performReply().
-       - Quote.pl and Internic.pl now work.
-       - Fixed a few typos in myRoutines.pl
-       - Removed bold on dictionary.
-
-v0.11.5 (19991012):
-       - Fixed $chan to lowercase where appropriate.
-       - Fixed volunteer reply code... I guess it worked before but now
-         it is somewhat cleaner and easy to understand.
-       - Added factoid owner database, requested by njs.
-       - If public message is addressed to someone else, we ignore it.
-       - Now support referer factoids ('blah is <REPLY> see erp'). if
-         'blah' is asked, the reply from 'erp' is given.
-       - OPN allows part messages -- fixed in /PART/ for $chan.
-
-v0.11.3 (19991008):
-       - Uptime.pl appears to be fixed after rewrite of getUptimeInfo.
-       - Fixed up Freshmeat.pl for updating the index. Proxy is now
-         optional.
-       - Moved rootWarn to RootWarn.pl. Added hall-of-fame of losers.
-       - Cleaned up bugs/typo here and there which may have caused the
-         bot to behave in a weird manner.
-
-v0.11.2 (19991006):
-       - ChanInfo now displays "statistics" just like our little friend
-         BitchX.
-       - Minor change in determining args on commands [myRoutines].
-       - Added "cmdstats".
-       - Added rootWarn checking on checks. Repeat offenders will be
-         punished. Requested by larne. [update: we aren't so harsh now]
-       - Added lc $chan where appropriate. damn uppercase channames.
-
-v0.11.1 (19991005):
-       - all instances of undef on hash lists changed to delete which
-         _now_ works. found minor bugs/typos related to DUI.
-       - Now skip internic whois intro (13 lines) to fix bad output.
-       - Forgot to subtract $i from $counter in chaninfo when full.
-               [update: whole function changed, see above]
-       - Now backup (and gzip) freshmeat index file.
-
-v0.11 (19991004): looks like a bug fix release :)
-       - Fixed typo in reply of Topic.pl/&NewTopic().
-       - Decreased max topic length allowed; now print it, too, for
-         debugging.
-       - Altered repeat code to only work on public. Flooders should be
-         taken care of by the (allowOutsiders == 0) code. if not, there's
-         'lobotomy' :)
-       - Added excess flood protection around &rawout();
-       - Don't bother about outsiders if we haven't joined any channels.
-       - Changed email address to one throughout modifications.
-         New files have neato headers.
-       - Uptime.pl fixed, didn't need to check against ($pid == $$)
-       - Repeat-prevention code kind-of looks what it was before but this
-         one, at least, works :). any problems, just bitch at me.
-       - Added debugging code for chaninfo to diagnose "problem".
-
-v0.10 (19991001):
-       - Added Uptime module.
-       - Added Freshmeat module.
-       - Dict now returns definition without suggestions (syn's) by
-         default. Also cleaned up.
-       - NickServ/ChanServ major clean up.
-       - Join upon reconnect fix: set $joinchans = 0.
-       - Fixed up Help.pl, added more help entries.
-
-v0.9b (19990925):
-       - Did repeat-prevention code from scratch -- now works.
-         [19991001 update]: multiplier is now 2 instead of 10.
-       - Made reaction to "hello" more strict. the same should be done to
-         "thanks", don't you think?
-       - Converted remaining modules to use forking. should be no more
-         bot lockups...
-       - Changed maxhits to 20 for Search.
-
-v0.9 (19990924): +16K added to patch size.
-       - More, more and more major changes.
-       - Fixed up inappropriate usage of performReply.
-       - Added lobotomy command to (un)silence the bot.
-       - Added allowOutsiders toggle to prevent usage of the bot
-         _outside_ the channels the bot is in.
-       - Added $fullyaddressed, enabled if $addressed == 1 and
-         $param{addressing} == REQUIRE.
-       - Readded auto-continuity code. it is disable if not fully
-         addressed. otherwise works as per normal.
-       - Moved join-on-start-of-motd code to end-of-motd. If nickserv &&
-         chanserv is enabled, IDENTIFY is done first. If okay, then we
-         proceed to join channels.
-       - When bot joins channel, summary of nicks (ops|voice|total) is
-         given instead of NAMES list.
-       - Chanserv support moved to "end of names".
-       - Detection of nickserv (no such nick).
-       - join channel if channel is on our joins list and if we're not on
-         it (hrm, providing their client prevents it).
-       - ...
-
-v0.8 (19990919): +50K patch from last version.
-       - Major changes, particularly cleanups and fixed a few bugs:
-               - Found 2 or so instances of $params{}. Either deleted or
-                 renamed to $param where appropriate.
-               - Shortened foreach statements where possible.
-       - Replaced duplicate code involving &say and &msg with
-         &performReply($text,[0=rand,1=strict]). -- major shortcut and
-         cleanup.
-       - Added tracking of all users on channel(s). Users are
-         deleted if they disappear for whatever reason with
-         &DeleteUserInfo.
-       - Tracking of channels now works; they are deleted if we disappear
-         from any channel for whatever reason (hopefully).
-       - 'forget' command _SHOULD_ be wrapped with $addressed.
-       - Moved 'modes' from User.pl to myRoutines.pl as 'chaninfo'.
-       - Added stock quote support by using mu's script. Thanks.
-       - Added param{*} around stuff in myRoutines.pl for flexibility.
-       - Added auto-join on invite if not on specific "join_channels"
-       - Renamed &Timetostring to &Time2String and made use of it not
-         only for status but for seen.
-       - If $param{*} == false, it is now not defined.
-       - Removed Auto-continuity code -- very evil for any bot commands
-         other than non-intentionally requesting a factoid.
-       - crypt command required "(" before passwd???
-       - Removed stupid commands which just generate URLs for you to cut
-         and paste.
-       - repeatIgnoreInterval code _NOW_ works unlike before.
-       - Added support for Topic.pl not to update topics if commands are
-         prepended by '-'. Topics can be "rehashed" when either a) the
-         next command is used without '-' or b) "rehash" is the next
-         command.
-       - &NewTopic takes two more args to prevent repetition and now does
-         topic checking. Check code for details.
-
-v0.7 (19990914):
-       - Major clean up: Search.pl now only uses the "is" dbm; final
-         pair of parens in commands removed for legibility; Removed
-         debugging for NickServ, ChanServ to go.
-       - Added multiple subtopic delete ability. requested by Mercury.
-       - Moved responses/replies to [files/infobot.lang]. Modified
-         related functions to conform, including mine.
-       - Fixed up Kernel.pl to use different type of sockets. Previous
-         code somehow broke itself.
-       - Added, but disabled, semi-working timer support. Need to ask
-         lenzo some questions on how to implement it the best way.
-       - Added channel (and offender's) notification if someone joins the
-         channel with root. requested by #debian.
-       - Added dict.org support. For now, it uses wordnet and returns a
-         random definition. Could change in the future.
-
-v0.6 (19990903):
-       - Added support for nickserv and chanserv, requested by is.
-       - Updated README to describe new features and modifications. Do we
-         need to elaborate on the modifications to the depth where it
-         would exceed the size of the patch?
-       - Minor clean up.
-       - Removed assumed-continuity of messages -- should be used if
-         addressing is in optional mode but would be bad in any situation
-         if more than one infobot existed in the channel.
-       - Added parsing of g flag to factoid sar.
-
-v0.5 (19990827):
-       - Better way to confirm if bot is on channel now for topic
-         management. Also added check for +o+t or -t. &DoModes() on
-         server stuff, too?
-       - Patch updated to work for infobot-0.44.2 only.
-       - Found a bug in Irc.pl under "NAMES" where $u was used initially
-         but trashed afterwards. => replaced $u w/ $_.
-       - Lost track of a bug found by Mercury. Seems to be fixed now,
-         somehow, heh.
-
-v0.4c (19990822):
-       - Worked on random-cookie -- random responses can now be added
-         (internally) with ease.
-       - Noticed joeyh changing his nick to/from '||' which reminded me
-         of something bad ;) hint: topic management.
-       - One line patch to allow '|' in factoids; delimiter is now '||'.
-
-v0.4b (19990818):
-       - Implemented patch from mu. Now it is possible to use the topic
-         command through private messages to the bot instead of the
-         channel.
-       - Replaced SAR of \| with \|\| so we can still use the single
-         pipes. Double pipes will be either removed or promote an error
-         message. Found by Robot101. Added el-cheapo work-around if the
-         last char of subtopic is |, kill it.
-
-v0.4a (19990816):
-       - Added cheap fix (sleep 1, heh) to excess floods of 'topic
-         history'. Is sleep 1 enough?
-       - Added 'random' for random value{key} from database.
-         Requested by jCommons.
-
-v0.4 (19990815):
-       - Fixed topic history by replacing push with unshift. Now the
-         history list is reversed and cycled properly.
-       - Reversed Changes list. request by mu.
-       - Totally fixed up topic history since it would break if
-         'topic add' was induced quickly. Now we only record topics set
-         by us (for reasons) and onjoin topics (set by anyone).
-       - Removed 'topic last/reset' because how do you know which topic
-         is last? Better control with 'topic restore'.
-
-v0.3c (19990813):
-       - Fixed 'topic mv 2 before 1' bug. Forgot to store 'move' topic
-         before doing the foreach loop.
-       - Touched up Kernel.pl in preparation for auto-notify feature.
-
-v0.3b (19990812):
-       - Added version string to new files so we know which version
-         of patch we're using (or used). There you go, Mercury ;)
-       - Fixed up DecipherTopic to reject null subtopics. This would, if
-         unchanged, (theoretically but not tried, luckily) produce a
-         domino-effect of problems if the topic was to be changed.
-               Update: check if the supposed null topic contains spaces
-                       within the nick component. If so, then it's not
-                       nick, therefore treat like ownerless subtopic.
-       - Worked on README.
-
-v0.3a (19990810):
-       - Changed back to use topic{chan} (now topicnow{chan}) since
-         @topiclist{chan} (now @topichist{chan}) does not deal with dupes
-         or blanks.
-       - Renamed 'topic last' in preference to 'topic reset'. Original
-         command can be used but is vague in meaning.
-       - Fixed several typos made in Irc.pl.
-       - Replaced 'defined' with 'length' in if statements.
-
-v0.3 (19990809):
-       - Applied patch from mu for Irc.pl | Topic.pl.
-       - Replaced %topic hash and $topiclast with @{$topiclist{chan}}.
-         Much cleaner implementation. Thanks to mu for this. Fully
-         implemented by xk.
-       - Reworked on topicbyme (was topiclast), should work now.
-
-v0.2 (19990808):
-       - Changed name of patch to funkystuph.
-       - Added history/last/restore to Topic.pl by request of mu and is.
-       - Reorganised help and order of commands in Topic.pl
-       - Bot must be addressed to use commands.
-               - Fixed bug if multiple infobots were in the channel.
-       - One occurrence where Cipher was called instead of CipherTopic.
-       - Fixed up Slashdot.pl. Problems: a) borked completely b) missed
-         first headline. el-cheapo fix but it works.
-
-v0.1c (19990729):
-       - Fixed long list{keys|values} bug, hopefully.
-       - Now randomize key results from search.
-       - If keys contain ',', underline to differentiate it.
-       - Fixed possible DoS against Kernel.pl.
-       - Bug fixed with Kernel.pl repeating itself.
-               - Typo of @results [one occurrance of @result]
-
-v0.1b (19990723):
-       - Fixed bug with &CipherTopic where, if no owner was found, it
-         would just use NULL. [like "Topic ()"]
-       - Added kernel feature.
-       - Moved error messages to public/private, depending on behaviour.
-         Help-related stuff is private(msg) only for convenience.
-
-v0.1a (19990721):
-       - Misc cleanup, removed repeated code.
-
-v0.1  (19990720):
-       - Initial release.
diff --git a/INSTALL b/INSTALL
index aed3621b75880b7faa382bd7c90381a7ddd1ab4c..f0062746f900164e6c45334578cb2f8452c8e25f 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -3,9 +3,9 @@ Method of installation.
 
 - Copy files/sample/* to files/
 
 
 - Copy files/sample/* to files/
 
-- Edit files/blootbot.config, modify to taste.
-- Edit files/blootbot.servers to modify list of IRC servers to connect.
-- Edit files/blootbot.chan to set which channels to join.
+- Edit files/infobot.config, modify to taste.
+- Edit files/infobot.servers to modify list of IRC servers to connect.
+- Edit files/infobot.chan to set which channels to join.
 
 - Install the following Perl modules:
        - Net::IRC perl module
 
 - Install the following Perl modules:
        - Net::IRC perl module
@@ -25,4 +25,4 @@ Method of installation.
 
 - There are "bugs" in the perl modules.  Read INSTALL.patches on how to fix.
 
 
 - There are "bugs" in the perl modules.  Read INSTALL.patches on how to fix.
 
-- Finally, './blootbot'
+- Finally, './infobot'
index 5de7a165ee81ca2e2a1ca8b0d443533e358ad792..f8d04bce47432999302f551bbd5351a05db8c50b 100644 (file)
@@ -5,7 +5,7 @@ INSTALL.mysql
     - Debian: (apt-get install mysql-server libdbd-mysql-perl)
 
 - Run 'mysqladmin -u root -p create <DB NAME>'
     - Debian: (apt-get install mysql-server libdbd-mysql-perl)
 
 - Run 'mysqladmin -u root -p create <DB NAME>'
-    Where <DB NAME> is the same as specified in blootbot.config.
+    Where <DB NAME> is the same as specified in infobot.config.
 
 - Run 'setup/setup.pl'
 
 
 - Run 'setup/setup.pl'
 
@@ -27,13 +27,13 @@ commands:
 
   $ mysql -u root -p
 
 
   $ mysql -u root -p
 
-  mysql> CREATE DATABASE blootbot;
+  mysql> CREATE DATABASE infobot;
   mysql> GRANT USAGE ON *.* TO 'user'@'localhost' IDENTIFIED BY 'yourpassword';
   mysql> GRANT USAGE ON *.* TO 'user'@'localhost' IDENTIFIED BY 'yourpassword';
-  mysql> GRANT ALL PRIVILEGES ON blootbot.* TO 'user'@'localhost';
+  mysql> GRANT ALL PRIVILEGES ON infobot.* TO 'user'@'localhost';
 
 FULL FACTOID DATABASE:
 ----------------------
 You can get the data from the MySQL database that the apt bot uses on
 #debian at freenode (irc.freenode.net), at:
 
 
 FULL FACTOID DATABASE:
 ----------------------
 You can get the data from the MySQL database that the apt bot uses on
 #debian at freenode (irc.freenode.net), at:
 
-    http://lain.cheme.cmu.edu/~apt/blootbot/apt.sql.bz2
+    http://lain.cheme.cmu.edu/~apt/infobot/apt.sql.bz2
index ecab8bcc0c769cfee90fb88e15e4ccafeff5610f..03a3491ac2544892e1ecca489a9d00f53d1de950 100644 (file)
@@ -5,25 +5,25 @@ Method of installation.
 - Debian: (apt-get install libpg-perl)
 
 
 - Debian: (apt-get install libpg-perl)
 
 
-As of now, blootbot has full pgsql support. It seems to be working 100%, but it
+As of now, infobot has full pgsql support. It seems to be working 100%, but it
 assumes that you have precreated the database and user for now. As long as you
 assumes that you have precreated the database and user for now. As long as you
-already created the database and user and stored this info in the blootbot.config,
-then the tables will automatically be created on startup. Until I get setup.pl
-fixed, run the following commands as root (or postgres if root doesnt have
-permission to create users/db's):
+already created the database and user and stored this info in the
+infobot.config, then the tables will automatically be created on startup. Until
+I get setup.pl fixed, run the following commands as root (or postgres if root
+doesnt have permission to create users/db's):
 
 > createuser --no-adduser --no-createdb --pwprompt --encrypted <user>
 > createdb --owner=<user> <dbname> [<description>]
 
 Dont forget to replace <user> and so forth with actual values you intend to use,
 and dont include the <>'s ;) If you run these commands, you should get a user
 
 > createuser --no-adduser --no-createdb --pwprompt --encrypted <user>
 > createdb --owner=<user> <dbname> [<description>]
 
 Dont forget to replace <user> and so forth with actual values you intend to use,
 and dont include the <>'s ;) If you run these commands, you should get a user
-with an encrypted password that cannot create new db's or user's (as it should be!),
-and the user will own the newly created database <dbname>. Congrats!
+with an encrypted password that cannot create new db's or user's (as it should
+be!), and the user will own the newly created database <dbname>. Congrats!
 
 
-If everything went fine, you should have everything blootbot needs to use pgsql.
+If everything went fine, you should have everything infobot needs to use pgsql.
 Next simply cd to the base directory you installed the bot to and type:
 
 Next simply cd to the base directory you installed the bot to and type:
 
-./blootbot
+./infobot
 
 
 Thats it! Everything the bot needs should be automatically created when it loads
 
 
 Thats it! Everything the bot needs should be automatically created when it loads
index 35c6b7b3283b2fa9a3fbed9953110ef3c270c67a..66c84251c8c10422a35c7c82c416c7ae6db9ca98 100644 (file)
@@ -7,7 +7,7 @@ running a separate RDBMS process. The distribution comes with a standalone
 command-line access program (sqlite) that can be used to administer an SQLite
 database and which serves as an example of how to use the SQLite library.
 
 command-line access program (sqlite) that can be used to administer an SQLite
 database and which serves as an example of how to use the SQLite library.
 
-blootbot will create a file called <DBname>.sqlite and populate the tables for
+infobot will create a file called <DBname>.sqlite and populate the tables for
 you if they do not already exist.
 
 - Install SQLite libraries and DBI Perl modules.
 you if they do not already exist.
 
 - Install SQLite libraries and DBI Perl modules.
diff --git a/README b/README
index d174102c65d1047e5288737bcaa7ff67ae34a002..eb0f6fab136208a19d6f144f50e0dcfdc92010ff 100644 (file)
--- a/README
+++ b/README
@@ -1,20 +1,15 @@
-This is out of date.
-
-
-
-
-
-
-blootbot v1.0.0 (20000729)
--------------------------
+infobot v1.5.0
+--------------
 
 INTRODUCTION
 
 INTRODUCTION
-       This bot is based upon infobot-0.44.2 by kevin lenzo
-<lenzo@cs.cmu.edu>. The basis of infobot is still there but _many_ wild
-features have been added. Along the way, a couple of typos were spotted
-in the original infobot source and fixed in this version. Without infobot,
-there would be no blootbot so all thanks to kevin for bringing infobot in
-the first place.
+       This bot is based upon blootbot, which was a fork of infobot-0.44.2 by
+Kevin Lenzo <lenzo@cs.cmu.edu>, which is now officially rebranded back to
+infobot!  The basis of infobot is still there but _many_ wild features have
+been added.  Along the way, a couple of typos were spotted in the original
+infobot source and fixed in this version. Without infobot, there would be no
+blootbot, and thus no infobot again, so all thanks to kevin for bringing
+infobot in the first place.
+
 
 FEATURES
        * Additional information stored with factoids. (factinfo)
 
 FEATURES
        * Additional information stored with factoids. (factinfo)
@@ -29,17 +24,20 @@ FEATURES
        * Slashdot, Kernel and Freshmeat auto-update announcements.
        * Units conversion (provided by external module, Units-Module)
 
        * Slashdot, Kernel and Freshmeat auto-update announcements.
        * Units conversion (provided by external module, Units-Module)
 
-       DESIGN
-               - Modularity. Ability to disable IRC or Factoid support.
-               - Funky pseudo Module autoloader support
-               - Eleet Forker() function
 
 
-Improvements include:
+DESIGN
+       - Modularity. Ability to disable IRC or Factoid support.
+       - Funky pseudo Module autoloader support
+       - Eleet Forker() function
+
+
+IMPROVEMENTS
        * log file is not opened and closed for each line of data
                => unblocked logging is used.
        * seen data is not flushed for each public message on IRC
                => caching and flushing over an interval is used.
 
        * log file is not opened and closed for each line of data
                => unblocked logging is used.
        * seen data is not flushed for each public message on IRC
                => caching and flushing over an interval is used.
 
+
 HISTORY
        As of 0.99pre1, blootbot supports mysql database in the hope to
 increase performance and to avoid borked over dbm's which occurred when
 HISTORY
        As of 0.99pre1, blootbot supports mysql database in the hope to
 increase performance and to avoid borked over dbm's which occurred when
@@ -56,9 +54,13 @@ back. It should work in all but 3 specific (countdown, factstats unreq)
 cases. preliminary pgsql support has been added but someone with pgperl
 knowledge needs to fix it up or at least unify the module with mysql.
 
 cases. preliminary pgsql support has been added but someone with pgperl
 knowledge needs to fix it up or at least unify the module with mysql.
 
+       As of 1.5.0, blootbot was rebranded back to infobot.
+
+
 INSTALLATION
   - Read the included INSTALL file
 
 INSTALLATION
   - Read the included INSTALL file
 
+
 NOTICE
        Be warned that this bot consumes quite a lot of memory upon start
 up and during usage. Right now, 7.4megs is used for old'ish perl, 8.3megs
 NOTICE
        Be warned that this bot consumes quite a lot of memory upon start
 up and during usage. Right now, 7.4megs is used for old'ish perl, 8.3megs
@@ -77,6 +79,7 @@ welcomed.
 blootbot, not based on the above source base.  Core factoid code and
 mysql support works - but that is it.
 
 blootbot, not based on the above source base.  Core factoid code and
 mysql support works - but that is it.
 
+
 MODIFICATIONS
        All modifications are that of the blootbot author unless otherwise
 specified, like none.  See 'ChangeLog' for details.  A list of future
 MODIFICATIONS
        All modifications are that of the blootbot author unless otherwise
 specified, like none.  See 'ChangeLog' for details.  A list of future
@@ -119,7 +122,8 @@ NOTES
 through DCC CHAT. /chat <BOT NICK>.  All commands must be prepended by
 '.' otherwise it is sent to the bot chat net
 
 through DCC CHAT. /chat <BOT NICK>.  All commands must be prepended by
 '.' otherwise it is sent to the bot chat net
 
-### UNTESTED:
+
+UNTESTED:
        - user statistics shown by 'seen'. bug in this?
        - User Information Services.
        - new wingate caching/file-read code.
        - user statistics shown by 'seen'. bug in this?
        - User Information Services.
        - new wingate caching/file-read code.
@@ -145,11 +149,12 @@ hope to get that same guy to re-send me the patch...
 
 CONTACT
        Contributions of a patch, or anything, can be sent to
 
 CONTACT
        Contributions of a patch, or anything, can be sent to
-<dms@users.sourceforge.net>
+<infobot-devel@lists.sourceforge.net>
 
 Some Documentation is on the website. Please see it for details or
 
 Some Documentation is on the website. Please see it for details or
-visit: http://sourceforge.net/docman/?group_id=8794
+visit: http://infobot.sourceforge.net/
+
 
 IRC
        If your looking to hang out on IRC, feel free. We can be found
 
 IRC
        If your looking to hang out on IRC, feel free. We can be found
-in the #blootbot channel on irc.freenode.net. See you there!
+in the #infobot channel on irc.freenode.net. See you there!
diff --git a/TODO b/TODO
index c88b2e80f71a731a41623d4c14147eefaaed41b5..f76aa2680e6f2195cb8222c148fc57bfdbe48d48 100644 (file)
--- a/TODO
+++ b/TODO
@@ -9,8 +9,8 @@ TODO:
        - move nicks/server into sql table
        - make channel flags be server/channel flags
        - move channel flags to sql table, include initial state
        - move nicks/server into sql table
        - make channel flags be server/channel flags
        - move channel flags to sql table, include initial state
-       - move praise from blootbot.lang to "praise:<something>" in factoids?
-       - move lart from blootbot.lang to "lart:<something>" in factoids?
+       - move praise from infobot.lang to "praise:<something>" in factoids?
+       - move lart from infobot.lang to "lart:<something>" in factoids?
        - debian BTS frontend "bugs"
        - !country
        - !dinstall
        - debian BTS frontend "bugs"
        - !country
        - !dinstall
@@ -44,7 +44,7 @@ TODO:
 
 Other TODO items may be listed on sourceforge. Please access it from the
 website or this link:
 
 Other TODO items may be listed on sourceforge. Please access it from the
 website or this link:
-http://sourceforge.net/pm/task.php?group_id=8794&group_project_id=3207&func=browse&set=open
+http://sourceforge.net/pm/task.php?group_id=2241
 
 ----------------------------------------------------
 ------------ FUTURE, NON-IMPORTANT
 
 ----------------------------------------------------
 ------------ FUTURE, NON-IMPORTANT
@@ -73,26 +73,3 @@ http://sourceforge.net/pm/task.php?group_id=8794&group_project_id=3207&func=brow
                - do some test cases to confirm code actually works as
                  proposed.
 
                - do some test cases to confirm code actually works as
                  proposed.
 
--- useless statistics
-- 20010420:
-DEBUG:      373
-WARN:       129
-FIXME:       35
-status:     386
-TODO:       145
-
-20031111: scripts/output_stats.sh
-DEBUG:      384
-WARN:       167
-FIXME:       33
-status:     424
-ERROR:      123
-TODO:        91
-
-20050217: scripts/output_stats.sh
-DEBUG:  388
-WARN:   164
-FIXME:  43
-status: 436
-ERROR:  125
-TODO:   158
diff --git a/blootbot b/blootbot
deleted file mode 100755 (executable)
index 4ef62d5..0000000
--- a/blootbot
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/usr/bin/perl
-
-# infobot  -- copyright kevin lenzo (c) 1997-1999
-# blootbot -- copyright david sobon (c) 1999-infinity
-
-use strict;
-use vars qw($bot_base_dir $bot_src_dir $bot_misc_dir $bot_state_dir
-           $bot_data_dir $bot_config_dir $bot_log_dir $bot_run_dir
-           $bot_pid $memusage %param
-);
-
-BEGIN {
-    if (@ARGV and -f $ARGV[0]) {
-       # source passed config to allow $bot_*_dir to be set.
-       do $ARGV[0];
-    }
-
-    # set any $bot_*_dir var's that aren't already set
-    $bot_base_dir      ||= '.';
-    $bot_config_dir    ||= 'files/';
-    $bot_data_dir      ||= 'files/';
-    $bot_state_dir     ||= 'files/';
-    $bot_run_dir       ||= '.';
-    $bot_src_dir       ||= "$bot_base_dir/src";
-    $bot_log_dir       ||= "$bot_base_dir/log";
-    $bot_misc_dir      ||= "$bot_base_dir/files";
-
-    $bot_pid           = $$;
-
-    require "$bot_src_dir/logger.pl";
-    require "$bot_src_dir/core.pl";
-    require "$bot_src_dir/modules.pl";
-
-    # load the configuration (params) file.
-    &setupConfig();
-
-    &showProc();       # to get the first value.
-    &status("Initial memory usage: $memusage kB");
-    &loadCoreModules();
-    &loadDBModules();
-    &loadFactoidsModules();
-    &loadIRCModules();
-
-    &status("Memory usage after loading modules: $memusage kB");
-}
-
-# prevent duplicate processes of the same bot
-&duperuncheck();
-
-# initialize everything
-&startup();    # first time initialization.
-&setup();
-
-if (!&IsParam("Interface") or $param{'Interface'} =~ /IRC/) {
-    # launch the irc event loop
-    &ircloop();
-} else {
-    &cliloop();
-}
-
-exit 0;  # just so you don't look farther down in this file :)
-
-# --- support routines
-
-# FIXME: add arguments, basically '-h' and '--help', heh.
-
-# added by the xk
-sub duperuncheck {
-    my $pid    = $$;
-    my $file   = $file{PID};
-
-    if ( -f $file) {
-       open(PIDFILE,$file) or die "error: cannot open $file.";
-       my $thispid = <PIDFILE> || "NULL\n";
-       close PIDFILE;
-       chop $thispid;
-
-       if ($thispid =~ /^\D$/) {
-           &staus("warning: pidfile is invalid; wiping out.");
-       } else {
-           if ( -d "/proc/$thispid/") {
-               &ERROR("bot is already running from this directory.");
-               &ERROR("if this is incorrect, erase '*.pid'.");
-               &ERROR("verify with 'ps -axu | grep $thispid'.");
-               exit 1;
-           } else {
-               &status("warning: stale $file found; wiping.");
-           }
-       }
-    }
-
-    open(PIDFILE,">$file") or die "error: cannot write to $file.";
-    print PIDFILE "$pid\n";
-    close PIDFILE;
-
-    return 0;
-}
-
-1;
diff --git a/infobot b/infobot
new file mode 100755 (executable)
index 0000000..4ef62d5
--- /dev/null
+++ b/infobot
@@ -0,0 +1,99 @@
+#!/usr/bin/perl
+
+# infobot  -- copyright kevin lenzo (c) 1997-1999
+# blootbot -- copyright david sobon (c) 1999-infinity
+
+use strict;
+use vars qw($bot_base_dir $bot_src_dir $bot_misc_dir $bot_state_dir
+           $bot_data_dir $bot_config_dir $bot_log_dir $bot_run_dir
+           $bot_pid $memusage %param
+);
+
+BEGIN {
+    if (@ARGV and -f $ARGV[0]) {
+       # source passed config to allow $bot_*_dir to be set.
+       do $ARGV[0];
+    }
+
+    # set any $bot_*_dir var's that aren't already set
+    $bot_base_dir      ||= '.';
+    $bot_config_dir    ||= 'files/';
+    $bot_data_dir      ||= 'files/';
+    $bot_state_dir     ||= 'files/';
+    $bot_run_dir       ||= '.';
+    $bot_src_dir       ||= "$bot_base_dir/src";
+    $bot_log_dir       ||= "$bot_base_dir/log";
+    $bot_misc_dir      ||= "$bot_base_dir/files";
+
+    $bot_pid           = $$;
+
+    require "$bot_src_dir/logger.pl";
+    require "$bot_src_dir/core.pl";
+    require "$bot_src_dir/modules.pl";
+
+    # load the configuration (params) file.
+    &setupConfig();
+
+    &showProc();       # to get the first value.
+    &status("Initial memory usage: $memusage kB");
+    &loadCoreModules();
+    &loadDBModules();
+    &loadFactoidsModules();
+    &loadIRCModules();
+
+    &status("Memory usage after loading modules: $memusage kB");
+}
+
+# prevent duplicate processes of the same bot
+&duperuncheck();
+
+# initialize everything
+&startup();    # first time initialization.
+&setup();
+
+if (!&IsParam("Interface") or $param{'Interface'} =~ /IRC/) {
+    # launch the irc event loop
+    &ircloop();
+} else {
+    &cliloop();
+}
+
+exit 0;  # just so you don't look farther down in this file :)
+
+# --- support routines
+
+# FIXME: add arguments, basically '-h' and '--help', heh.
+
+# added by the xk
+sub duperuncheck {
+    my $pid    = $$;
+    my $file   = $file{PID};
+
+    if ( -f $file) {
+       open(PIDFILE,$file) or die "error: cannot open $file.";
+       my $thispid = <PIDFILE> || "NULL\n";
+       close PIDFILE;
+       chop $thispid;
+
+       if ($thispid =~ /^\D$/) {
+           &staus("warning: pidfile is invalid; wiping out.");
+       } else {
+           if ( -d "/proc/$thispid/") {
+               &ERROR("bot is already running from this directory.");
+               &ERROR("if this is incorrect, erase '*.pid'.");
+               &ERROR("verify with 'ps -axu | grep $thispid'.");
+               exit 1;
+           } else {
+               &status("warning: stale $file found; wiping.");
+           }
+       }
+    }
+
+    open(PIDFILE,">$file") or die "error: cannot write to $file.";
+    print PIDFILE "$pid\n";
+    close PIDFILE;
+
+    return 0;
+}
+
+1;
index a98bba782f7179f57f3196697230d8d254472156..df30b49b2c878d558b16fbaa8b8ee036ff898dd9 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 BACKUP_SRCDIR="/var/lib/mysql/"
 #!/bin/bash
 
 BACKUP_SRCDIR="/var/lib/mysql/"
-BACKUP_TDIR="blootbot/"
+BACKUP_TDIR="infobot/"
 BACKUP_FILE="/home/a/apt/public_html/tables.tar.bz2"
 
 pwd
 BACKUP_FILE="/home/a/apt/public_html/tables.tar.bz2"
 
 pwd
index 7ed1b0d9e8ddf8e4caa3e4c0c130131adf43e730..f67b5d0a6c56d47532111af11e3eb57fe60f5a9c 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 BOTDIR=/home/apt/bot
 #!/bin/sh
 
 BOTDIR=/home/apt/bot
-BOTNICK=blootbot
+BOTNICK=infobot
 PIDFILE=$BOTDIR/$BOTNICK.pid
 
 if [ -f $PIDFILE ]; then       # exists.
 PIDFILE=$BOTDIR/$BOTNICK.pid
 
 if [ -f $PIDFILE ]; then       # exists.
@@ -10,10 +10,10 @@ if [ -f $PIDFILE ]; then    # exists.
        exit 0
     fi
 
        exit 0
     fi
 
-    # blootbot removes the pid file.
+    # infobot removes the pid file.
     echo "stale pid file; removing."
 #    rm -f $PIDFILE
 fi
 
 cd $BOTDIR
     echo "stale pid file; removing."
 #    rm -f $PIDFILE
 fi
 
 cd $BOTDIR
-./blootbot
+./infobot
index 922bbb5542cab2b6da4a1d8a1e193a0465f30a51..48825b041ad9325a46f40783c487db501eb49abf 100755 (executable)
@@ -33,7 +33,7 @@ if (!dbmopen(%db, $dbfile, 0666)) {
 &status("::: opening dbm file: $dbfile");
 
 # open all the data...
 &status("::: opening dbm file: $dbfile");
 
 # open all the data...
-&loadConfig("files/blootbot.config");
+&loadConfig("files/infobot.config");
 $dbname = $param{'DBName'};
 my $dbh_mysql = sqlOpenDB($param{'DBName'},
        $param{'DBType'}, $param{'SQLUser'}, $param{'SQLPass'});
 $dbname = $param{'DBName'};
 my $dbh_mysql = sqlOpenDB($param{'DBName'},
        $param{'DBType'}, $param{'SQLUser'}, $param{'SQLPass'});
index 8f9d072bb6426e22db418ed42cbf640dc26dbe0f..f4f4583a64665203aa46eeb65916dc5ce2f338fb 100644 (file)
@@ -2,7 +2,7 @@
 
 use DBI;
 
 
 use DBI;
 
-my $dsn = "DBI:mysql:blootbot:localhost";
+my $dsn = "DBI:mysql:infobot:localhost";
 my $dbh = DBI->connect($dsn, "USERNAME", "PASSWORD");
 
 my @factkey;
 my $dbh = DBI->connect($dsn, "USERNAME", "PASSWORD");
 
 my @factkey;
index d11cd09931afa605b0460eb8c99fe55326176875..267d43c77c9b4da2dd76d7d0ced2058c56a50c9e 100644 (file)
@@ -9,7 +9,7 @@ require "src/logger.pl";
 require "src/modules.pl";
 require "src/Factoids/DBCommon.pl";
 
 require "src/modules.pl";
 require "src/Factoids/DBCommon.pl";
 
-&loadConfig($bot_config_dir."/blootbot.config");
+&loadConfig($bot_config_dir."/infobot.config");
 &loadDBModules();
 
 unless (@_) {
 &loadDBModules();
 
 unless (@_) {
index 9cef0188cd11fd1b5844effc49035cbb15a5e963..6068c9e498c1db70ee28b35069cfdf7faf1c2dda 100755 (executable)
@@ -15,7 +15,7 @@
 
 # Modified by Tim Riker <Tim@Rikers.org>
 # to work with infobot logs
 
 # Modified by Tim Riker <Tim@Rikers.org>
 # to work with infobot logs
-# then modified again for blootbot
+# then modified again for infobot
 
 # Usage: irclog2html <date> < logfile
 
 
 # Usage: irclog2html <date> < logfile
 
@@ -90,7 +90,7 @@ sub footer {
 <a href="mailto:jdub\@NOSPAMaphid.net">Jeff Waugh</a> - find it at
 <a href="http://freshmeat.net/appindex/2000/03/28/954251322.html">freshmeat.net</a>!
 Modified by <a href="http://www.Rikers.org">Tim Riker</a> to work with
 <a href="mailto:jdub\@NOSPAMaphid.net">Jeff Waugh</a> - find it at
 <a href="http://freshmeat.net/appindex/2000/03/28/954251322.html">freshmeat.net</a>!
 Modified by <a href="http://www.Rikers.org">Tim Riker</a> to work with
-<a href="http://blootbot.sourceforge.net/">blootbot</a> logs, split per channel, etc.
+<a href="http://infobot.sourceforge.net/">infobot</a> logs, split per channel, etc.
 </body></html>
 };
        return $return;
 </body></html>
 };
        return $return;
@@ -317,7 +317,7 @@ sub main {
 
 if (!scalar @ARGV) {
                print "Usage: irclog2html.pl <date> < logfile\n";
 
 if (!scalar @ARGV) {
                print "Usage: irclog2html.pl <date> < logfile\n";
-    print "Example: bzcat log/blootbot.log-20021104.bz2 | irclog2html.pl 20021104\n";
+    print "Example: bzcat log/infobot.log-20021104.bz2 | irclog2html.pl 20021104\n";
     exit 0;
 }
 my $date = shift;
     exit 0;
 }
 my $date = shift;
index 53f3b7763f29247fbdc3f4f057702cb49e6950b8..2973610f092ccb9d84e64a5cd3df584a7a1f5b1e 100755 (executable)
@@ -18,7 +18,7 @@ if (!defined $dbname) {
 }
 
 # open the db.
 }
 
 # open the db.
-&loadConfig("files/blootbot.config");
+&loadConfig("files/infobot.config");
 &loadDBModules();
 
 &openDB($param{'DBName'}, $param{'SQLUser'}, $param{'SQLPass'});
 &loadDBModules();
 
 &openDB($param{'DBName'}, $param{'SQLUser'}, $param{'SQLPass'});
index 0b877bd7e372b6e92c27dae0ad1581dc6423da30..409b55fbb719354c369f79d8ae98bf14d9b3a1d3 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 #!/bin/sh
-echo -n "DEBUG:  "; grep DEBUG `find blootbot src -type f`| wc -l
-echo -n "WARN:   "; grep WARN `find blootbot src -type f` | wc -l
-echo -n "FIXME:  "; grep FIXME `find blootbot src -type f` | wc -l
-echo -n "status: "; grep status `find blootbot src -type f` | wc -l
-echo -n "ERROR:  "; grep ERROR `find blootbot src -type f` | wc -l
-echo -n "TODO:   "; grep TODO `find blootbot src -type f` | wc -l
+echo -n "DEBUG:  "; grep DEBUG `find infobot src -type f`| wc -l
+echo -n "WARN:   "; grep WARN `find infobot src -type f` | wc -l
+echo -n "FIXME:  "; grep FIXME `find infobot src -type f` | wc -l
+echo -n "status: "; grep status `find infobot src -type f` | wc -l
+echo -n "ERROR:  "; grep ERROR `find infobot src -type f` | wc -l
+echo -n "TODO:   "; grep TODO `find infobot src -type f` | wc -l
index 47a70b7437c0b24d18a4a3ad0da0a953bab60442..88ace259d9293a483a099d866f95a62ea5d4c4fb 100755 (executable)
@@ -19,7 +19,7 @@ my $txtfile = shift;
 open(IN,$txtfile) or die "error: cannot open txtfile '$txtfile'.\n";
 
 # read the bot config file.
 open(IN,$txtfile) or die "error: cannot open txtfile '$txtfile'.\n";
 
 # read the bot config file.
-&loadConfig("files/blootbot.config");
+&loadConfig("files/infobot.config");
 &loadDBModules();
 &openDB($param{'DBName'}, $param{'SQLUser'}, $param{'SQLPass'});
 
 &loadDBModules();
 &openDB($param{'DBName'}, $param{'SQLUser'}, $param{'SQLPass'});
 
index 961d91a4747d8f42ee5341d72626b2712024cc45..06bd2f16e092e302b43e48bd4b89e7247a780442 100644 (file)
@@ -15,7 +15,7 @@ MySQL until I actually change it)
 
 To automate the setup of your database and user, type:
 
 
 To automate the setup of your database and user, type:
 
-       cd ~/blootbotdir
+       cd ~/infobotdir
        ./setup/setup.pl
 
 (NOTE: The setup will ask for an account capable of administrating
        ./setup/setup.pl
 
 (NOTE: The setup will ask for an account capable of administrating
index 00dbf494e0b7e0da181212057057449e88274886..d1256c17c258a0c2007026f7c920a7bf84f6868a 100644 (file)
@@ -3,7 +3,7 @@ CREATE TABLE connections (
  port INT NOT NULL DEFAULT '6667',
  nick VARCHAR(20) NOT NULL,
  nickservpass VARCHAR(8) NOT NULL,
  port INT NOT NULL DEFAULT '6667',
  nick VARCHAR(20) NOT NULL,
  nickservpass VARCHAR(8) NOT NULL,
- ircname VARCHAR (20) NOT NULL DEFAULT 'blootbot experimental bot',
+ ircname VARCHAR (20) NOT NULL DEFAULT 'infobot experimental bot',
  timeadded INT UNSIGNED DEFAULT 'UNIX_TIMESTAMP()',
  PRIMARY KEY (server,port,nick)
 );
  timeadded INT UNSIGNED DEFAULT 'UNIX_TIMESTAMP()',
  PRIMARY KEY (server,port,nick)
 );
index d12244c5c150082c5b60e8c8af15ffaa8d33e085..7b9872e62721e14d9d205a0bb61c3e6d02aa8a21 100644 (file)
@@ -3,7 +3,7 @@ CREATE TABLE connections (
     port integer DEFAULT 6667 NOT NULL,
     nick character varying(20) NOT NULL,
     nickservpass character varying(8) NOT NULL,
     port integer DEFAULT 6667 NOT NULL,
     nick character varying(20) NOT NULL,
     nickservpass character varying(8) NOT NULL,
-    ircname character varying(20) DEFAULT 'blootbot IRC bot'::character varying NOT NULL,
+    ircname character varying(20) DEFAULT 'infobot IRC bot'::character varying NOT NULL,
     timeadded numeric DEFAULT 0
 ) WITHOUT OIDS;
 
     timeadded numeric DEFAULT 0
 ) WITHOUT OIDS;
 
index 4977b02df93b064e695db99a29b40e5fb88eeb0a..72ad985fc3361bd974cf4ad103a14a26852fa36e 100755 (executable)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
 #!/usr/bin/perl
-# setup_tables: setup MYSQL/PGSQL side of things for blootbot.
+# setup_tables: setup MYSQL/PGSQL side of things for infobot.
 # written by the xk.
 ###
 
 # written by the xk.
 ###
 
@@ -11,8 +11,8 @@ require "src/CLI/Support.pl";
 
 $bot_src_dir = "src/";
 
 
 $bot_src_dir = "src/";
 
-# read param stuff from blootbot.config.
-&loadConfig("files/blootbot.config");
+# read param stuff from infobot.config.
+&loadConfig("files/infobot.config");
 
 &loadDBModules();
 my $dbname = $param{'DBName'};
 
 &loadDBModules();
 my $dbname = $param{'DBName'};
index 00dbf494e0b7e0da181212057057449e88274886..d1256c17c258a0c2007026f7c920a7bf84f6868a 100644 (file)
@@ -3,7 +3,7 @@ CREATE TABLE connections (
  port INT NOT NULL DEFAULT '6667',
  nick VARCHAR(20) NOT NULL,
  nickservpass VARCHAR(8) NOT NULL,
  port INT NOT NULL DEFAULT '6667',
  nick VARCHAR(20) NOT NULL,
  nickservpass VARCHAR(8) NOT NULL,
- ircname VARCHAR (20) NOT NULL DEFAULT 'blootbot experimental bot',
+ ircname VARCHAR (20) NOT NULL DEFAULT 'infobot experimental bot',
  timeadded INT UNSIGNED DEFAULT 'UNIX_TIMESTAMP()',
  PRIMARY KEY (server,port,nick)
 );
  timeadded INT UNSIGNED DEFAULT 'UNIX_TIMESTAMP()',
  PRIMARY KEY (server,port,nick)
 );
index 00dbf494e0b7e0da181212057057449e88274886..d1256c17c258a0c2007026f7c920a7bf84f6868a 100644 (file)
@@ -3,7 +3,7 @@ CREATE TABLE connections (
  port INT NOT NULL DEFAULT '6667',
  nick VARCHAR(20) NOT NULL,
  nickservpass VARCHAR(8) NOT NULL,
  port INT NOT NULL DEFAULT '6667',
  nick VARCHAR(20) NOT NULL,
  nickservpass VARCHAR(8) NOT NULL,
- ircname VARCHAR (20) NOT NULL DEFAULT 'blootbot experimental bot',
+ ircname VARCHAR (20) NOT NULL DEFAULT 'infobot experimental bot',
  timeadded INT UNSIGNED DEFAULT 'UNIX_TIMESTAMP()',
  PRIMARY KEY (server,port,nick)
 );
  timeadded INT UNSIGNED DEFAULT 'UNIX_TIMESTAMP()',
  PRIMARY KEY (server,port,nick)
 );
index 7ee3a0b0dc0a2ad3aa009b2cbc8f7a381ef02b95..60f171c688d80f115f5d18bd6eedab16c4657568 100644 (file)
@@ -26,7 +26,7 @@ sub cliloop {
 
     # install libterm-readline-gnu-perl to get history support
     use Term::ReadLine;
 
     # install libterm-readline-gnu-perl to get history support
     use Term::ReadLine;
-    my $term = new Term::ReadLine 'blootbot';
+    my $term = new Term::ReadLine 'infobot';
     my $prompt = "$who> ";
     #$OUT = $term->OUT || STDOUT;
     while ( defined ($_ = $term->readline($prompt)) ) {
     my $prompt = "$who> ";
     #$OUT = $term->OUT || STDOUT;
     while ( defined ($_ = $term->readline($prompt)) ) {
index 00e1ebab8a99aa879832cb1f75762d6e7ed919d3..d086c48b9430c1a3b42de1a891cb6367502407cb 100644 (file)
@@ -481,7 +481,7 @@ sub lart {
        $for    = $2;
     }
 
        $for    = $2;
     }
 
-    my $line = &getRandomLineFromFile($bot_data_dir. '/blootbot.lart');
+    my $line = &getRandomLineFromFile($bot_data_dir. '/infobot.lart');
     if (defined $line) {
        if ($target =~ /^(me|you|itself|\Q$mynick\E)$/i) {
            $line =~ s/WHO/$who/g;
     if (defined $line) {
        if ($target =~ /^(me|you|itself|\Q$mynick\E)$/i) {
            $line =~ s/WHO/$who/g;
index 85168e0483c6e964d685fab54b2aef6104e33409..de814b4d2435aa0f83b17ada3148725c201eff42 100644 (file)
@@ -20,7 +20,7 @@ use vars qw($utime_userfile $ucount_userfile $utime_chanfile $who
 #####
 
 sub readUserFile {
 #####
 
 sub readUserFile {
-    my $f = "$bot_state_dir/blootbot.users";
+    my $f = "$bot_state_dir/infobot.users";
 
     if (! -f $f) {
        &DEBUG("userfile not found; new fresh run detected.");
 
     if (! -f $f) {
        &DEBUG("userfile not found; new fresh run detected.");
@@ -129,14 +129,14 @@ sub writeUserFile {
        return;
     }
 
        return;
     }
 
-    if (!open OUT,">$bot_state_dir/blootbot.users") {
-       &ERROR("Cannot write userfile ($bot_state_dir/blootbot.users): $!");
+    if (!open OUT,">$bot_state_dir/infobot.users") {
+       &ERROR("Cannot write userfile ($bot_state_dir/infobot.users): $!");
        return;
     }
 
     my $time           = scalar(gmtime);
 
        return;
     }
 
     my $time           = scalar(gmtime);
 
-    print OUT "#v1: blootbot -- $ident -- written $time\n\n";
+    print OUT "#v1: infobot -- $ident -- written $time\n\n";
 
     ### USER LIST.
     my $cusers = 0;
 
     ### USER LIST.
     my $cusers = 0;
@@ -235,7 +235,7 @@ sub writeUserFile {
 #####
 
 sub readChanFile {
 #####
 
 sub readChanFile {
-    my $f = "$bot_state_dir/blootbot.chan";
+    my $f = "$bot_state_dir/infobot.chan";
     if ( -f $f and -f "$f~") {
        my $s1 = -s $f;
        my $s2 = -s "$f~";
     if ( -f $f and -f "$f~") {
        my $s1 = -s $f;
        my $s2 = -s "$f~";
@@ -304,13 +304,13 @@ sub writeChanFile {
        return;
     }
 
        return;
     }
 
-    if (!open OUT,">$bot_state_dir/blootbot.chan") {
-       &ERROR("Cannot write chanfile ($bot_state_dir/blootbot.chan): $!");
+    if (!open OUT,">$bot_state_dir/infobot.chan") {
+       &ERROR("Cannot write chanfile ($bot_state_dir/infobot.chan): $!");
        return;
     }
 
     my $time           = scalar(gmtime);
        return;
     }
 
     my $time           = scalar(gmtime);
-    print OUT "#v1: blootbot -- $ident -- written $time\n\n";
+    print OUT "#v1: infobot -- $ident -- written $time\n\n";
 
     if ($flag_quit) {
 
 
     if ($flag_quit) {
 
index 938f6155c7a7c087953a92dcbb524f79ff080b5c..080297fdaa7f88ec87bfbc7473d0b48d9ea35cb1 100644 (file)
@@ -53,7 +53,7 @@ sub loadLang {
 
 # File: Irc Servers list.
 sub loadIRCServers {
 
 # File: Irc Servers list.
 sub loadIRCServers {
-    my ($file) = $bot_config_dir."/blootbot.servers";
+    my ($file) = $bot_config_dir."/infobot.servers";
     @ircServers = ();
     %ircPort = ();
 
     @ircServers = ();
     %ircPort = ();
 
index cf873ce130051354bb93a1de350b44444b3e7dbf..47f9851ff3e0d50f0bedba715c2ea117b570ace7 100644 (file)
@@ -365,7 +365,7 @@ sub on_dcc_open_chat {
        &status("DCC CHAT: going to use ".$nick."'s crypt.");
        &dccsay($nick,"Enter your password.");
     } else {
        &status("DCC CHAT: going to use ".$nick."'s crypt.");
        &dccsay($nick,"Enter your password.");
     } else {
-#      &dccsay($nick,"Welcome to blootbot DCC CHAT interface, $userHandle.");
+#      &dccsay($nick,"Welcome to infobot DCC CHAT interface, $userHandle.");
     }
 }
 
     }
 }
 
index a59c939c7a8e5e3d591f6ea443b009d0b1d44ca1..7c3044dddc15099775586216e15c67acafdf2af4 100644 (file)
@@ -134,7 +134,7 @@ sub randomQuote {
     foreach ( &ChanConfList('randomQuote') ) {
        next unless (&validChan($_));
 
     foreach ( &ChanConfList('randomQuote') ) {
        next unless (&validChan($_));
 
-       my $line = &getRandomLineFromFile($bot_data_dir. "/blootbot.randtext");
+       my $line = &getRandomLineFromFile($bot_data_dir. "/infobot.randtext");
        if (!defined $line) {
            &ERROR("random Quote: weird error?");
            return;
        if (!defined $line) {
            &ERROR("random Quote: weird error?");
            return;
@@ -743,9 +743,9 @@ sub miscCheck {
     }
 
     # make backup of important files.
     }
 
     # make backup of important files.
-    &mkBackup( $bot_state_dir."/blootbot.chan", 60*60*24*3);
-    &mkBackup( $bot_state_dir."/blootbot.users", 60*60*24*3);
-    &mkBackup( $bot_base_dir."/blootbot-news.txt", 60*60*24*1);
+    &mkBackup( $bot_state_dir."/infobot.chan", 60*60*24*3);
+    &mkBackup( $bot_state_dir."/infobot.users", 60*60*24*3);
+    &mkBackup( $bot_base_dir."/infobot-news.txt", 60*60*24*1);
 
     # flush cache{lobotomy}
     foreach (keys %{ $cache{lobotomy} }) {
 
     # flush cache{lobotomy}
     foreach (keys %{ $cache{lobotomy} }) {
@@ -776,7 +776,7 @@ sub miscCheck {
            # don't touch other bots, if they're running.
            next unless ($param{ircUser} =~ /^\Q$n\E$/);
        } else {
            # don't touch other bots, if they're running.
            next unless ($param{ircUser} =~ /^\Q$n\E$/);
        } else {
-           &DEBUG("shm: $shmid is not ours or old blootbot => ($z)");
+           &DEBUG("shm: $shmid is not ours or old infobot => ($z)");
            next;
        }
 
            next;
        }
 
index 47cbd36666692a08f091a4332ecb52bba4b702d1..e580fa0ece969f578dec4a5059007aebb514727f 100644 (file)
@@ -13,7 +13,7 @@ use vars qw($msgType $who $bot_pid $nuh $shm $force_public_reply
 
 sub help {
     my $topic = shift;
 
 sub help {
     my $topic = shift;
-    my $file  = $bot_data_dir."/blootbot.help";
+    my $file  = $bot_data_dir."/infobot.help";
     my %help  = ();
 
     # crude hack for performStrictReply() to work as expected.
     my %help  = ();
 
     # crude hack for performStrictReply() to work as expected.
index 5e1200bcc5bea765a156c6aa3d3e3f1695cf9629..4af400be9a8b6da2ec074eb819ae38cccd8b3dfd 100644 (file)
@@ -150,7 +150,7 @@ sub Parse {
 }
 
 sub readNews {
 }
 
 sub readNews {
-    my $file = "$::bot_base_dir/blootbot-news.txt";
+    my $file = "$::bot_base_dir/infobot-news.txt";
     if (! -f $file or -z $file) {
        return;
     }
     if (! -f $file or -z $file) {
        return;
     }
@@ -211,7 +211,7 @@ sub writeNews {
     }
 
     # should define this at the top of file.
     }
 
     # should define this at the top of file.
-    my $file = "$::bot_base_dir/blootbot-news.txt";
+    my $file = "$::bot_base_dir/infobot-news.txt";
 
     if (fileno NEWS) {
        &::ERROR("News: write: fileno NEWS exists, should never happen.");
 
     if (fileno NEWS) {
        &::ERROR("News: write: fileno NEWS exists, should never happen.");
index aad95d890e4dafb4aa0dc9a6c2ff526d08a3e4a3..d5ba5530db481850aad5da2c9093bb951d8df6a7 100644 (file)
@@ -1,7 +1,7 @@
 #   Units.pl: convert units of measurement
 #     Author: M-J. Dominus (mjd-perl-units-id-iut+buobvys+@plover.com)
 #    License: GPL, Copyright (C) 1996,1999
 #   Units.pl: convert units of measurement
 #     Author: M-J. Dominus (mjd-perl-units-id-iut+buobvys+@plover.com)
 #    License: GPL, Copyright (C) 1996,1999
-#       NOTE: Integrated into blootbot by xk.
+#       NOTE: Integrated into infobot by xk.
 
 package Units;
 
 
 package Units;
 
index da9deed0667cb7e1ea94ab69a3dd0ffd01dc111f..1c3ab1ce470f95c29626c0afb5cb93cbf8cdb0fd 100644 (file)
@@ -12,7 +12,7 @@ use strict;
 my $select = IO::Select->new;
 
 sub Wingates {
 my $select = IO::Select->new;
 
 sub Wingates {
-    my $file = "$::blootbot_base_dir/$::param{'ircUser'}.wingate";
+    my $file = "$::infobot_base_dir/$::param{'ircUser'}.wingate";
     my @hosts;
 
     open(IN, $file);
     my @hosts;
 
     open(IN, $file);
index c0e32854fdb1a7dd699cdb54f1d88b5ea7744471..5e6b06aa834a7605465d173d1bd1e3cea96f39a4 100644 (file)
@@ -71,7 +71,7 @@ sub pager::page {
                        To => "$to <$toaddr>",
                        From => "$from <$fromaddr>",
                        Subject => "Message from $channel!",
                        To => "$to <$toaddr>",
                        From => "$from <$fromaddr>",
                        Subject => "Message from $channel!",
-                       'X-Mailer' => 'blootbot',
+                       'X-Mailer' => 'infobot',
                );
 
 #              my $logmsg;
                );
 
 #              my $logmsg;
index 13ce1bf95f102354db88030d33730b00620e8cca..652188a8170f82a842d44f9591876e111966d280 100644 (file)
@@ -1,4 +1,4 @@
-# This program is distributed under the same terms as blootbot.
+# This program is distributed under the same terms as infobot.
 
 package wikipedia;
 use strict;
 
 package wikipedia;
 use strict;
index 1b7a68c02fded05360f467f97e7318adfecfeea6..9efaf417d77b281d0fa338eab57239a142cd2610 100644 (file)
@@ -83,7 +83,7 @@ if ( -d 'CVS' ) {
     use POSIX qw(strftime);
     $bot_release       .= strftime(" cvs (%Y%m%d)", gmtime( (stat('CVS'))[9] ) );
 }
     use POSIX qw(strftime);
     $bot_release       .= strftime(" cvs (%Y%m%d)", gmtime( (stat('CVS'))[9] ) );
 }
-$bot_version   = "blootbot $bot_release -- $^O";
+$bot_version   = "infobot $bot_release -- $^O";
 $noreply       = 'NOREPLY';
 
 ##########
 $noreply       = 'NOREPLY';
 
 ##########
@@ -113,7 +113,7 @@ sub doExit {
        &status("parent caught SIG$sig (pid $$).") if (defined $sig);
 
        &status("--- Start of quit.");
        &status("parent caught SIG$sig (pid $$).") if (defined $sig);
 
        &status("--- Start of quit.");
-       $ident ||= 'blootbot';  # lame hack.
+       $ident ||= 'infobot';   # lame hack.
 
        &status("Memory Usage: $memusage KiB");
 
 
        &status("Memory Usage: $memusage KiB");
 
@@ -158,7 +158,7 @@ sub doWarn {
 }
 
 # Usage: &IsParam($param);
 }
 
 # Usage: &IsParam($param);
-# blootbot.config specific.
+# infobot.config specific.
 sub IsParam {
     my $param = $_[0];
 
 sub IsParam {
     my $param = $_[0];
 
@@ -428,7 +428,7 @@ sub setup {
     &status("--- Started logging.");
 
     # read.
     &status("--- Started logging.");
 
     # read.
-    &loadLang($bot_data_dir. "/blootbot.lang");
+    &loadLang($bot_data_dir. "/infobot.lang");
     &loadIRCServers();
     &readUserFile();
     &readChanFile();
     &loadIRCServers();
     &readUserFile();
     &readChanFile();
@@ -456,7 +456,7 @@ sub setup {
 
 sub setupConfig {
     $param{'VERBOSITY'} = 1;
 
 sub setupConfig {
     $param{'VERBOSITY'} = 1;
-    &loadConfig($bot_config_dir."/blootbot.config");
+    &loadConfig($bot_config_dir."/infobot.config");
 
     foreach ( qw(ircNick ircUser ircName DBType tempDir) ) {
        next if &IsParam($_);
 
     foreach ( qw(ircNick ircUser ircName DBType tempDir) ) {
        next if &IsParam($_);
@@ -502,13 +502,13 @@ sub shutdown {
     &status("--- shutdown called.");
 
     # hack.
     &status("--- shutdown called.");
 
     # hack.
-    $ident ||= 'blootbot';
+    $ident ||= 'infobot';
 
 
-    if (!&isFileUpdated("$bot_state_dir/blootbot.users", $wtime_userfile)) {
+    if (!&isFileUpdated("$bot_state_dir/infobot.users", $wtime_userfile)) {
        &writeUserFile()
     }
 
        &writeUserFile()
     }
 
-    if (!&isFileUpdated("$bot_state_dir/blootbot.chan", $wtime_chanfile)) {
+    if (!&isFileUpdated("$bot_state_dir/infobot.chan", $wtime_chanfile)) {
        &writeChanFile();
     }
 
        &writeChanFile();
     }
 
@@ -539,7 +539,7 @@ sub restart {
 
        &DCCBroadcast("-HUP called.",'m');
        &shutdown($sig);
 
        &DCCBroadcast("-HUP called.",'m');
        &shutdown($sig);
-       &loadConfig($bot_config_dir."/blootbot.config");
+       &loadConfig($bot_config_dir."/infobot.config");
        &reloadAllModules() if (&IsParam('DEBUG'));
        &setup();
 
        &reloadAllModules() if (&IsParam('DEBUG'));
        &setup();