From: djmcgrath Date: Tue, 16 Oct 2007 04:36:43 +0000 (+0000) Subject: * Rebranding from blootbot to infobot X-Git-Url: https://git.donarmstrong.com/?p=infobot.git;a=commitdiff_plain;h=0a03234c837cefef8cd59c3f078e8a1732ae35c9 * Rebranding from blootbot to infobot * 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 --- diff --git a/AUTHORS b/AUTHORS index 5efe778..65c82c2 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,3 +1,17 @@ +Infobot (rebranded blootbot): + License: Artistic + Main Author: + - Tim Rike + Other Contributors: + - David Sobon + - Danny Jabbour [GmLB] + - Danny McGrath + +Infobot (original): + License: As perl (GPL & Artistic) + - Kevin A. Lenzo [oznoid] + - Patrick Cole [ltd] + Blootbot: License: Artistic Main Author: @@ -15,16 +29,8 @@ Module-Units: License: GPL - M-J. Dominus -Infobot: - License: As perl (GPL & Artistic) - - Kevin A. Lenzo [oznoid] - - Patrick Cole [ltd] - OnJoin: - Corey Edwards -Patches: - - ... - -Quotes file (files/blootbot.randtext): +Quotes file (files/infobot.randtext): - ??? Ask netgod/larne/is for dpkg's tcl diff --git a/ChangeLog b/ChangeLog index 92811a2..e69de29 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3340 +0,0 @@ -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 :)" -- 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 " - -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 [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 [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 [#channel] [time] " WORKS - - ".-ignore " WORKS - - ".ignore [chan]" WORKS, - - ".adduser " DONE,TODO - - ".deluser " DONE,TODO - - ".+user " WORKS - - ".-user " WORKS - - ".chatset [channel] " 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 -- are also ' 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 ' - => 'uinfo set ' - => 'uinfo unset ' - - 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 ' 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 about ' 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 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 aed3621..f006274 100644 --- a/INSTALL +++ b/INSTALL @@ -3,9 +3,9 @@ Method of installation. - 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 @@ -25,4 +25,4 @@ Method of installation. - There are "bugs" in the perl modules. Read INSTALL.patches on how to fix. -- Finally, './blootbot' +- Finally, './infobot' diff --git a/INSTALL.mysql b/INSTALL.mysql index 5de7a16..f8d04bc 100644 --- a/INSTALL.mysql +++ b/INSTALL.mysql @@ -5,7 +5,7 @@ INSTALL.mysql - Debian: (apt-get install mysql-server libdbd-mysql-perl) - Run 'mysqladmin -u root -p create ' - Where is the same as specified in blootbot.config. + Where is the same as specified in infobot.config. - Run 'setup/setup.pl' @@ -27,13 +27,13 @@ commands: $ mysql -u root -p - mysql> CREATE DATABASE blootbot; + mysql> CREATE DATABASE infobot; 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: - http://lain.cheme.cmu.edu/~apt/blootbot/apt.sql.bz2 + http://lain.cheme.cmu.edu/~apt/infobot/apt.sql.bz2 diff --git a/INSTALL.pgsql b/INSTALL.pgsql index ecab8bc..03a3491 100644 --- a/INSTALL.pgsql +++ b/INSTALL.pgsql @@ -5,25 +5,25 @@ Method of installation. - 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 -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 > createdb --owner= [] Dont forget to replace 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 . 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 . 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: -./blootbot +./infobot Thats it! Everything the bot needs should be automatically created when it loads diff --git a/INSTALL.sqlite b/INSTALL.sqlite index 35c6b7b..66c8425 100644 --- a/INSTALL.sqlite +++ b/INSTALL.sqlite @@ -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. -blootbot will create a file called .sqlite and populate the tables for +infobot will create a file called .sqlite and populate the tables for you if they do not already exist. - Install SQLite libraries and DBI Perl modules. diff --git a/README b/README index d174102..eb0f6fa 100644 --- a/README +++ b/README @@ -1,20 +1,15 @@ -This is out of date. - - - - - - -blootbot v1.0.0 (20000729) -------------------------- +infobot v1.5.0 +-------------- INTRODUCTION - This bot is based upon infobot-0.44.2 by kevin lenzo -. 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 , 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) @@ -29,17 +24,20 @@ FEATURES * 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. + 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. + As of 1.5.0, blootbot was rebranded back to infobot. + + 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 @@ -77,6 +79,7 @@ welcomed. 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 @@ -119,7 +122,8 @@ NOTES through DCC CHAT. /chat . 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. @@ -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 - + 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 -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 c88b2e8..f76aa26 100644 --- 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 praise from blootbot.lang to "praise:" in factoids? - - move lart from blootbot.lang to "lart:" in factoids? + - move praise from infobot.lang to "praise:" in factoids? + - move lart from infobot.lang to "lart:" in factoids? - 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: -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 @@ -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. --- 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 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 = || "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 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 = || "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/scripts/backup_table-master.sh b/scripts/backup_table-master.sh index a98bba7..df30b49 100755 --- a/scripts/backup_table-master.sh +++ b/scripts/backup_table-master.sh @@ -1,7 +1,7 @@ #!/bin/bash BACKUP_SRCDIR="/var/lib/mysql/" -BACKUP_TDIR="blootbot/" +BACKUP_TDIR="infobot/" BACKUP_FILE="/home/a/apt/public_html/tables.tar.bz2" pwd diff --git a/scripts/botchk.sh b/scripts/botchk.sh index 7ed1b0d..f67b5d0 100755 --- a/scripts/botchk.sh +++ b/scripts/botchk.sh @@ -1,7 +1,7 @@ #!/bin/sh BOTDIR=/home/apt/bot -BOTNICK=blootbot +BOTNICK=infobot PIDFILE=$BOTDIR/$BOTNICK.pid if [ -f $PIDFILE ]; then # exists. @@ -10,10 +10,10 @@ if [ -f $PIDFILE ]; then # exists. exit 0 fi - # blootbot removes the pid file. + # infobot removes the pid file. echo "stale pid file; removing." # rm -f $PIDFILE fi cd $BOTDIR -./blootbot +./infobot diff --git a/scripts/dbm2mysql.pl b/scripts/dbm2mysql.pl index 922bbb5..48825b0 100755 --- a/scripts/dbm2mysql.pl +++ b/scripts/dbm2mysql.pl @@ -33,7 +33,7 @@ if (!dbmopen(%db, $dbfile, 0666)) { &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'}); diff --git a/scripts/fixbadchars.pl b/scripts/fixbadchars.pl index 8f9d072..f4f4583 100644 --- a/scripts/fixbadchars.pl +++ b/scripts/fixbadchars.pl @@ -2,7 +2,7 @@ use DBI; -my $dsn = "DBI:mysql:blootbot:localhost"; +my $dsn = "DBI:mysql:infobot:localhost"; my $dbh = DBI->connect($dsn, "USERNAME", "PASSWORD"); my @factkey; diff --git a/scripts/insertDB.pl b/scripts/insertDB.pl index d11cd09..267d43c 100644 --- a/scripts/insertDB.pl +++ b/scripts/insertDB.pl @@ -9,7 +9,7 @@ require "src/logger.pl"; require "src/modules.pl"; require "src/Factoids/DBCommon.pl"; -&loadConfig($bot_config_dir."/blootbot.config"); +&loadConfig($bot_config_dir."/infobot.config"); &loadDBModules(); unless (@_) { diff --git a/scripts/irclog2html.pl b/scripts/irclog2html.pl index 9cef018..6068c9e 100755 --- a/scripts/irclog2html.pl +++ b/scripts/irclog2html.pl @@ -15,7 +15,7 @@ # Modified by Tim Riker # to work with infobot logs -# then modified again for blootbot +# then modified again for infobot # Usage: irclog2html < logfile @@ -90,7 +90,7 @@ sub footer { Jeff Waugh - find it at freshmeat.net! Modified by Tim Riker to work with -blootbot logs, split per channel, etc. +infobot logs, split per channel, etc. }; return $return; @@ -317,7 +317,7 @@ sub main { if (!scalar @ARGV) { print "Usage: irclog2html.pl < 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; diff --git a/scripts/mysql2txt.pl b/scripts/mysql2txt.pl index 53f3b77..2973610 100755 --- a/scripts/mysql2txt.pl +++ b/scripts/mysql2txt.pl @@ -18,7 +18,7 @@ if (!defined $dbname) { } # open the db. -&loadConfig("files/blootbot.config"); +&loadConfig("files/infobot.config"); &loadDBModules(); &openDB($param{'DBName'}, $param{'SQLUser'}, $param{'SQLPass'}); diff --git a/scripts/output_stats.sh b/scripts/output_stats.sh index 0b877bd..409b55f 100644 --- a/scripts/output_stats.sh +++ b/scripts/output_stats.sh @@ -1,7 +1,7 @@ #!/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 diff --git a/scripts/txt2mysql.pl b/scripts/txt2mysql.pl index 47a70b7..88ace25 100755 --- a/scripts/txt2mysql.pl +++ b/scripts/txt2mysql.pl @@ -19,7 +19,7 @@ my $txtfile = shift; 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'}); diff --git a/setup/README b/setup/README index 961d91a..06bd2f1 100644 --- a/setup/README +++ b/setup/README @@ -15,7 +15,7 @@ MySQL until I actually change it) 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 diff --git a/setup/mysql/connections.sql b/setup/mysql/connections.sql index 00dbf49..d1256c1 100644 --- a/setup/mysql/connections.sql +++ b/setup/mysql/connections.sql @@ -3,7 +3,7 @@ CREATE TABLE connections ( 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) ); diff --git a/setup/pgsql/connections.sql b/setup/pgsql/connections.sql index d12244c..7b9872e 100644 --- a/setup/pgsql/connections.sql +++ b/setup/pgsql/connections.sql @@ -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, - 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; diff --git a/setup/setup.pl b/setup/setup.pl index 4977b02..72ad985 100755 --- a/setup/setup.pl +++ b/setup/setup.pl @@ -1,5 +1,5 @@ #!/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. ### @@ -11,8 +11,8 @@ require "src/CLI/Support.pl"; $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'}; diff --git a/setup/sqlite/connections.sql b/setup/sqlite/connections.sql index 00dbf49..d1256c1 100644 --- a/setup/sqlite/connections.sql +++ b/setup/sqlite/connections.sql @@ -3,7 +3,7 @@ CREATE TABLE connections ( 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) ); diff --git a/setup/sqlite2/connections.sql b/setup/sqlite2/connections.sql index 00dbf49..d1256c1 100644 --- a/setup/sqlite2/connections.sql +++ b/setup/sqlite2/connections.sql @@ -3,7 +3,7 @@ CREATE TABLE connections ( 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) ); diff --git a/src/CLI/Support.pl b/src/CLI/Support.pl index 7ee3a0b..60f171c 100644 --- a/src/CLI/Support.pl +++ b/src/CLI/Support.pl @@ -26,7 +26,7 @@ sub cliloop { # 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)) ) { diff --git a/src/CommandStubs.pl b/src/CommandStubs.pl index 00e1eba..d086c48 100644 --- a/src/CommandStubs.pl +++ b/src/CommandStubs.pl @@ -481,7 +481,7 @@ sub lart { $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; diff --git a/src/DynaConfig.pl b/src/DynaConfig.pl index 85168e0..de814b4 100644 --- a/src/DynaConfig.pl +++ b/src/DynaConfig.pl @@ -20,7 +20,7 @@ use vars qw($utime_userfile $ucount_userfile $utime_chanfile $who ##### 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."); @@ -129,14 +129,14 @@ sub writeUserFile { 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); - print OUT "#v1: blootbot -- $ident -- written $time\n\n"; + print OUT "#v1: infobot -- $ident -- written $time\n\n"; ### USER LIST. my $cusers = 0; @@ -235,7 +235,7 @@ sub writeUserFile { ##### 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~"; @@ -304,13 +304,13 @@ sub writeChanFile { 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); - print OUT "#v1: blootbot -- $ident -- written $time\n\n"; + print OUT "#v1: infobot -- $ident -- written $time\n\n"; if ($flag_quit) { diff --git a/src/Files.pl b/src/Files.pl index 938f615..080297f 100644 --- a/src/Files.pl +++ b/src/Files.pl @@ -53,7 +53,7 @@ sub loadLang { # File: Irc Servers list. sub loadIRCServers { - my ($file) = $bot_config_dir."/blootbot.servers"; + my ($file) = $bot_config_dir."/infobot.servers"; @ircServers = (); %ircPort = (); diff --git a/src/IRC/IrcHooks.pl b/src/IRC/IrcHooks.pl index cf873ce..47f9851 100644 --- a/src/IRC/IrcHooks.pl +++ b/src/IRC/IrcHooks.pl @@ -365,7 +365,7 @@ sub on_dcc_open_chat { &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."); } } diff --git a/src/IRC/Schedulers.pl b/src/IRC/Schedulers.pl index a59c939..7c3044d 100644 --- a/src/IRC/Schedulers.pl +++ b/src/IRC/Schedulers.pl @@ -134,7 +134,7 @@ sub randomQuote { 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; @@ -743,9 +743,9 @@ sub miscCheck { } # 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} }) { @@ -776,7 +776,7 @@ sub miscCheck { # 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; } diff --git a/src/Misc.pl b/src/Misc.pl index 47cbd36..e580fa0 100644 --- a/src/Misc.pl +++ b/src/Misc.pl @@ -13,7 +13,7 @@ use vars qw($msgType $who $bot_pid $nuh $shm $force_public_reply 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. diff --git a/src/Modules/News.pl b/src/Modules/News.pl index 5e1200b..4af400b 100644 --- a/src/Modules/News.pl +++ b/src/Modules/News.pl @@ -150,7 +150,7 @@ sub Parse { } 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; } @@ -211,7 +211,7 @@ sub writeNews { } # 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."); diff --git a/src/Modules/Units.pl b/src/Modules/Units.pl index aad95d8..d5ba553 100644 --- a/src/Modules/Units.pl +++ b/src/Modules/Units.pl @@ -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 -# NOTE: Integrated into blootbot by xk. +# NOTE: Integrated into infobot by xk. package Units; diff --git a/src/Modules/Wingate.pl b/src/Modules/Wingate.pl index da9deed..1c3ab1c 100644 --- a/src/Modules/Wingate.pl +++ b/src/Modules/Wingate.pl @@ -12,7 +12,7 @@ use strict; 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); diff --git a/src/Modules/pager.pl b/src/Modules/pager.pl index c0e3285..5e6b06a 100644 --- a/src/Modules/pager.pl +++ b/src/Modules/pager.pl @@ -71,7 +71,7 @@ sub pager::page { To => "$to <$toaddr>", From => "$from <$fromaddr>", Subject => "Message from $channel!", - 'X-Mailer' => 'blootbot', + 'X-Mailer' => 'infobot', ); # my $logmsg; diff --git a/src/Modules/wikipedia.pl b/src/Modules/wikipedia.pl index 13ce1bf..652188a 100644 --- a/src/Modules/wikipedia.pl +++ b/src/Modules/wikipedia.pl @@ -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; diff --git a/src/core.pl b/src/core.pl index 1b7a68c..9efaf41 100644 --- a/src/core.pl +++ b/src/core.pl @@ -83,7 +83,7 @@ if ( -d 'CVS' ) { 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'; ########## @@ -113,7 +113,7 @@ sub doExit { &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"); @@ -158,7 +158,7 @@ sub doWarn { } # Usage: &IsParam($param); -# blootbot.config specific. +# infobot.config specific. sub IsParam { my $param = $_[0]; @@ -428,7 +428,7 @@ sub setup { &status("--- Started logging."); # read. - &loadLang($bot_data_dir. "/blootbot.lang"); + &loadLang($bot_data_dir. "/infobot.lang"); &loadIRCServers(); &readUserFile(); &readChanFile(); @@ -456,7 +456,7 @@ sub setup { 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($_); @@ -502,13 +502,13 @@ sub shutdown { &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() } - if (!&isFileUpdated("$bot_state_dir/blootbot.chan", $wtime_chanfile)) { + if (!&isFileUpdated("$bot_state_dir/infobot.chan", $wtime_chanfile)) { &writeChanFile(); } @@ -539,7 +539,7 @@ sub restart { &DCCBroadcast("-HUP called.",'m'); &shutdown($sig); - &loadConfig($bot_config_dir."/blootbot.config"); + &loadConfig($bot_config_dir."/infobot.config"); &reloadAllModules() if (&IsParam('DEBUG')); &setup();