- TODO...
- - infobot.cgi not ported over.
- - weather not ported over.
- - add alarm call between while in Dict.pl.
-
-*************************************************
-************* CHANGE OVER TO MySQL **************
-*************************************************
-
-v0.18.2 (199912??): dropped.
- - Fix for Weather.pl.
- - Fix for Dict.pl.
- - ...
-
-v0.18.1 (19991130): last public release before database change over.
- - Modified &IsNickInChan() so that a foreach is done case
- insensitively against nick to prevent misses.
- - Added server "jump" support, requested by larne.
- - Added seenMaxDays, maximum number of days to keep seen info on
- someone, otherwise delete it.
- - Forgot to use $main:: in Freshmeat.pl and Weather.pl; fixed.
- - Changed userList format to $userList{$user}{$flag}{$what} = 1;
- Converted all code to use this userList format.
- - Changed version string to include OSname.
- - Replaced $locWho with $who or $origWho.
- - Removed hidden whitespaces and tabs at and of statments.
-
-v0.18.0 (19991128):
- - Post release typo fixes here and there.
- - Changed lc() to tr/A-Z/a-z/ where suitable.
- - Redid join command in Process.pl.
- - Cleaned up regex (mainly .* => \S+).
- - Found $ischan to be broken; fixed.
- - Changed Slashdot3.pl to have "joining" code like in DBMExtra.pl.
- - Made use of &nick() and &IsChan();
- - Added &kick() to Misc.pl; kick command to User.pl.
- - Added &IsNickInChan();
- - Fixed loading Param file before pidfile and other file related
- stuff.
- - User.pl
- - Revamped; removed unused functions.
- - Moved Set.pl to here.
- - Moved 4op code here.
- - Moved some functions from Process.pl to here.
- - Rewrote rehash command.
- - More casing fixes; debugging info _should_ help to find more.
- - Changed infobot.users.
-
-v0.17.0 (19991126):
- - Netsplit code prevented stats of signoffs; fixed.
- - Messed around with logging code to prevent control chars.
- - Removed exchange and excuse module because of brokeness.
- - Applied patch from RevHippie. Thanks!
- - Added delimiter support in addressing of hello msg.
- - Removed 'score' in karma.
- - Added 'learn' (ALWAYS or ADDRESSED) support. Normal
- operation == ADDRESSED. Bot won't respond voluntarily to
- factoids but will respond to learning.
- - Ability to turn off minVolunteerLength.
- - More changes to prevent chatter in unaddressed manner.
- - We remove any ansi or control chars when piping to the log file.
- RevHippie++.
- - Added 'thanks' language.
- - Typo in Freshmeat.pl; Fixed.
- - Added $rootwarnmode = passive || aggressive to satisfy lilo@OPN.
- default is passive.
- - Fixed mix up of fix in 'tell' code. I had the if statements the
- wrong way around.
- - Removed more debug code.
- - FactStats/author fixed; now multiple authors with the same stats
- are printed together.
- - Added logfile cycling w/ approx maximum size.
- - Changed infobot.config yet again. now it's much better than
- before. Some variables removed.
- - Added Unset support to Set.pl; Changed so anything can be set
- or unset.
- - Made use of &purifyNick() so regex doesn't break. $safeWho
- now defined earlier.
-
-v0.16.0 (19991122):
- - Applied bug fixes from infobot 0.44.3, added md5 password
- support (*BSD?).
- - Added &IsParam() to check existance of params the proper
- (strict) way.
- - Moved rootWarn stuff from Extras.pl to RootWarn.pl.
- - filenames (rootwarn and uptime) now not statically set.
- - Cleaned up config file and Setup.pl.
- - Fixed up &parsectcp() in CTCP.pl.
- - Changed ($ischan) to (\S+) in Irc.pl under PRIVMSG.
- - Major reorganisation of Misc.pl -- removed unused functions.
- - Moved some variables to 'infobot'.
- - Fixed ANSI typo by some loser; Changed format of &status()'s in
- Irc.pl, seems to look nice thus far.
- - Added "author" command under &FactStats() in DBMExtra.pl.
- - Added case insensitivity to &IsHostMatch() and search strings in
- DBMExtra.pl. Any more of these?
- - Removed disabled netsplit code.
- - Changed 'defined' to 'exists' on all hash lists, 'cept hashes
- created by opening db's.
- - Modified repeat code on modified_time. If this time is small,
- msgType is changed to 'private' for flooding reasons and
- max_time is reduced by half. latter appears not to work???
-
-v0.15.0 (19991112):
- - Quite funny that once the repeat code was moved to Question.pl
- factoid extension leakage was found. maths leakage was also
- happening but somehow is fixed when the repeat code was moved
- back.
- - Clean up of variable names in Reply.pl and Question.pl
- - Changed 'length' to 'eq ""' or 'ne ""' where possible.
- This should produce faster code but benchmarks prove this change
- is neglible. Guess perl is slow :)
- - Cleaned up and fixed 'tell <who> about <what>' code.
- - Set.pl fixed; Added DEBUG to allowable set list.
- - Volunteer code moved to top of Question.pl.
-
-v0.14.0 (19991110):
- - Message overflow fix in &FactStats().
- - Added 'factstats new' command to display new factoids in the
- last 24 hours.
- - Fixed up ping reply, requested by a few from #debian@OPN.
- - Re-added debugging of DBMExtra due to leakage of orthaned
- factoid extensions. Need to investigate and confirm the
- lowercase fix of factoids.
- - Two functions which used &mkRandom() now fixed due to poor
- effort in implementation. Added missing srand(). now the maximum
- length of 475 should not be exceeded, hopefully. it can be
- beefed up to 490 if needed.
-
-v0.13.0 (19991108):
- - Made use of &help() which uses infobot.help. This paves the way
- for NLS as suggested by njs.
- - Fixed up code on netjoin/netsplit in an effort to find
- statistics leakage. Added debugging info to netjoin/netsplit.
- - Fixed typo (three instances) in factinfo where time() was used
- instead of the data in the factoid extension. Found by larne.
- - Allow main thread to do a clean exit while the child does
- nothing. Possible fix for weird uptime info.
- - Removed sar of 'your|i|you|me' to prevent automated reverse
- persona which is better done by the user. Suggested by njs.
- - Cleaned up behaviour of &FixPlural(). Fixes a bug.
- - Repeat prevention code now replaced (moved aswell) to use
- factoid extensions
- - Fixed 'factstats requested' error.
-
-v0.12.6 (19991103): bugfix on bugfix release ;)
- - Fixed bug where you can't lock a factoid because the hostmatch
- ($thisnuh = "") failed. Found by wolfie.
- - Fixed up 512byte overflow in factstats[requested].
- - hm... wonder how I broke Weather.pl.
-
-v0.12.5 (19991101): Bugfix release
- - Fixed "bad" array in Freshmeat.pl. All appologies to scoop.
- [update: use array[5] if it exists, otherwise do as before.]
- - Removed some debugging info from DBMExtra.pl.
- - Fixed inconsistent chanstats behaviour in SignOff.
- [Update: forgot to delete the user info _after_ we do the stats]
- - Moved factoid stats count and repeat checking code to
- Question.pl. Now it works as planned :) :) :)
-
-v0.12.4 (19991028):
- - Added factstat and listauth commands.
- - 'topic add' now prepends subtopic not append.
- - Fixed up minor problem with 'topic restore last'.
- - Changed default of locking access to people who own their
- factoid or to registered ops. This should please #debian.
- - Reduced usage of @{$var} which cannot be really deleted cleanly.
- - Moved DBMExtra-related stuff from myRoutines.pl to DBMExtra.pl.
- - Added new functions &mkRandom() and &getRandom().
- - Changed all code (Search.pl) which used random to the one
- developed in DBMExtra.pl. => made code slightly smaller.
- - Cleaned up Search.pl to look nice.
- - Found yet another casing bug under TOPIC in Irc.pl.
- - Fixed bug where dbmextra queries where made on non-factoids like
- maths and probably karma.
-
-v0.12.3 (19991025):
- - Added while loop around connect which should prevent the bot
- from falling down (dying).
- - Forgot 'main::' for &getURL in Freshmeat.pl. Changed
- opening/closing code yet again. Removed checking on open
- read-only.
- - Changed Dict.pl to reply private only by default. '+' will allow
- public responses without suggestions/synonyms.
- - Added checking against pidfile. running two bots from the same
- dir at the same time using the same db == disaster. Ask #debian
- about it :)
- - Implemented Weather.pl.
-
-v0.12.1 (19991022):
- - Made distribution out of infobot -> blootbot.
- - Irc.pl was prone to be fucking up -- swapped (.*) to (\S+) where
- necessary. stab lenzo for this :) found more instances of this.
- [update: appears to trap too many of something, check
- 'chaninfo #chan' for info.]
- - Minor fix for Freshmeat.pl when opening/closing db.
- - Factoid extension code is ready for testing. possible in the
- future to add "factstats" for like: top 3 requested factoids.
- [update] added lock checking on sar and on updates ("no, "...)
-
-v0.12.0 (19991020): (v0.11.6 + bugfixes + trial)
- - Major shake-up of how addressing is handled -- damn it took me a
- long time to get this to work.
- - Changed command names in Topic.pl to &topicBlah().
- - Found and fixed (hopefully) all 7 channel casing bugs.
- - Moved freshmeat to use berkeley db instead of raw appindex.txt
- file. finally got it to work, seems 30% faster. Creating the db
- takes a long time though.
- - Added "set" command => Set.pl.
- - Added support of talkMethod which behaves much like lobotomy.
- In the future, talkMethod =~ /(lobotomy|none)/ may be used.
- - Purged: METAR2.pl, NOAA.pl, UAFlight.pl.
- - RootWarn only works if the bot is opped in the channel.
- - Created performStrictReply() from performReply().
- - Quote.pl and Internic.pl now work.
- - Fixed a few typos in myRoutines.pl
- - Removed bold on dictionary.
-
-v0.11.5 (19991012):
- - Fixed $chan to lowercase where appropriate.
- - Fixed volunteer reply code... I guess it worked before but now
- it is somewhat cleaner and easy to understand.
- - Added factoid owner database, requested by njs.
- - If public message is addressed to someone else, we ignore it.
- - Now support referer factoids ('blah is <REPLY> see erp'). if
- 'blah' is asked, the reply from 'erp' is given.
- - OPN allows part messages -- fixed in /PART/ for $chan.
-
-v0.11.3 (19991008):
- - Uptime.pl appears to be fixed after rewrite of getUptimeInfo.
- - Fixed up Freshmeat.pl for updating the index. Proxy is now
- optional.
- - Moved rootWarn to RootWarn.pl. Added hall-of-fame of losers.
- - Cleaned up bugs/typo here and there which may have caused the
- bot to behave in a weird manner.
-
-v0.11.2 (19991006):
- - ChanInfo now displays "statistics" just like our little friend
- BitchX.
- - Minor change in determining args on commands [myRoutines].
- - Added "cmdstats".
- - Added rootWarn checking on checks. Repeat offenders will be
- punished. Requested by larne. [update: we aren't so harsh now]
- - Added lc $chan where appropriate. damn uppercase channames.
-
-v0.11.1 (19991005):
- - all instances of undef on hash lists changed to delete which
- _now_ works. found minor bugs/typos related to DUI.
- - Now skip internic whois intro (13 lines) to fix bad output.
- - Forgot to subtract $i from $counter in chaninfo when full.
- [update: whole function changed, see above]
- - Now backup (and gzip) freshmeat index file.
-
-v0.11 (19991004): looks like a bug fix release :)
- - Fixed typo in reply of Topic.pl/&NewTopic().
- - Decreased max topic length allowed; now print it, too, for
- debugging.
- - Altered repeat code to only work on public. Flooders should be
- taken care of by the (allowOutsiders == 0) code. if not, there's
- 'lobotomy' :)
- - Added excess flood protection around &rawout();
- - Don't bother about outsiders if we haven't joined any channels.
- - Changed email address to one throughout modifications.
- New files have neato headers.
- - Uptime.pl fixed, didn't need to check against ($pid == $$)
- - Repeat-prevention code kind-of looks what it was before but this
- one, at least, works :). any problems, just bitch at me.
- - Added debugging code for chaninfo to diagnose "problem".
-
-v0.10 (19991001):
- - Added Uptime module.
- - Added Freshmeat module.
- - Dict now returns definition without suggestions (syn's) by
- default. Also cleaned up.
- - NickServ/ChanServ major clean up.
- - Join upon reconnect fix: set $joinchans = 0.
- - Fixed up Help.pl, added more help entries.
-
-v0.9b (19990925):
- - Did repeat-prevention code from scratch -- now works.
- [19991001 update]: multiplier is now 2 instead of 10.
- - Made reaction to "hello" more strict. the same should be done to
- "thanks", don't you think?
- - Converted remaining modules to use forking. should be no more
- bot lockups...
- - Changed maxhits to 20 for Search.
-
-v0.9 (19990924): +16K added to patch size.
- - More, more and more major changes.
- - Fixed up inappropriate usage of performReply.
- - Added lobotomy command to (un)silence the bot.
- - Added allowOutsiders toggle to prevent usage of the bot
- _outside_ the channels the bot is in.
- - Added $fullyaddressed, enabled if $addressed == 1 and
- $param{addressing} == REQUIRE.
- - Readded auto-continuity code. it is disable if not fully
- addressed. otherwise works as per normal.
- - Moved join-on-start-of-motd code to end-of-motd. If nickserv &&
- chanserv is enabled, IDENTIFY is done first. If okay, then we
- proceed to join channels.
- - When bot joins channel, summary of nicks (ops|voice|total) is
- given instead of NAMES list.
- - Chanserv support moved to "end of names".
- - Detection of nickserv (no such nick).
- - join channel if channel is on our joins list and if we're not on
- it (hrm, providing their client prevents it).
- - ...
-
-v0.8 (19990919): +50K patch from last version.
- - Major changes, particularly cleanups and fixed a few bugs:
- - Found 2 or so instances of $params{}. Either deleted or
- renamed to $param where appropriate.
- - Shortened foreach statements where possible.
- - Replaced duplicate code involving &say and &msg with
- &performReply($text,[0=rand,1=strict]). -- major shortcut and
- cleanup.
- - Added tracking of all users on channel(s). Users are
- deleted if they disappear for whatever reason with
- &DeleteUserInfo.
- - Tracking of channels now works; they are deleted if we disappear
- from any channel for whatever reason (hopefully).
- - 'forget' command _SHOULD_ be wrapped with $addressed.
- - Moved 'modes' from User.pl to myRoutines.pl as 'chaninfo'.
- - Added stock quote support by using mu's script. Thanks.
- - Added param{*} around stuff in myRoutines.pl for flexibility.
- - Added auto-join on invite if not on specific "join_channels"
- - Renamed &Timetostring to &Time2String and made use of it not
- only for status but for seen.
- - If $param{*} == false, it is now not defined.
- - Removed Auto-continuity code -- very evil for any bot commands
- other than non-intentionally requesting a factoid.
- - crypt command required "(" before passwd???
- - Removed stupid commands which just generate URLs for you to cut
- and paste.
- - repeatIgnoreInterval code _NOW_ works unlike before.
- - Added support for Topic.pl not to update topics if commands are
- prepended by '-'. Topics can be "rehashed" when either a) the
- next command is used without '-' or b) "rehash" is the next
- command.
- - &NewTopic takes two more args to prevent repetition and now does
- topic checking. Check code for details.
-
-v0.7 (19990914):
- - Major clean up: Search.pl now only uses the "is" dbm; final
- pair of parens in commands removed for legibility; Removed
- debugging for NickServ, ChanServ to go.
- - Added multiple subtopic delete ability. requested by Mercury.
- - Moved responses/replies to [files/infobot.lang]. Modified
- related functions to conform, including mine.
- - Fixed up Kernel.pl to use different type of sockets. Previous
- code somehow broke itself.
- - Added, but disabled, semi-working timer support. Need to ask
- lenzo some questions on how to implement it the best way.
- - Added channel (and offender's) notification if someone joins the
- channel with root. requested by #debian.
- - Added dict.org support. For now, it uses wordnet and returns a
- random definition. Could change in the future.
-
-v0.6 (19990903):
- - Added support for nickserv and chanserv, requested by is.
- - Updated README to describe new features and modifications. Do we
- need to elaborate on the modifications to the depth where it
- would exceed the size of the patch?
- - Minor clean up.
- - Removed assumed-continuity of messages -- should be used if
- addressing is in optional mode but would be bad in any situation
- if more than one infobot existed in the channel.
- - Added parsing of g flag to factoid sar.
-
-v0.5 (19990827):
- - Better way to confirm if bot is on channel now for topic
- management. Also added check for +o+t or -t. &DoModes() on
- server stuff, too?
- - Patch updated to work for infobot-0.44.2 only.
- - Found a bug in Irc.pl under "NAMES" where $u was used initially
- but trashed afterwards. => replaced $u w/ $_.
- - Lost track of a bug found by Mercury. Seems to be fixed now,
- somehow, heh.
-
-v0.4c (19990822):
- - Worked on random-cookie -- random responses can now be added
- (internally) with ease.
- - Noticed joeyh changing his nick to/from '||' which reminded me
- of something bad ;) hint: topic management.
- - One line patch to allow '|' in factoids; delimiter is now '||'.
-
-v0.4b (19990818):
- - Implemented patch from mu. Now it is possible to use the topic
- command through private messages to the bot instead of the
- channel.
- - Replaced SAR of \| with \|\| so we can still use the single
- pipes. Double pipes will be either removed or promote an error
- message. Found by Robot101. Added el-cheapo work-around if the
- last char of subtopic is |, kill it.
-
-v0.4a (19990816):
- - Added cheap fix (sleep 1, heh) to excess floods of 'topic
- history'. Is sleep 1 enough?
- - Added 'random' for random value{key} from database.
- Requested by jCommons.
-
-v0.4 (19990815):
- - Fixed topic history by replacing push with unshift. Now the
- history list is reversed and cycled properly.
- - Reversed Changes list. request by mu.
- - Totally fixed up topic history since it would break if
- 'topic add' was induced quickly. Now we only record topics set
- by us (for reasons) and onjoin topics (set by anyone).
- - Removed 'topic last/reset' because how do you know which topic
- is last? Better control with 'topic restore'.
-
-v0.3c (19990813):
- - Fixed 'topic mv 2 before 1' bug. Forgot to store 'move' topic
- before doing the foreach loop.
- - Touched up Kernel.pl in preparation for auto-notify feature.
-
-v0.3b (19990812):
- - Added version string to new files so we know which version
- of patch we're using (or used). There you go, Mercury ;)
- - Fixed up DecipherTopic to reject null subtopics. This would, if
- unchanged, (theoretically but not tried, luckily) produce a
- domino-effect of problems if the topic was to be changed.
- Update: check if the supposed null topic contains spaces
- within the nick component. If so, then it's not
- nick, therefore treat like ownerless subtopic.
- - Worked on README.
-
-v0.3a (19990810):
- - Changed back to use topic{chan} (now topicnow{chan}) since
- @topiclist{chan} (now @topichist{chan}) does not deal with dupes
- or blanks.
- - Renamed 'topic last' in preference to 'topic reset'. Original
- command can be used but is vague in meaning.
- - Fixed several typos made in Irc.pl.
- - Replaced 'defined' with 'length' in if statements.
-
-v0.3 (19990809):
- - Applied patch from mu for Irc.pl | Topic.pl.
- - Replaced %topic hash and $topiclast with @{$topiclist{chan}}.
- Much cleaner implementation. Thanks to mu for this. Fully
- implemented by xk.
- - Reworked on topicbyme (was topiclast), should work now.
-
-v0.2 (19990808):
- - Changed name of patch to funkystuph.
- - Added history/last/restore to Topic.pl by request of mu and is.
- - Reorganised help and order of commands in Topic.pl
- - Bot must be addressed to use commands.
- - Fixed bug if multiple infobots were in the channel.
- - One occurrence where Cipher was called instead of CipherTopic.
- - Fixed up Slashdot.pl. Problems: a) borked completely b) missed
- first headline. el-cheapo fix but it works.
-
-v0.1c (19990729):
- - Fixed long list{keys|values} bug, hopefully.
- - Now randomize key results from search.
- - If keys contain ',', underline to differentiate it.
- - Fixed possible DoS against Kernel.pl.
- - Bug fixed with Kernel.pl repeating itself.
- - Typo of @results [one occurrance of @result]
-
-v0.1b (19990723):
- - Fixed bug with &CipherTopic where, if no owner was found, it
- would just use NULL. [like "Topic ()"]
- - Added kernel feature.
- - Moved error messages to public/private, depending on behaviour.
- Help-related stuff is private(msg) only for convenience.
-
-v0.1a (19990721):
- - Misc cleanup, removed repeated code.
-
-v0.1 (19990720):
- - Initial release.