mirror of
				https://github.com/Mikaela/Limnoria.git
				synced 2025-10-26 13:07:21 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			1200 lines
		
	
	
		
			42 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1200 lines
		
	
	
		
			42 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 2004-09-17 James Vega <jamessan@users.sf.net>
 | |
| 
 | |
| 	* Version 0.80.0pre2!
 | |
| 
 | |
| 	* Added supybot.plugins.Google.colorfulSnarfer, which determines
 | |
| 	whether the word 'google' in the bot's output will be made colorful
 | |
| 	(like Google's logo).
 | |
| 
 | |
| 	* Added the Time plugin, to hold all of our Time related commands.
 | |
| 
 | |
| 	* Added max() and min() to Math.calc.
 | |
| 	
 | |
| 	* Added Unix.pid, which allows the Owner to retrieve the pid of the
 | |
| 	bot's process.
 | |
| 
 | |
| 	* Added supybot.plugins.Sourceforge.enableSpecificTrackerCommands,
 | |
| 	which enables the rfe, bug, and patch commands.
 | |
| 
 | |
| 	* Added Topic.topic, which returns the current topic of the channel.
 | |
| 
 | |
| 	* Updated conf.Databases to use a more sane database ordering and
 | |
| 	include anydbm.
 | |
| 
 | |
| 	* Updated various plugins to use our new-style database abstraction.
 | |
| 	Plugin databases using this new-style will be named Plugin.dbtype.db.
 | |
| 
 | |
| 2004-09-12 Jeremy Fincher <jemfinch@supybot.org>
 | |
| 
 | |
| 	* Version 0.80.0pre1!
 | |
| 	
 | |
| 	* Added the facility to supporting several different database
 | |
| 	implementations in a plugin, allowing the user to specify which
 | |
| 	databases are supported as well as in what order of preference.
 | |
| 
 | |
| 	* Added the Insult plugin, for colorful, creative insults.
 | |
| 
 | |
| 	* Added the UrbanDict plugin, for defining words based on
 | |
| 	UrbanDictionary.com.
 | |
| 
 | |
| 	* Added the Observer plugin, for watching a channel for regexps
 | |
| 	and running commands when the bot sees such regexps.
 | |
| 
 | |
| 	* Moved Http.geekquote to a new Geekquote plugin, added a command
 | |
| 	for using qdb.us, and added a snarfer.
 | |
| 
 | |
| 	* Added a SuperIgnore plugin, a good example of an inFilter and a
 | |
| 	way to completely, totally ignore people.
 | |
| 
 | |
| 	* Changed the name of the Network plugin to Internet.
 | |
| 
 | |
| 	* Added a new Network plugin, and moved some commands from Owner,
 | |
| 	Misc, and Relay to it.
 | |
| 	
 | |
| 	* Added CTCP flood protection.
 | |
| 
 | |
| 	* Added a supybot.plugins.Karma.allowUnaddressedKarma
 | |
| 	configuration variable, for allowing karma increments/decrements
 | |
| 	similar to Infobot.
 | |
| 
 | |
| 	* Added supybot.reply.whenAddressedBy.nicks, to allow users to
 | |
| 	specify a list of nicks to which the bot will respond as if they
 | |
| 	were its own nick.
 | |
| 
 | |
| 	* Added the ability to support multiple-word karma
 | |
| 	increments/decrements.
 | |
| 	
 | |
| 	* Changed Owner.rename to be handled persistently; now renames
 | |
| 	work across restarts of the bot or reloads of a plugin.
 | |
| 	
 | |
| 	* Changed Misc.last to include a timestamp for when the message
 | |
| 	was sent.
 | |
| 	
 | |
| 	* Added the Channel.alert command, to send all currently
 | |
| 	connected ops on a channel a message.
 | |
| 	
 | |
| 	* Changed the MoobotFactoids plugin to allow commands to be
 | |
| 	nested in factoids definitions and searches.
 | |
| 	
 | |
| 	* Removed the futurama command in favor of adding a
 | |
| 	futurama.supyfact file to supybot-data.
 | |
| 	
 | |
| 	* Improved the Http.kernel command, showing more kernel types.
 | |
| 	
 | |
| 	* Added a new contributors command and a way of storing
 | |
| 	contributors and their contributions in a plugin.
 | |
| 	
 | |
| 	* Changed the name of Anonymous.action to Anonymous.do, to be
 | |
| 	more consistent with "say" and other bots (MozBot, iirc).
 | |
| 
 | |
| 	* Added the ability for channel bans and ignores and global
 | |
| 	ignores to have expiration times.
 | |
| 
 | |
| 	* Added invalid command flood protection.
 | |
| 
 | |
| 	* Changed RSS' headlines output to bold the separators in order
 | |
| 	to make it easier to distinguish the headlines.
 | |
| 
 | |
| 	* Added a --no-network option to supybot-wizard.
 | |
| 	
 | |
| 	* Added several attributes to IrcMsg objects as they pass through
 | |
| 	the bot; currently we tag them with receivedAt, receivedBy, and
 | |
| 	receivedOn.
 | |
| 	
 | |
| 	* Added RichReplyMethods.errorInvalid, a nice helper method for
 | |
| 	sending errors about invalid values.
 | |
| 	
 | |
| 	* Changed the --nonetwork and --noplugins options to test/test.py
 | |
| 	to --no-network and --no-plugins.
 | |
| 	
 | |
| 	* Changed plugins.makeChannelFilename, swapping the order of the
 | |
| 	channel and filename arguments and making the channel optional.
 | |
| 	
 | |
| 	* Changed the first argument to callbacks.Privmsg.callCommand to
 | |
| 	be a name rather than a method, for greater justice.
 | |
| 	
 | |
| 	* Added a new mechanism for ordering plugins (subclasses of
 | |
| 	callbacks.Privmsg) which is much more flexible than a simple
 | |
| 	priority system.
 | |
| 
 | |
| 	
 | |
| 2004-09-06 James Vega <jamessan@users.sf.net>
 | |
| 
 | |
| 	* Version 0.79.9999!
 | |
| 
 | |
| 	* Added stripFormatting option to ChannelLogger plugin, which
 | |
| 	determines whether non-printable formatting characters are logged.
 | |
| 
 | |
| 	* Added Sourceforge.patches command to complement the current bugs
 | |
| 	and rfes commands.
 | |
| 
 | |
| 	* Added abs() to Math.calc.
 | |
| 
 | |
| 	* Improved the interface for Config.list. Now groups and values
 | |
| 	are listed, with groups being denoted by a leading @.
 | |
| 
 | |
| 	* Improved Config.config such that the user can specify the entire
 | |
| 	config variable name (conf.supybot....).
 | |
| 
 | |
| 	* Fixed a bug where ChannelLogger wouldn't log ignored nicks.
 | |
| 
 | |
| 	* Fixed an incorrect path in INSTALL.
 | |
| 
 | |
| 	* Fixed some missing imports in Unix's configure method.
 | |
| 
 | |
| 	* Fixed a bug where an owner could publically retrieve a private
 | |
| 	configuration variable.
 | |
| 
 | |
| 	* Fixed an exception when trying to remove non-existent Heralds.
 | |
| 
 | |
| 	* Fixed an exception in RSS.getHeadlines.
 | |
| 
 | |
| 	* Fixed a couple bugs in Poll, when retrieving the Poll id.
 | |
| 
 | |
| 	* Fixed a problem with trying to use socket.inet_pton under
 | |
| 	Windows; Python doesn't build their Win32 port with IPV6 support,
 | |
| 	so we have to brute-force IPV6 detection.
 | |
| 
 | |
| 	* Fixed a few bugs with how Infobot handled the SQLite db.
 | |
| 
 | |
| 	* Fixed others/convertcore.py so that liter-based units are
 | |
| 	properly capitalized (L not l) and use 1000 as the conversion rate
 | |
| 	for MB, KB, etc. since MiB, KiB, etc. are also known units.
 | |
| 
 | |
| 	* Fixed a bug where Infobot would confirm an unaddressed factoid
 | |
| 	definition.
 | |
| 
 | |
| 	* Fixed a problem where Google.stats didn't keep track of all
 | |
| 	searches.
 | |
| 
 | |
| 
 | |
| 2004-08-31 Jeremy Fincher <jemfinch@supybot.org>
 | |
| 
 | |
| 	* Version 0.79.999!
 | |
| 
 | |
| 	* Added the ability to send long fortunes line-by-line rather
 | |
| 	than all in one (or several) messages; it will do this if
 | |
| 	supybot.reply.oneToOne is set to False.
 | |
| 
 | |
| 	* Added many configuration variables to the Unix plugin, allowing
 | |
| 	configurable commands and options to those commands.
 | |
| 
 | |
| 	* Changed the output of Config.list to show groups with a
 | |
| 	preceding @, rather than use the --groups option.
 | |
| 
 | |
| 	* Changed the Google.stats (formerly Google.info) command to be
 | |
| 	persistent, using the registry to record old values for the
 | |
| 	number of searches made and the number of seconds Google has
 | |
| 	spent searching for the bot.
 | |
| 
 | |
| 	* Added module __revision__ logging to our exception logs, for
 | |
| 	more information in bug reports.
 | |
| 
 | |
| 	* Fixed a bug with asyncoreDrivers' handling of reconnects; it
 | |
| 	would not reconnect when commanded to if it had reconnected
 | |
| 	before.
 | |
| 
 | |
| 	* Fixed several bugs where the bot was testing nicks for
 | |
| 	equivalence without first normalizing them, leading to some false
 | |
| 	negatives.
 | |
| 
 | |
| 	* Fixed a bug with the handling of
 | |
| 	supybot.reply.withNoticeWhenPrivate so all private messages
 | |
| 	really are replied to with a notice.
 | |
| 
 | |
| 	* Fixed Http.geekquote to match the current bash.org layout.
 | |
| 	Also, made sure all ids are valid ids before requesting a quote
 | |
| 	(apparently bash.org is returning a certain quote for all invalid
 | |
| 	ids).
 | |
| 
 | |
| 	* Fixed a bad regular expression in the Ebay plugin which could
 | |
| 	cause the bot to suck up 100% CPU for a signficant (perhaps
 | |
| 	practically infinite) amount of time.
 | |
| 
 | |
| 	* Fixed a bug where the bot would sometimes reconnect to a
 | |
| 	network after being told to disconnect.
 | |
| 
 | |
| 	* Fixed an uncaught exception in Owner.connect when the user
 | |
| 	forgets the network name
 | |
| 
 | |
| 
 | |
| 2004-08-30  Jeremy Fincher  <jemfinch@supybot.org>
 | |
| 
 | |
| 	* Version 0.79.99!  We're getting asymptotically closer to
 | |
| 	0.80.0!
 | |
| 
 | |
| 	* Added Anonymous.action, to anonymously perform actions in a
 | |
| 	specified channel.
 | |
| 
 | |
| 	* Added a Karma.clear, so channel ops can clear the karma for a
 | |
| 	given name.
 | |
| 
 | |
| 	* Added a Topic.redo, to redo the last undo.
 | |
| 
 | |
| 	* Added supybot.protocols.irc.umodes, to allow the bot to set
 | |
| 	user modes upon connecting to a network.
 | |
| 
 | |
| 	* Fixed numerous bugs involved with disconnecting, reconnecting,
 | |
| 	and using multiple networks.
 | |
| 
 | |
| 	* Fixed a bug that would prevent the bot from quitting except via
 | |
| 	multiple Ctrl-Cs.
 | |
| 
 | |
| 	* Fixed some mis-interaction between the Karma plugin and the
 | |
| 	Infobot plugin.
 | |
| 
 | |
| 	* Fixed RSS's announcements.
 | |
| 
 | |
| 	* Fixed bug in Later whereby no more than one message could be
 | |
| 	queued for a nick.
 | |
| 
 | |
| 	* Fixed Services.configure, as well as several bugs in Services
 | |
| 	which sometimes prevented the bot from identifying.
 | |
| 
 | |
| 	* Fixed bugs in the Poll module that caused the list and poll
 | |
| 	commands not to work.
 | |
| 
 | |
| 	* Fixed the ebay snarfer.
 | |
| 
 | |
| 	* Fixed exception raised by some CTCP messages when the URL
 | |
| 	plugin was loaded.
 | |
| 
 | |
| 	* Fixed Debian.version.
 | |
| 
 | |
| 	* Fixed Amazon's use of unicode.
 | |
| 
 | |
| 
 | |
| 2004-08-27  Jeremy Fincher  <jemfinch@supybot.org>
 | |
| 
 | |
| 	* Version 0.79.9!
 | |
| 
 | |
| 	* Added Infobot, a plugin to emulate Infobot.
 | |
| 
 | |
| 	* Added Anonymous, a plugin for anonymously saying things to a
 | |
| 	channel.
 | |
| 
 | |
| 	* Added Tail, a plugin which will tail logfiles and send the
 | |
| 	new lines to a configurable list of targets.
 | |
| 
 | |
| 	* Added NickCapture, a plugin which tries to recapture a nick
 | |
| 	that's being used by someone else, both by watching for QUITs
 | |
| 	with that nick and by checking via ISON for that nick.
 | |
| 
 | |
| 	* Changed the behavior of "seen" with the --user switch instead to
 | |
| 	be a separated command, Seen.user.
 | |
| 
 | |
| 	* Changed the behavior of "seen" with no arguments instead to be
 | |
| 	a separate command, Seen.last.
 | |
| 
 | |
| 	* Moved the connect and disconnect commands from the Relay plugin
 | |
| 	to the Owner plugin, so a Supybot can be on multiple networks
 | |
| 	without ever loading the Relay plugin.
 | |
| 
 | |
| 	* Added relay bot detection to the Relay plugin.  Now, rather
 | |
| 	than get involved in a loop with another relay bot, a Supybot
 | |
| 	will (if it has ops) rain down its wrath upon the offender.
 | |
| 
 | |
| 	* Added supybot.plugins.Quotes.requireRegistration, which
 | |
| 	determines whether a user need be registered to add Quotes to
 | |
| 	the Quotes database.
 | |
| 
 | |
| 	* Added supybot.plugins.RSS.showLinks, which determines whether
 | |
| 	the bot will show links to the RSS headlines along with the
 | |
| 	normally displayed titles.
 | |
| 
 | |
| 	* Removed supybot.reply.withPrivateNotice and split it into two
 | |
| 	separate configuration variables, supybot.reply.withNotice and
 | |
| 	supybot.reply.inPrivate.
 | |
| 
 | |
| 	* Added supybot.log.stdout.wrap, to allow optional (defaulting to
 | |
| 	True) wrapping of stdout logs.
 | |
| 
 | |
| 	* Added supybot.databases.plugins.channelSpecific, a value that
 | |
| 	determines whether the database used for channel-based plugins
 | |
| 	will be a channel-specific database or a global database.  This
 | |
| 	value, ironically enough, is channel-specific -- channels can
 | |
| 	each individually decide to be "part of the Borg" or to "be their
 | |
| 	own channel."  The default, of course, is for databases to be
 | |
| 	channel-specific.
 | |
| 
 | |
| 	* Changed the way channel databases are handled; instead of
 | |
| 	generating #channel-<name> files, instead we create a subdirectory
 | |
| 	of the data directory named #channel, and then stick all the files
 | |
| 	in there.  It's a much cleaner way to do things, in our opinion.
 | |
| 
 | |
| 	* Added several configuration variables to the Status plugin to
 | |
| 	determine how verbose the cpu command is.  These are, of course,
 | |
| 	channel-specific.
 | |
| 
 | |
| 	* Added a configuration variable to the Dunno plugin,
 | |
| 	supybot.plugins.Dunno.prefixNick, which determines whether the
 | |
| 	bot will prefix the nick of the user giving an invalid command to
 | |
| 	its "dunno" response.  Formerly, it never would; the default for
 | |
| 	this variable, however, is True, because that's how the rest of
 | |
| 	Supybot works.
 | |
| 
 | |
| 	* Added Owner.rename, a command for renaming commands in other
 | |
| 	plugins.
 | |
| 
 | |
| 	* Added Config.channel, for getting/setting channel configuration
 | |
| 	variables.
 | |
| 
 | |
| 	* Fixed the problem with channels with dots or colons in them
 | |
| 	raising exceptions whenever the registry was accessed.
 | |
| 
 | |
| 	* Changed Fun.eightball to provide a similar answer for a question
 | |
| 	asked multiple times.
 | |
| 
 | |
| 	* Changed Fun.roulette to use a 6-barrel revolver.
 | |
| 
 | |
| 	* Changed Bugzilla to use the registry, rather than a custom
 | |
| 	flatfile database format.
 | |
| 
 | |
| 	* Added the KeepAlive plugin, to send useless keepalive messages
 | |
| 	to someone every some period.  It's mostly just because we
 | |
| 	noticed that MozBot had one, and we couldn't allow ourselves to
 | |
| 	be outdone.
 | |
| 
 | |
| 	* Changed the URL plugin to use flatfiles rather than SQLite
 | |
| 	database.  Also reduced the functionality of the last command by
 | |
| 	removing some options that no one ever really used, and removed
 | |
| 	the random command (who uses that anyway?)
 | |
| 
 | |
| 	* Changed the Words plugin not to use SQLite.  We lose the
 | |
| 	anagram command, but crossword and hangman become much easier to
 | |
| 	use, since all the user has to do is put a words file in
 | |
| 	data/words.
 | |
| 
 | |
| 	* Changed the Relay plugin to rely only on the registry, allowing
 | |
| 	it to start and join all networks and channels with no user/owner
 | |
| 	interaction at all.  Also, removed the Relay.say and
 | |
| 	Relay.reconnect commands, since both can be accomplished easily
 | |
| 	using the Relay.command command in combination with
 | |
| 	Owner.reconnect and Anonymous.say commands.
 | |
| 
 | |
| 	* Added supybot.reply.withNoticeWhenPrivate, to make the bot
 | |
| 	reply with a notice when it privately messages a user -- this
 | |
| 	generally means that the user's client won't open a query window,
 | |
| 	which may be nice.  Do note that users can override this setting
 | |
| 	via the user registry variable of the same name.
 | |
| 
 | |
| 	* Added supybot.nick.alternates, which allows a list of alternate
 | |
| 	nicks to try, in order, if the primary nick (supybot.nick) is
 | |
| 	taken.  Also added a nick-perturbation function that will change
 | |
| 	supybot.nick if there are no alternates or if they're all taken
 | |
| 	as well.  As a result, removed supybot.nickmods.
 | |
| 
 | |
| 	* Changed ChannelLogger to log channels to logs/ChannelLogger,
 | |
| 	rather than simply logs.
 | |
| 
 | |
| 	* Added the ChannelRelay plugin, to relay messages between two
 | |
| 	channels.  This might be useful for people who want to forward
 | |
| 	CVS update messages from one channel (such as #commits) to
 | |
| 	another.
 | |
| 
 | |
| 	* Added Channel.mode, to set modes in the channel, Channel.limit,
 | |
| 	to set the channel limit, Channel.moderate and
 | |
| 	Channel.unmoderate, to set +m and -m, respectively, and
 | |
| 	Channel.key to set or unset the channel keyword.
 | |
| 
 | |
| 	* Added a new plugin, Format, which offers several commands for
 | |
| 	formatting strings on IRC.  Moved several commands from to it
 | |
| 	from the Utilities plugin.
 | |
| 
 | |
| 	* Improved the functionality of RSS.announce.  Calling it with
 | |
| 	no arguments now lists the currently announced feeds.  Removing
 | |
| 	feeds is done by specifying the --remove option.
 | |
| 
 | |
| 	* Added a reconnect command to the Owner plugin.
 | |
| 
 | |
| 	* Added aol and rainbow filters to the Filter plugin.
 | |
| 
 | |
| 	* Added Nickometer plugin, a translation of Infobot's Nickometer.
 | |
| 
 | |
| 	* Added multiple recipient support for notes.
 | |
| 
 | |
| 	* Added BadWords.list, to list the bad words currently being
 | |
| 	censored by the bot.
 | |
| 
 | |
| 	* Changed Misc.help to allow plugins to specify their own help,
 | |
| 	and added help for several of the more confusing plugins.
 | |
| 
 | |
| 	* Added Dunno.stats, to return the number of dunnos in the
 | |
| 	database.
 | |
| 
 | |
| 	* Added the Currency plugin, to perform currency conversions.
 | |
| 
 | |
| 	* Added conf.supybot.plugins.Karma.allowSelfRating, which
 | |
| 	determines whether users are allowed to adjust the karma of their
 | |
| 	current nick.
 | |
| 
 | |
| 	* Added --nolimit option to Misc.last, which causes it to return
 | |
| 	all matches that are in the history.
 | |
| 
 | |
| 	* Added conf.supybot.plugins.Herald.defaultHerald, which provides
 | |
| 	a default herald to use for unregistered users.  Herald.default
 | |
| 	was also added as a friendly interface to managing the
 | |
| 	defaultHerald.
 | |
| 
 | |
| 	* Added Weather.wunder, which uses wunderground.com to report the
 | |
| 	current weather status.
 | |
| 
 | |
| 	* Changed supybot.defaultCapabilities to be a space-separated
 | |
| 	list rather than a comma-separated list.  Also added a check to
 | |
| 	make sure -owner was in supybot.defaultCapabilities, and to
 | |
| 	require a command-line option to allow it not to be present.
 | |
| 
 | |
| 	* Added Sourceforge.fight, which returns the list of specified
 | |
| 	projects and their bug/rfe count in sorted order, least to most.
 | |
| 
 | |
| 	* Added Utilities.reply for replying to a person with text.  Like
 | |
| 	echo, but it prepends the nick like the bot normally does.
 | |
| 
 | |
| 	* Changed Utilities.success to accept an optional <text> argument
 | |
| 	for text to be appended to the success message.
 | |
| 
 | |
| 	* Changed User.{addhostmask,removehostmask,register,unregister}
 | |
| 	to allow owner users to do what they will with their users.  You
 | |
| 	can now add hostmasks, remove hostmasks, register users, and
 | |
| 	unregister users willy-nilly.
 | |
| 
 | |
| 	* Changed and moved several configuration variables.
 | |
| 	supybot.{throttleTime,maxHistoryLength,pingServer,pingInterval}
 | |
| 	all moved to supybot.protocols.irc; supybot.httpPeekSize moved to
 | |
| 	supybot.protocols.http; supybot.threadAllCommands moved to
 | |
| 	supybot.debug.threadAllCommands, and probably a few others I
 | |
| 	forgot to mention.
 | |
| 
 | |
| 	* Added Http.zipinfo, which returns a veritable plethora of
 | |
| 	information about the supplied zip code.
 | |
| 
 | |
| 	* Added a configuration variable for every plugin, "public", that
 | |
| 	determines whether the plugin is considered public (i.e., whether
 | |
| 	it will show up in the list command when the list command isn't
 | |
| 	given the --private option).
 | |
| 
 | |
| 	* Added Misc.author, a command for finding out which author
 | |
| 	claims a particular plugin.
 | |
| 
 | |
| 	* Added Topic configuration supybot.plugins.Topic.format template
 | |
| 	string allowing full customization of the Topic items.
 | |
| 
 | |
| 	* Added Topic.lock and Topic.unlock, for locking and unlocking
 | |
| 	the topic (setting +t or -t, respectively)
 | |
| 
 | |
| 	* Added Topic.restore, for restoring the topic to the last-sent
 | |
| 	topic.  Useful for when people change your carefully crafted
 | |
| 	topic by means other than the bot.
 | |
| 
 | |
| 	* Changed supybot.brackets so you can now provide the empty
 | |
| 	string, which means you cannot do nesting of commands.
 | |
| 
 | |
| 	* Added Utilities.last, which replies with the last string
 | |
| 	given to it.  This is useful for sequencing commands and then
 | |
| 	replying with the output of the last commnad.
 | |
| 
 | |
| 	* Updated RSS.info to accept a feed name as well as a url.
 | |
| 
 | |
| 	* Added a signal handler for SIGTERM, so you folks killing your
 | |
| 	bots uncleanly won't have as many bugs :)
 | |
| 
 | |
| 	* Added a signal handler for SIGHUP that reloads the bot's
 | |
| 	various configuration files.
 | |
| 
 | |
| 	* Added a new configuration variable, supybot.pidFile, which
 | |
| 	determines what file the bot should write its PID to.  The
 | |
| 	default is not to write the PID file at all.
 | |
| 
 | |
| 	* Added a comma argument to utils.commaAndify, which specifies the
 | |
| 	character to use in place of the comma.
 | |
| 
 | |
| 
 | |
| 2004-04-16  Jeremy Fincher  <jemfinch@supybot.org>
 | |
| 
 | |
| 	* Version 0.77.2!
 | |
| 
 | |
| 	* Fixed numerous bugs, high and low, big and small and
 | |
| 	in-between.  Definitely worthy of a release.
 | |
| 
 | |
| 	* Added supybot.plugins.ChannelLogger.includeNetworkName, so the
 | |
| 	logs aren't strangified when relaying between channels.
 | |
| 
 | |
| 	* Added a --capability option to User.list, to allow people to
 | |
| 	list all the users possessing a certain capability.  The main
 | |
| 	reason this was added is so jemfinch can tell who owns which
 | |
| 	Supybots on #supybot :)
 | |
| 
 | |
| 	* Added Utilities.success, mostly for making aliases such that
 | |
| 	they can respond with success if no errors were encountered in
 | |
| 	any nested commands.
 | |
| 
 | |
| 	* Changed the name of the new filter, colorstrip, to be
 | |
| 	stripcolor.  Better now than after it was highly established :)
 | |
| 
 | |
| 	* Added configuration variables
 | |
| 	supybot.plugins.Services.NickServ.password (which replaces the
 | |
| 	old supybot.plugins.Services.password) for specifying the
 | |
| 	NickServ password, as well as
 | |
| 	supybot.plugins.Services.ChanServ.{op,halfop,voice}, which
 | |
| 	determine what the bot should request of ChanServ when it
 | |
| 	identifies or joins a channel.  These latter variables are, of
 | |
| 	course, channel variables.
 | |
| 
 | |
| 	* Added configuration variable
 | |
| 	supybot.plugins.Babelfish.languages (which replaces the old
 | |
| 	supybot.plugins.Babelfish.disabledLanguages) for specifying
 | |
| 	which languages will be translated/spoken.
 | |
| 
 | |
| 	* Fixed bug #863601, plugin BadWords fails on color codes.
 | |
| 
 | |
| 	* Replaced Sourceforge.{rfe,bug} with Sourceforge.tracker, which
 | |
| 	can query any tracker type (not just RFEs and bugs) and responds
 | |
| 	with more information, a la trackerSnarfer.
 | |
| 
 | |
| 	* Added supybot.log.individualPluginLogfiles, which determines
 | |
| 	whether plugin logs will be logged to their individual logfiles
 | |
| 	in addition to the misc.log logfile.
 | |
| 
 | |
| 	* Added supybot.plugins.WordStats.ignoreQueries, which, when
 | |
| 	true, makes the bot ignore queries (and not increment its word
 | |
| 	statistics).
 | |
| 
 | |
| 	* Added the LogToIrc plugin, for sending logs to an IRC
 | |
| 	channel or nick.  Useful for traceback notification and whatnot.
 | |
| 
 | |
| 	* Changed supybot.log.timestampFormat to specially handle the
 | |
| 	empty string -- if it's set to the empty string, it will log
 | |
| 	times in seconds-since-epoch format.
 | |
| 
 | |
| 	* Added supybot.plugins.Weather.convert, which determines whether
 | |
| 	or not Weather.{weather,cnn,ham} will convert temperature to the
 | |
| 	configured temperatureUnit.
 | |
| 
 | |
| 	* Changed User.setpassword not to require the <old password> to
 | |
| 	be correct if the requesting user has the owner capability (and
 | |
| 	isn't the owner himself).
 | |
| 
 | |
| 	* Added ircutils.strip{Bold,Reverse,Underline,Formatting}, which
 | |
| 	will remove the specified formatting or all forms of formatting
 | |
| 	in the case of stripFormatting.
 | |
| 
 | |
| 
 | |
| 2004-04-09  Jeremy Fincher  <jemfinch@supybot.org>
 | |
| 
 | |
| 	* Version 0.77.1!
 | |
| 
 | |
| 	* Added supybot.reply.errorWithNotice to make the bot give its
 | |
| 	error messages in a notice.
 | |
| 
 | |
| 	* Added Filter.colorstrip, an outfilter that strips all color
 | |
| 	codes from messages.
 | |
| 
 | |
| 	* Added supybot.plugins.BadWords.{replaceMethod, nastyChars,
 | |
| 	simpleReplacement, requireWordBoundaries}; see the associated
 | |
| 	help strings to find out what they do.
 | |
| 
 | |
| 	* Added supybot.plugins.Babelfish.disabledLanguages, to disable
 | |
| 	certain languages from being translated/spoken.
 | |
| 
 | |
| 	* Added supybot.reply.maximumMores, to give users the ability to
 | |
| 	set the maximum number of "more" chunks replies will generate.
 | |
| 
 | |
| 	* Added supybot.reply.truncate, to turn off the normal chunking
 | |
| 	of replies that later can be retrieved with the more command.
 | |
| 	Setting this variable to On means that no chunks will ever be
 | |
| 	created.
 | |
| 
 | |
| 	* Added supybot.plugins.Enforcer.takeRevengeOnOps, which makes
 | |
| 	the bot even take revenge on #channel,ops who try to violate the
 | |
| 	channel configuration.  Of course, such people can change the
 | |
| 	channel configuration to their bidding, but it's a decent
 | |
| 	protection against errant botscripts or something.
 | |
| 
 | |
| 	* Added supybot.plugins.Channels.alwaysRejoin, to make the bot
 | |
| 	always rejoin when it's kicked.
 | |
| 
 | |
| 	* Added supybot.databases.users.hash, allowing those running bots
 | |
| 	to specify the default hashed/unhashed state of user passwords in
 | |
| 	the config file.
 | |
| 
 | |
| 	* Added Debian.bug, which retrieve bug info from Debian's BTS.
 | |
| 
 | |
| 	* Changed Relay.names to Relay.nicks, to be consistent with
 | |
| 	Channel.nicks.
 | |
| 
 | |
| 	* Added supybot.brackets, a configuration variable for specifying
 | |
| 	which set of matching brackets to use for nested commands.  Valid
 | |
| 	values are [] (the default), {}, <>, and ().
 | |
| 
 | |
| 	* Added a configuration variable to ChannelLogger, timestamp,
 | |
| 	which determines whether the bot will timestamp its logfiles.
 | |
| 	This is a channel-specific variable, of course.
 | |
| 
 | |
| 	* Updated ChannelLogger not to log messages starting with
 | |
| 	[nolog], in order to allow private information to remain private.
 | |
| 
 | |
| 	* Added a configuration variable to ChannelLogger,
 | |
| 	flushImmediately, to cause all channel logs to be flushed every
 | |
| 	time they're modified, for those people who like to read the logs
 | |
| 	through tail -f or something similar.
 | |
| 
 | |
| 	* Updated WordStats to allow removing of tracked words.
 | |
| 
 | |
| 	* Updated Seen.seen to accept no arguments and return the last
 | |
| 	message spoken by anyone.
 | |
| 
 | |
| 	* Updated the Herald plugin to use the standard substitute until
 | |
| 	we get it updated to use commands as heralds instead of plain
 | |
| 	strings.
 | |
| 
 | |
| 	* Updated echo to use the standard substitute on its reply.
 | |
| 
 | |
| 	* Updated Network.whois so that it can now retrieve
 | |
| 	information on all domains.
 | |
| 
 | |
| 	* Updated the Weather plugin to be retrieve weather from either
 | |
| 	hamweather.net or cnn.com.  Also added
 | |
| 	supybot.plugins.Weather.{command,temperatureUnit} so that you can
 | |
| 	specify which command (Weather.cnn or Weather.ham) to use when
 | |
| 	Weather.weather is called and in which unit (C, F, K) to report
 | |
| 	the weather.
 | |
| 
 | |
| 	* Updated standard replies (such as supybot.replies.success, etc.)
 | |
| 	to use the standard substitute (such as $nick, $who, $channel,
 | |
| 	etc.) in their text.
 | |
| 
 | |
| 	* Fixed snarfers to respect lobotomies.
 | |
| 
 | |
| 	* Fixed Admin.join not to add the channel to the supybot.channels
 | |
| 	registry entry if joining the channel wasn't successful.
 | |
| 
 | |
| 2004-02-20  Jeremy Fincher  <jemfinch@supybot.org>
 | |
| 
 | |
| 	* Version 0.77.0!
 | |
| 
 | |
| 	* Changed the format of the user and channel databases to
 | |
| 	something much more readable and user-editable.  Be sure, if
 | |
| 	you're upgrading, to run tools/ircdbConvert.py on your user and
 | |
| 	channel databases *BEFORE* installing the new version.
 | |
| 
 | |
| 	* Updated almost every document we have, and added a
 | |
| 	GETTING_STARTED document.  Yay!
 | |
| 
 | |
| 	* Added several new options for Channel.kban: --exact, --nick,
 | |
| 	--user, --host, for more flexibility in determining what the
 | |
| 	banmask is.
 | |
| 
 | |
| 	* Added a Scheduler plugin for scheduling events to occur at
 | |
| 	specific times.
 | |
| 
 | |
| 	* Added a Herald plugin for announcing to the channel the arrival
 | |
| 	of certain users.
 | |
| 
 | |
| 	* Changed the reply method of the irc object given to plugins not
 | |
| 	to require a msg object.
 | |
| 
 | |
| 	* Added inter-factoid references for MoobotFactoids.  Simply
 | |
| 	define a factoid as "see <factoid-key>" (and nothing else) and it
 | |
| 	will automatically go pick up the value for that factoid and
 | |
| 	display it in its place.  Sort of a "symlink" for MoobotFactoids.
 | |
| 
 | |
| 	* Added the ability to reply to factoids without the "whatis" in
 | |
| 	the Factoids plugin.  Now, you can use "@foo" instead of "@whatis
 | |
| 	foo".
 | |
| 
 | |
| 	* Added --{from,to} and --sent options to Note.sent.
 | |
| 
 | |
| 	* Changed Note.get to simply be "note".  Instead of "note get
 | |
| 	145", you should use "note 145".
 | |
| 
 | |
| 	* Changed channel capabilities to use a comma to separate the
 | |
| 	channel from the capability instead of a period.  This is because
 | |
| 	channels can include periods (but not commas) and since we now
 | |
| 	allow "plugin.command" capabilities, there's no way to know
 | |
| 	whether a given dot is separating the channel from the capability
 | |
| 	or the plugin from the command.
 | |
| 
 | |
| 	* Removed Admin.setprefixchar, since it's unneeded with the new
 | |
| 	configuration.
 | |
| 
 | |
| 	* Removed Status.bestuptime, since it was buggy and no one felt
 | |
| 	like maintaining it.
 | |
| 
 | |
| 	* Added Http.cyborg, a fun little command for getting cyborg
 | |
| 	abbreviations for names.
 | |
| 
 | |
| 	* Added Sourceforge.totalbugs and Sourceforge.totalrfes
 | |
| 
 | |
| 	* Removed Owner.{set,unset} since they matter not.
 | |
| 
 | |
| 	* Made the smileys and frowns configurable in ChannelDB.
 | |
| 
 | |
| 	* Added a vast array of new configurables -- check out the various
 | |
| 	config commands in Configurable plugins to see.
 | |
| 
 | |
| 	* Added better error reporting for Admin.join, explaining to the
 | |
| 	user if the bot can't join the channel.
 | |
| 
 | |
| 	* Added a title-snarfer to the URL plugin.
 | |
| 
 | |
| 	* Added Relay.command, a command for sending commands to the bot
 | |
| 	on a different network.
 | |
| 
 | |
| 	* Added Bugzilla.search, a new command for searching a bugzilla
 | |
| 	installation
 | |
| 
 | |
| 	* Added an INVITE handler in Admin, allowing users with the admin
 | |
| 	capability to INVITE the bot to a channel.  There's also a config
 | |
| 	variable, alwaysJoinOnInvite, that will cause the bot to join
 | |
| 	a channel whenever someone invites it to a channel, not just users
 | |
| 	with the admin capability.
 | |
| 
 | |
| 	* Added conf.requireChannelCommandsToBeSentInChannel for requiring
 | |
| 	all channel-related commands to be sent in the channel.
 | |
| 
 | |
| 	* Added conf.followIdentificationThroughNickChanges for having the
 | |
| 	bot update user's identified hostmask when they change nicks.
 | |
| 
 | |
| 	* Added conf.replyWhenNotAddressed, a configuration variable for
 | |
| 	having the bot always attempt to parse a message as a command.
 | |
| 
 | |
| 	* Added conf.replyWhenAddressedByNick, a configuration variable
 | |
| 	for having the bot *not* respond when addressed by his nick.
 | |
| 
 | |
| 	* Added conf.replyWithNickPrefix, a configuration variable for
 | |
| 	having the bot not prefix the nick of the person giving a command
 | |
| 	to the reply.
 | |
| 
 | |
| 	* Changed all "zegrep" stuff to "zgrep -e" stuff, since zegrep is
 | |
| 	on fewer platforms than zgrep.
 | |
| 
 | |
| 2003-12-12 Jeremy Fincher <jemfinch@supybot.org>
 | |
| 
 | |
| 	* Version 0.76.1!  The birthday release!
 | |
| 
 | |
| 	* Fixed a bug in irclib.py that could cause the bot to loop,
 | |
| 	connecting and disconnecting from the server because it didn't
 | |
| 	think the server responded to its PING.
 | |
| 
 | |
| 	* Fixed a bug in the Services implementation that could cause
 | |
| 	the bot to continually loop, connecting and disconnecting from the
 | |
| 	server.
 | |
| 
 | |
| 	* Fixed Misc.help to follow the same default plugin rules that the
 | |
| 	rest of the bot follows.
 | |
| 
 | |
| 	* Added better error reporting to Admin.join, so the various error
 | |
| 	conditions that might make the bot incapable of joining a channel
 | |
| 	will be reported.
 | |
| 
 | |
| 	* Updated RootWarner to be configurable, offering each channel the
 | |
| 	ability to define whether or not people who IRC as root will be
 | |
| 	warned, what that warning will be, and whether or not they should
 | |
| 	be kicked.
 | |
| 
 | |
| 	* Added a configurable 'topic-sync' to the Relay plugin to
 | |
| 	determine whether the topics of the two channels should be kept
 | |
| 	synchronized.
 | |
| 
 | |
| 	* Added Lookup.search for searching the various loaded lookups.
 | |
| 
 | |
| 	* Added Topic.reorder, a new command for reordering the topics in a
 | |
|         specific manner.
 | |
| 
 | |
| 	* Added Topic.list, a new command for listing the topics in a
 | |
| 	channel (mostly in order to help out with Topic.reorder :))
 | |
| 
 | |
| 	* Added Http.extension, a new command to retrieve file extension
 | |
| 	information from filext.com.
 | |
| 
 | |
| 	* Updated Todo.remove to allow removing multiple taskids
 | |
| 
 | |
| 	* Updated Relay.whois to include a user's away status and identified
 | |
|         state, if the server supports it.
 | |
| 
 | |
| 	* Added utils.sorted, which does what list.sorted will do when 2.4
 | |
| 	is released.
 | |
| 
 | |
| 	* Added ircutils.isCtcp, for determining whether or not a message
 | |
| 	is a CTCP message.
 | |
| 
 | |
| 2003-12-6  Jeremy Fincher  <jemfinch@supybot.org>
 | |
| 
 | |
| 	* Version 0.76.0!
 | |
| 
 | |
| 	* Added a "trusted" capability that defaults to off (-trusted) and
 | |
| 	is required for Utilities.re (with which it's possible to DoS the
 | |
| 	bot) and for the new Math.icalc (with which it is trivially
 | |
| 	possible to DoS the bot).
 | |
| 
 | |
| 	* Added Math.icalc, a new command for doing integer arithmetic.
 | |
| 	It requires the "trusted" capability.
 | |
| 
 | |
| 	* Added the Fun.ping command, because MozBot has it.
 | |
| 
 | |
| 	* Added Note.unsend command, to allow users to "unsend" notes
 | |
| 	they've sent but whose recipient has not yet read.
 | |
| 
 | |
| 	* Added Channel.{deop,devoice,dehalfop,kick}.
 | |
| 
 | |
| 	* Added Http.size and Http.doctype and Http.headers to retrieve
 | |
| 	various meta-information on URLs.
 | |
| 
 | |
| 	* Added a ranking to ChannelDB.wordstats.
 | |
| 
 | |
| 	* Added Karma.most for determining various "mosts" in the Karma
 | |
| 	database.
 | |
| 
 | |
| 	* Added User.list command to list registered users.
 | |
| 
 | |
| 	* Added 'roulette' command to Fun plugin.
 | |
| 
 | |
| 	* Added a Channel.lobotomies command to list the channels in which
 | |
| 	the bot is lobotomized.
 | |
| 
 | |
| 	* Added a swap function to Math.rpn.
 | |
| 
 | |
| 	* Changed the name of User.changeusername to User.changename.
 | |
| 
 | |
| 	* Changed the logging infrastructure significantly; each plugin
 | |
| 	now has its own logger (and thus logfile), in addition to being
 | |
| 	logged in the main logfile.
 | |
| 
 | |
| 	* Fixed bug in which the bot wouldn't rejoin channels after a
 | |
| 	reconnect.  Thank the Lord for tcpkill :)
 | |
| 
 | |
| 	* Fixed Http.freshmeat for projects with a space in their names.
 | |
| 
 | |
| 	* Changed RSS so RSS feed commands may be added while the bot is
 | |
| 	running, and so added RSS feed commands are in the RSS plugin.
 | |
| 
 | |
| 	* Changed Lookup so added lookups are added in the Lookup plugin
 | |
| 	itself so there's no dependency on Alias, and so loaded lookups
 | |
| 	can be seen via 'list Lookup'.
 | |
| 
 | |
| 	* Fixed bug #850931 as well as several other minor bugs in
 | |
| 	Utilities.re.
 | |
| 
 | |
| 	* Fixed bug #851254, Factoids.whatis didn't work on numeric keys.
 | |
| 
 | |
| 	* Added the ability to turn on/off the showing of ids in FunDB
 | |
| 	excuse/insult/praise/lart.
 | |
| 
 | |
| 	* Added the to= keyword argument to the various reply functions to
 | |
| 	you can specify a target to send the message to.
 | |
| 
 | |
| 	* Changed socketDrivers to allow more time (10x more, to be exact)
 | |
| 	for connecting to the network than for the normal read.
 | |
| 
 | |
| 	* Fixed a bug in Http.weather that would cause an ugly error
 | |
| 	message for a command like "weather hell".
 | |
| 
 | |
| 	* Added the number of strings to the Fun.object output.
 | |
| 
 | |
| 	* Fixed bug in RSS.configure; no aliases could be added.
 | |
| 
 | |
| 	* Changed Alias.freeze to Alias.lock.
 | |
| 
 | |
| 	* Fixed sorting in Status' uptime database.
 | |
| 
 | |
| 	* Updated the Gameknot tests for expired games, and updated the
 | |
| 	Gameknot plugin to handle such links in its snarfer.
 | |
| 
 | |
| 	* Added a 'server' attribute to Irc objects to unify the way to
 | |
| 	access such information.
 | |
| 
 | |
| 	* Added revision command for finding out the revision of the files
 | |
| 	in a running bot; also added __revision__ strings so CVS would be
 | |
| 	happy to keep such information for us :)
 | |
| 
 | |
| 	* Fixed bug #848475 -- bad error message from regexp-expecting
 | |
| 	commands.
 | |
| 
 | |
| 	* Stopped listing the plugin dispatcher command in the list of
 | |
| 	commands for that plugin.
 | |
| 
 | |
| 	* Fixed bug in Gameknot.gkstats when retrieving the stats for
 | |
| 	users who haven't yet played a game.
 | |
| 
 | |
| 	* Added a numUsers() method to ircdb.UsersDB (ircdb.users).
 | |
| 
 | |
| 2003-11-18  Jeremy Fincher  <jemfinch@users.sf.net>
 | |
| 
 | |
| 	* Changed commands so that plugins no longer have to make sure
 | |
| 	that their commands are unique within the bot.  Ambiguous commands
 | |
| 	will reply with an error message and instruct the user to
 | |
| 	disambiguate the command by prefixing with the appropriate plugin
 | |
| 	name.. Many commands that formerly contained the plugin name (or a
 | |
| 	portion thereof) have had it removed, and many plugins have had
 | |
| 	their names changed so prefixing a command with the plugin name is
 | |
| 	less bulky.  Rather than list each individual example, you can
 | |
| 	read the plugin documentation posted at ***TODO***
 | |
| 
 | |
| 	* Renamed numerous plugins: OwnerCommands became Owner,
 | |
| 	AdminCommands became Admin, ChannelCommands became Channel,
 | |
| 	MiscCommands became Misc, UserCommands became User, URLSnarfer
 | |
| 	became URL, Notes became Note, FunCommands became Fun, IMDB became
 | |
| 	Movies, and Aliases became Alias.
 | |
| 
 | |
| 	* Made aliases persistent across reloads/bot restarts.  You should
 | |
| 	probably change your botscripts not to add the aliases onStart, but
 | |
| 	(assuming those aliases don't change) it should still work fine.
 | |
| 
 | |
| 	* Added the ability for users to specify that their passwords
 | |
| 	should be hashed on disk.
 | |
| 
 | |
| 	* Added MoobotFactoids plugin for moobot-style factoids (which are
 | |
| 	meant to mimic blootbot-style factoids).  People used to
 | |
| 	traditional IRC bot factoids plugins will probably find this
 | |
| 	plugin more to their taste than Factoids.
 | |
| 
 | |
| 	* Added Ebay plugin for snarfing eBay URLs as well as getting info on
 | |
| 	certain auctions.
 | |
| 
 | |
| 	* Added monitoring of occurrences of certain words on a per-user
 | |
| 	basis, adding two new commands to ChannelDB (addword and
 | |
| 	wordstats).
 | |
| 
 | |
| 	* Added Bugzilla module for accessing various data in Bugzilla
 | |
| 	pages.
 | |
| 
 | |
| 	* Added QuoteGrabs module which allows people to grab interesting
 | |
| 	quotes from other people and store them in the bot for later retrieval
 | |
| 	(also optionally have the bot randomly snarf quotes).
 | |
| 
 | |
| 	* Added a "change" command to change factoid values in the Factoids
 | |
| 	plugin.
 | |
| 
 | |
| 	* Added Dunno plugin as an optional replacement for the boring 'no
 | |
| 	such command' response.
 | |
| 
 | |
| 	* Changed FundB to allow accessing excuses, larts, and praises by
 | |
| 	id.
 | |
| 
 | |
| 	* Added substitutions for 'me' and 'my' in insult/praise/lart.
 | |
| 
 | |
| 	* Added 'change' and 'old' commands for News.
 | |
| 
 | |
| 	* Added ASPN Python Cookbook URL snarfer.
 | |
| 
 | |
| 	* Moved karma out of ChannelDB and into its own Karma plugin.
 | |
| 
 | |
| 	* Moved uptime-related commands to from FunDB to the Status plugin.
 | |
| 
 | |
| 	* Renamed the Network.internic command to whois, since we can now fix
 | |
| 	ambiguity by prefixing the plugin name.
 | |
| 
 | |
| 	* Removed the "googlesite" function.
 | |
| 
 | |
| 	* Removed "dictserver" command in favor of using the Configurable
 | |
| 	framework with the Dict plugin instead.
 | |
| 
 | |
| 	* Removed TwistedCommands plugin to the sandbox; the one command
 | |
| 	it provided (dict) is now better provided in the Dict plugin.
 | |
| 
 | |
| 	* Removed the Moobot plugin (the commands were moved to the Fun
 | |
| 	plugin or dropped entirely).
 | |
| 
 | |
| 	* Removed all example strings from plugins.  To be replaced with an
 | |
| 	automated process later.
 | |
| 
 | |
| 	* Converted several plugins to the new Configurable plugin type
 | |
| 	Plugins modified include Bugzilla, ChannelDB, Dict, Ebay,
 | |
| 	Enforcer, Gameknot, Google, Python, Relay, and URL (formerly
 | |
| 	URLSnarfer).
 | |
| 
 | |
| 	* Changed ChannelDB database to use integer user ids instead of text
 | |
| 	usernames.
 | |
| 
 | |
| 	* Changed Http.geekquote to use multiline geekquotes (and removed
 | |
| 	the option to do so, since it's now the default).
 | |
| 
 | |
| 	* Added a --id switch to geekquote to pick a specific geekquote.
 | |
| 
 | |
| 	* Changed most commands in News to require the 'news' capability.
 | |
| 
 | |
| 	* Changed Relay.names output to show (and sort by) status in the
 | |
| 	channel.
 | |
| 
 | |
| 	* Removed 'relaycolor' command in favor of Configurable framework.
 | |
| 
 | |
| 	* Added total memory usage to 'cpustats' output for several *nix
 | |
| 	platforms.
 | |
| 
 | |
| 	* Removed the total percentage of CPU time from 'cpustats'.  Not
 | |
| 	only was it inaccurate, but we needed the room for memory stats.
 | |
| 
 | |
| 	* Changed Topic.shuffle to ensure that the topic is actually
 | |
| 	shuffled.
 | |
| 
 | |
| 	* Changed all commands which take an index (various Topic and
 | |
| 	Factoids commands) to index from 1 instead of 0.
 | |
| 
 | |
| 	* Fixed several bugs in Unix.spell whereby the bot could be
 | |
| 	frozen.
 | |
| 
 | |
| 	* Changed the name of the "bug" command in the AdminCommands
 | |
| 	plugin to "reportbug" instead.
 | |
| 
 | |
| 	* Added QUIT stat-keeping to ChannelDB.
 | |
| 
 | |
| 	* Removed the OwnerCommands.say command; it wasn't useful enough,
 | |
| 	and is so easily written that anyone can have it back if they want
 | |
| 	it.
 | |
| 
 | |
| 	* Changed OwnerCommands.load (and reload) to be case-insensitive,
 | |
| 	so "load funcommands" works just as well as "load FunCommands".
 | |
| 
 | |
| 	* Changed the keyword parameter "needed" to privmsgs.getArgs to be
 | |
| 	"required" instead.  It just sounds better, works with "optional"
 | |
| 	better, and we won't get an opportunity later to change it.
 | |
| 
 | |
| 	* Updated IrcObjectProxy.reply to allow a "notice" boolean keyword
 | |
| 	to determine whether or not to reply via a notice.
 | |
| 
 | |
| 	* Added privmsgs.urlSnarfer, a wrapper around snarfer methods that
 | |
| 	handles both the threading and the limiting of replies so loops
 | |
| 	between two snarfing bots can't happen.
 | |
| 
 | |
| 	* Added structures.PersistentDictionary for dictionaries that
 | |
| 	should be saved to a file in repr()ed form.
 | |
| 
 | |
| 	* Added structures.TwoWayDictionary for dictionaries that should
 | |
| 	map keys to values and vice versa.
 | |
| 
 | |
| 	* Added a curry function to fix.py for doing currying (if you
 | |
| 	don't know what it is, don't worry about it :))
 | |
| 
 | |
| 	* Added utils.depluralize to do the opposite of utils.pluralize.
 | |
| 
 | |
| 	* Added utils.safeEval for safe evaluation of Python data
 | |
| 	structures (lists, dictionaries, tuples, numbers, strings, etc.,
 | |
| 	but no operations on them).
 | |
| 
 | |
| 	* Added utils.saltHash for handling the hashing of passwords with
 | |
| 	a salt.
 | |
| 
 | |
| 	* Added plugins.standardSubstitute to do standard substitutions
 | |
| 	for things like $who, $nick, $channel, etc.
 | |
| 
 | |
| 	* Added plugins.Configurable, a plugin mixin that allows easy
 | |
| 	specification and persistence of configurable data on a global and
 | |
| 	per-channel basis.
 | |
| 
 | |
| 	* Fixed plugins.ChannelDBHandler (and added plugins.DBHandler) to
 | |
| 	be threadsafe, so threaded plugins could still use a database, and
 | |
| 	non-threaded database-using plugins could still receive the
 | |
| 	results of a threaded command.
 | |
| 
 | |
| 	* Removed ircutils.privmsgPayload and ircutils.shrinkList, both of
 | |
| 	which existed prior to the addition of more, and aren't needed
 | |
| 	anymore.
 | |
| 
 | |
| 
 | |
| 2003-10-12  Jeremy Fincher  <jemfinch@users.sf.net>
 | |
| 
 | |
| 	* Version 0.73.1!
 | |
| 
 | |
| 	* Fixed a bug in Math.{calc,rpn} where certain functions
 | |
| 	("degrees" in particular) that didn't like complex arguments would
 | |
| 	fail on numbers on which they shouldn't.
 | |
| 
 | |
| 	* Added an optional "key" argument to ChannelCommands.cycle.
 | |
| 
 | |
| 	* Fixed bolding in supybot-wizard.py.
 | |
| 
 | |
| 	* Fixed handling of the secure flag by ircdb.IrcUser.setAuth;
 | |
| 	previously it didn't prevent someone with an unmatched hostmask
 | |
| 	from identifying.
 | |
| 
 | |
| 	* Fixed imports in the DCC plugin.
 | |
| 
 | |
| 	* Fixed a bug where the bot would not reply to nick-addressed
 | |
| 	messages on a channel if his nick wasn't entirely lowercased.
 | |
| 
 | |
| 	* Fixed the Relay plugin to relay topic changes; an oversight not
 | |
| 	caught earlier because supybot has for a long time managed our
 | |
| 	topics.
 | |
| 
 | |
| 	* Fixed a bug in the Services plugin where the bot would ghost
 | |
| 	himself if his nick didn't match in case the nick given.
 | |
| 
 | |
| 	* Added the ability for PrivmsgCommandAndRegexp to have regexps
 | |
| 	that are called *after* callbacks.addressed has been called on the
 | |
| 	message -- see ChannelDB.{increase,decrease}Karma for an example.
 | |
| 
 | |
| 	* Fixed bug in supybot-wizard.py where plugins without configure
 | |
| 	functions would raise an uncaught exception.
 | |
| 
 | |
| 	* Fixed debincoming to work since the removal of baseplugin; it
 | |
| 	was missing an import.
 | |
| 
 | |
| 	* Fixed MiscCommands.doPrivmsg to send an IrcObjectProxyRegexp to
 | |
| 	the replyWhenNotCommand function.
 | |
| 
 | |
| 	* Fixed debversion to display the correct output when no matching
 | |
| 	packages were found.
 | |
| 
 | |
| 	* Fixed ChannelDB to import conf; karma didn't work otherwise.
 | |
| 
 | |
| 	* Fixed a bug in the Enforcer plugin that would cause the bot to
 | |
| 	ban everyone from the channel whenever ChanServ deopped someone.
 | |
| 
 | |
| 	* Changed the "whois" command in the Network plugin to "internic"
 | |
| 	instead.
 | |
| 
 | |
| 2003-10-05  Jeremy Fincher  <jemfinch@users.sf.net>
 | |
| 
 | |
| 	* Version 0.73.0!
 | |
| 
 | |
| 	* Added the News plugin, news handling for channels.
 | |
| 
 | |
| 	* Changed the initial character of anti capabilities to '-'
 | |
| 	instead of '!'.  '!' can be the initial character in a channel
 | |
| 	name, and so any command using getChannel and accepting a
 | |
| 	capability as its first argument (several in ChannelCommands) will
 | |
| 	have difficulties (the channel then *must* be specified since
 | |
| 	getChannel will consider !capability to be a channel name).  Note
 | |
| 	that this means you'll need to either remove and re-create or edit
 | |
| 	your config files to change ! to - in capabilities.
 | |
| 
 | |
| 	* Removed the "cvsup" command; it's been useless since we had a
 | |
| 	global install, and can only serve to confuse.
 | |
| 
 | |
| 	* Added a "private" command to MiscCommands to allow users to
 | |
| 	specify that a response should be made in private.
 | |
| 
 | |
| 	* Added a "secure" flag to user database records that *requires*
 | |
| 	that one of the user's hostmasks match if the user is to be
 | |
| 	recognized.  This flag may be set with the "setsecure" command.
 | |
| 
 | |
| 	* Added a convert command to the Math plugin.  More conversions
 | |
| 	are necessary, if anyone's interested in doing it.  The available
 | |
| 	units are available via the "units" command.
 | |
| 
 | |
| 	* Fixed the pydoc command to allow access to standard Python
 | |
| 	modules that are shared libraries rather than pure Python code.
 | |
| 
 | |
| 	* Added a "Python" plugin and moved FunCommands.{pydoc,zen} to
 | |
| 	it.
 | |
| 
 | |
| 	* Fixed the supybot- scripts to use optparse so they now
 | |
| 	accept many command line options (but most importantly, the --help
 | |
| 	option :))
 | |
| 
 | |
| 	* Added a debincoming command to the Debian plugin; it searches
 | |
| 	the available packages at http://incoming.debian.org/
 | |
| 
 | |
| 	* Moved the "bug" command from MiscCommands to AdminCommands in
 | |
| 	order to prevent possible abuse.
 | |
| 
 | |
| 	* Changed ChannelDB.seen to default to using nicks; a --user
 | |
| 	option can be passed to use the old behavior.  Note that this
 | |
| 	means you'll have to update your ChannelDB database; use this
 | |
| 	SQL statement to do so:
 | |
| 	    CREATE TABLE nick_seen (
 | |
| 	    name TEXT UNIQUE ON CONFLICT REPLACE,
 | |
| 	    last_seen TIMESTAMP,
 | |
| 	    last_msg TEXT
 | |
| 	    );
 | 
