mirror of
				https://github.com/Mikaela/Limnoria.git
				synced 2025-10-24 21:17:22 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			2023 lines
		
	
	
		
			69 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			2023 lines
		
	
	
		
			69 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 2009-05-25  James Vega <jamessan@supybot.com>
 | |
| 
 | |
| 	* Version 0.83.4.1!
 | |
| 
 | |
| 	* Fixed a bug in Factoids where the help could not be retrieved for
 | |
| 	any command.
 | |
| 
 | |
| 	* Fixed a bug where Plugin.list wouldn't list any aliases/RSS feeds
 | |
| 	from the Alias/RSS plugins.
 | |
| 
 | |
| 	* Updated Google to ensure the third-party json module (different API
 | |
| 	than simplejson) isn't loaded.  Based on a patch from Ricky Zhou.
 | |
| 
 | |
| 	* Updated Channel.nicks so it doesn't reply with nicks from secret
 | |
| 	channels outside of that channel.
 | |
| 
 | |
| 	* Updated Channel.{op,halfop,voice,deop,dehalfop,devoice} commands so
 | |
| 	they respect the server's "max mode changes per message" setting.
 | |
| 
 | |
| 	* Updated utils.str.nItems to accept long as well as int.  Thanks to
 | |
| 	Ricky Zhou for the patch.
 | |
| 
 | |
| 2009-05-18  James Vega <jamessan@supybot.com>
 | |
| 
 | |
| 	* Version 0.83.4!
 | |
| 
 | |
| 	* Fixed a bug where we were attempting to tag a non-existent IrcMsg.
 | |
| 
 | |
| 	* Fixed a bug where the Web plugin was not catching the correct
 | |
| 	exception.
 | |
| 
 | |
| 	* Fixed a bug where the Protector plugin was attempting to use a
 | |
| 	non-existent variable.
 | |
| 
 | |
| 	* Added verbiage to supybot.log.level indicating that it doesn't
 | |
| 	control the logging level for stdout and pointing out the correct
 | |
| 	config variable.
 | |
| 
 | |
| 	* Added a new rank command to the ChannelStats plugin.
 | |
| 
 | |
| 	* Added a new remove command to the Later plugin.
 | |
| 
 | |
| 	* Added new azn and uniud commands to the Filter plugin.
 | |
| 
 | |
| 	* Fixed a bug in the Socket driver that could cause it to continually
 | |
| 	attempt to reconnect to a server which is unavailable.
 | |
| 
 | |
| 	* Fixed a bug in supybot-wizard that would cause it to abort if the user
 | |
| 	chose to use SSL.
 | |
| 
 | |
| 	* Fixed the haveOp context to call getChannel if it wasn't already
 | |
| 	called.
 | |
| 
 | |
| 	* Fixed a bug in supybot-test where the entire test run would end if one
 | |
| 	plugin couldn't be loaded.
 | |
| 
 | |
| 	* Updated the httpUrl context to prepend 'http://' if that would result
 | |
| 	in a valid HTTP URL.  A noticeable benefit is that users can now call
 | |
| 	"@title slashdot.org" instead of requiring the user to call
 | |
| 	"@title http://slashdot.org".
 | |
| 
 | |
| 	* Fixed Supybot to be compatible with Python 2.6
 | |
| 
 | |
| 	* Added a note to Owner.defaultplugin's help to point out
 | |
| 	supybot.commands.defaultPlugin.importantPlugins, which affects which
 | |
| 	plugins have priorities over ambiguous command names.
 | |
| 
 | |
| 	* Rewrote the Google plugin to use the new AJAX API since Google
 | |
| 	hasn't been giving out new keys for the SOAP API.
 | |
| 
 | |
| 	* Added a new translate command to the Google plugin.
 | |
| 
 | |
| 	* Fixed a copy/paste error in the help for User.capabilities.
 | |
| 
 | |
| 	* Updated Web.title to give a more appropriate message if the URL
 | |
| 	definitely has no title.
 | |
| 
 | |
| 	* Fixed irc.reply so prefixNick is not used when action=True.
 | |
| 
 | |
| 	* Implemented the command flood prevention, controlled by
 | |
| 	supybot.abuse.flood.command.*, thanks to a patch from nebajoth.
 | |
| 
 | |
| 	* Added utils/crypt.py to provide a uniform interface to the Python
 | |
| 	crypt functionality regardless of the Python version being used.
 | |
| 
 | |
| 	* Fixed the urlRe and httpUrlRe regexes in utils/web.py to be more
 | |
| 	correct about what they match.  They now match according to RFCs 1034
 | |
| 	and 1738.
 | |
| 
 | |
| 	* Updated getSyntax to allow the syntax string to be specified,
 | |
| 	similar to getHelp.
 | |
| 
 | |
| 	* Updated getCommandHelp to respect supybot.reply.showSimpleSyntax.
 | |
| 
 | |
| 	* Updated Factoids.getCommandHelp to respect
 | |
| 	supybot.reply.showSimpleSyntax.
 | |
| 
 | |
| 	* Fixed a bug where getCommandMethod would return methods that weren't
 | |
| 	actually commands.  This was exposed by adding a die Alias.
 | |
| 
 | |
| 	* Removed supybot.plugins.Channel.banmask in favor of a general config
 | |
| 	variable, supybot.protocols.irc.banmask.
 | |
| 
 | |
| 	* Updated AutoMode to respect supybot.protocols.irc.banmask when
 | |
| 	banning.
 | |
| 
 | |
| 	* Updated Channel.ignore.add and Channel.ban.add to respect
 | |
| 	supybot.protocols.irc.banmask.
 | |
| 
 | |
| 	* Fixed Channel.kban so that it will fall back to an exact hostmask
 | |
| 	instead of refusing to ban the user when the banmask would also match
 | |
| 	the bot's hostmask.
 | |
| 
 | |
| 	* Added the ability to disable ChannelLogger's logging on a
 | |
| 	per-channel basis.
 | |
| 
 | |
| 	* Fixed Config so it will respond with an error when the set, get, or
 | |
| 	default commands are called on config groups that don't have values.
 | |
| 
 | |
| 	* Added a new config variable, supybot.plugins.AutoMode.owner, which
 | |
| 	can be used to prevent AutoMode behavior from applying to the owner(s)
 | |
| 	(since the owner has all capabilities).
 | |
| 
 | |
| 	* Fixed the regex parsing in utils/str.py to correctly handle multiple
 | |
| 	backslashes before the search/replace separator.
 | |
| 
 | |
| 	* Renamed supybot.plugins.Google.safeSearch to
 | |
| 	supybot.plugins.Google.searchFilter since the behavior and valid
 | |
| 	values changed as part of the switch to the AJAX API.
 | |
| 
 | |
| 	* Updated RSS.announce to have list, add, and remove sub-commands
 | |
| 	instead of the old option-parsing interface.
 | |
| 
 | |
| 	* Added a new config variable,
 | |
| 	supybot.plugins.ShrinkUrl.shrinkSnarfer.showDomain, which controls
 | |
| 	whether the shrinkSnarfer displays the domain of the original URL
 | |
| 	along with the shrunken URL.
 | |
| 
 | |
| 	* Updated the default value for
 | |
| 	supybot.plugins.ChannelLogger.filenameTimestamp so it sorts
 | |
| 	chronologically.
 | |
| 
 | |
| 	* Updated Misc.last to prevent users from retrieving messages from
 | |
| 	channels they aren't in or from private channels when they're in
 | |
| 	another channel.
 | |
| 
 | |
| 	* Fixed supybot.directories.plugins so the directory Supybot is
 | |
| 	installed to is not included.  This change makes the config file work
 | |
| 	across Python upgrades without user-intervention.
 | |
| 
 | |
| 	* Updated Config.config to show both the global and channel-specific
 | |
| 	value (if it exists) of the variable.
 | |
| 
 | |
| 	* Fixed Google.calc to work around a change in Google's HTML.  This
 | |
| 	change should be more resilient to future HTML changes.
 | |
| 
 | |
| 	* Fixed a bug where User.set.password could not be used if your
 | |
| 	current hostmask wasn't recognized.
 | |
| 
 | |
| 	* Fixed a bug in Limiter where the limit could be set to fewer than
 | |
| 	the current number of users in the channel.
 | |
| 
 | |
| 	* Updated String to give a more useful message when decoding a base64
 | |
| 	string fails.
 | |
| 
 | |
| 	* Updated User.hostmask.add to require it be called in private since a
 | |
| 	password may be given as part of the command.
 | |
| 
 | |
| 	* Updated BadWords to only strip the formatting of messages which have
 | |
| 	a bad word in them.
 | |
| 
 | |
| 	* Fixed a bug in the supybot script where it would continue to run
 | |
| 	even if it was unable to create the pidFile.  This could cause
 | |
| 	multiple instances of supybot to run simultaneously if using
 | |
| 	supybot-botchk were being used to keep supybot running.
 | |
| 
 | |
| 	* Updated plugins.DB to return a fake database check when generating
 | |
| 	documentation.  This allows the user to generate docs without having
 | |
| 	the required database plugins installed.
 | |
| 
 | |
| 	* Updated supybot-plugin-doc to be able to generate reStructuredText.
 | |
| 
 | |
| 	* Removed the Insult plugin.
 | |
| 
 | |
| 	* Added the Dunno plugin, which can be taught responses to use in
 | |
| 	place of the normal invalid command response.
 | |
| 
 | |
| 	* Added the Success plugin, which can be taught responses to use in
 | |
| 	place of the normal operation succeeded response.
 | |
| 
 | |
| 	* Updated the data file for Math's convert command.
 | |
| 
 | |
| 2007-10-22  James Vega <jamessan@supybot.com>
 | |
| 
 | |
| 	* Version 0.83.3!
 | |
| 
 | |
| 	* Added the BadWords plugin from supybot-plugins and updated the
 | |
| 	plugin to allow kicking of people who use defined BadWords.
 | |
| 
 | |
| 	* Added support for different log levels on stdout vs the log file.
 | |
| 
 | |
| 	* Fixed a bug where the bot always reacted to invalid command floods
 | |
| 	even if supybot.abuse.flood.command.invalid indicated not to.
 | |
| 	(Closes: #1716878)
 | |
| 
 | |
| 	* Fixed a bug where the RSS plugin would lower-case URLs, thus making
 | |
| 	them impossible to retrieve.  (Closes: #1666786)
 | |
| 
 | |
| 	* Fixed ircmsgs.prettyPrint to handle unrecognized commands.
 | |
| 	(Closes: #1630963)
 | |
| 
 | |
| 	* Fixed a bug in the Services plugin where the bot would continuously
 | |
| 	send Ghost commands.
 | |
| 
 | |
| 	* Fixed Google.calc to handle a change in Google's HTML.
 | |
| 
 | |
| 	* Fixed a bug where Plugin.list was listing functions which weren't
 | |
| 	valid commands.
 | |
| 
 | |
| 	* Fixed RSS's handling of encodings to eliminate some ascii conversion
 | |
| 	errors.
 | |
| 
 | |
| 	* Updated the rssparser using plugins with the renamed and newer
 | |
| 	feedparser 4.1 in order to properly handle Bugzilla RSS feeds.
 | |
| 
 | |
| 	* Updated PLUGIN_TUTORIAL to specify that the user needs to import
 | |
| 	Python's random module.
 | |
| 
 | |
| 	* Updated the Web plugin so it uses HTMLParser over sgmllib's parser
 | |
| 	since sgmllib's enters an infinite loop on invalid input.
 | |
| 
 | |
| 	* Updated getHelp() so callers can pass in the help string.  This is
 | |
| 	used in the Factoids plugin to dynamically generate a help string
 | |
| 	based on a config value.
 | |
| 
 | |
| 	* Updated questions.py so bolding is handled better.  User input,
 | |
| 	default values, and defined choices are no longer bolded.
 | |
| 
 | |
| 	* Updated String.len to use wrap().  This greatly simplifies the
 | |
| 	command and introduces better argument handling.
 | |
| 
 | |
| 	* Updated a few uses of sre to use re if the bot is running under
 | |
| 	Python 2.5.
 | |
| 
 | |
| 	* Fixed test cases for mircColor and sorted (thanks dcraven).
 | |
| 
 | |
| 	* Updated assertAction's error message to give useful information
 | |
| 	about what went wrong.
 | |
| 
 | |
| 2006-07-23  James Vega <jamessan@supybot.com>
 | |
| 
 | |
| 	* Version 0.83.2! (A long overdue bugfix release)
 | |
| 
 | |
| 	* Added ADVANCED_PLUGIN_CONFIG, ADVANCED_PLUGIN_TESTING, CAPABILITIES,
 | |
| 	USING_UTILS, USING_WRAP, STYLE, and PLUGIN_TUTORIAL docs.
 | |
| 
 | |
| 	* Updated the Services plugin such that it will not spam GHOST
 | |
| 	commands faster than once every 60 seconds (or as set by
 | |
| 	supybot.plugins.Services.ghostDelay).
 | |
| 
 | |
| 	* Updated the Seen plugin so that performing @seen with a leading
 | |
| 	wildcard will not result in duplicate nicks in the response.
 | |
| 
 | |
| 	* Updated RSS to handle the feed's advertised character encoding in
 | |
| 	more of its commands.
 | |
| 
 | |
| 	* Updated "Channel.ban list" to show how long until the ban expires.
 | |
| 
 | |
| 	* Fixed the bug where addressed karma adjustments would cause the bot
 | |
| 	to crash.
 | |
| 
 | |
| 	* Fixed Alias.lock and Alias.unlock to work properly now that the
 | |
| 	alias functions are no longer attributes of the Alias plugin.
 | |
| 
 | |
| 	* Fixed a Windows-specific NameError in log.py.
 | |
| 
 | |
| 	* Fixed Config.help to actually perform the string substitution of the
 | |
| 	given config name.
 | |
| 
 | |
| 	* Replace Twisted with Socket as the default network driver.
 | |
| 
 | |
| 	* Added an --ssl option to Network.connect.
 | |
| 
 | |
| 	* Added a question about SSL network connections in supybot-wizard.
 | |
| 
 | |
| 	* Added recognition of UnrealIRCd's protected users and channelowners
 | |
| 	as ops.
 | |
| 
 | |
| 	* Updated URL.last to perform a case-insensitive search.
 | |
| 
 | |
| 	* Updated the Author class so it performs the email munging.  This
 | |
| 	prevents munging occurring for punctuation in a person's name.
 | |
| 
 | |
| 	* Updated ircutils' color handling to specify a default foreground
 | |
| 	color of white if only a background color is specified.
 | |
| 
 | |
| 	* Updated registry.StringWithSpaceOnRight to accept the empty string.
 | |
| 
 | |
| 	* Updated registry.StringSurroundedBySpaces to be a single space if
 | |
| 	given an empty string.
 | |
| 
 | |
| 	* Updated utils.str.format to recognize digits before the '.' in %f
 | |
| 	formatting.
 | |
| 
 | |
| 	* Stop explicitly setting a umask.  Instead we'll just obey the user's
 | |
| 	umask.
 | |
| 
 | |
| 2005-09-01  James Vega <jamessan@supybot.com>
 | |
| 
 | |
| 	* Version 0.83.1!
 | |
| 
 | |
| 	* Fixed a bug in Owner where plugins would not be automatically loaded
 | |
| 	unless the bot was connected to more than one network.
 | |
| 
 | |
| 2005-08-30  James Vega <jamessan@supybot.com>
 | |
| 
 | |
| 	* Version 0.83.0!
 | |
| 
 | |
| 	* Updated the Services plugin to realize it is identified when
 | |
| 	NickServ says that the bot is already identified.
 | |
| 
 | |
| 	* Updated Network.whois so that +s channels are only returned when in
 | |
| 	that channel.
 | |
| 
 | |
| 	* Updated RSS.info to retrieve the proper information from
 | |
| 	rssparser's results.
 | |
| 
 | |
| 	* Updated the RSS plugin to encode the headlines in the proper
 | |
| 	charset, if the feed specifies an encoding.
 | |
| 
 | |
| 	* Fixed a bug in Todo.todo when negative priorities are used.
 | |
| 
 | |
| 	* Fixed a bug in Web where the entire title was not correctly parsed
 | |
| 	from the web page.
 | |
| 
 | |
| 	* Fixed a bug in Web where the title was correctly parsed, but a later
 | |
| 	parsing problem caused the command to not reply with the title.
 | |
| 
 | |
| 	* Fixed a bug in Misc.last where the last message in a channel was
 | |
| 	skipped when the command was not called in that channel.
 | |
| 
 | |
| 	* Fixed a bug in Channel.ban remove and Channel.ignore remove when
 | |
| 	there were no bans or ignores.
 | |
| 
 | |
| 	* Fixed a bug in User.hostmask list when there are no registered
 | |
| 	hostmasks.
 | |
| 
 | |
| 	* Changed the prefixName keyword argument to prefixNick.
 | |
| 
 | |
| 	* Updated the socket handling to properly detect when an IPV6
 | |
| 	connection should be made.
 | |
| 
 | |
| 	* Updated irclib to handle IRCds (like IRCNet) which send a
 | |
| 	MAXLIST-style value for the MAXBAN 005 key.
 | |
| 
 | |
| 	* Updated the plugin loading to happen during __init__ instead of when
 | |
| 	receiving the 001 message.  This allows the bot to connect to networks
 | |
| 	that require a CTCP response on connect.
 | |
| 
 | |
| 	* Updated the SIGHUP handler to reload the ignoresdb.
 | |
| 
 | |
| 	* Fixed a bug in ircutils.isNick so that it no longer allows nicks to
 | |
| 	start with a hyphen.
 | |
| 
 | |
| 	* Fixed a bug in the first spec which would cause an error to be
 | |
| 	raised if the first converter failed.
 | |
| 
 | |
| 
 | |
| 2005-05-30 James Vega <jamessan@supybot.com>
 | |
| 
 | |
| 	* Version 0.83.0rc3!
 | |
| 
 | |
| 	* Updated Topic such that it can undo the first topic change performed
 | |
| 	in a channel.
 | |
| 
 | |
| 	* Removed -O and -OO options for scripts/supybot.
 | |
| 
 | |
| 	* Removed password hashing options for scripts/supybot-adduser.
 | |
| 
 | |
| 	* Fixed a bug where RSS.remove wasn't removing the feed from
 | |
| 	conf.supybot.plugins.RSS.feeds.
 | |
| 
 | |
| 	* Fixed a bug in Topic.set where setting the first topic would change
 | |
| 	the entire topic.
 | |
| 
 | |
| 	* Fixed an AttributeError in the Ctcp plugin.
 | |
| 
 | |
| 	* Fixed a problem where Supybot would attempt to connect to a network
 | |
| 	it was already connected to.
 | |
| 
 | |
| 	* Fixed a problem where a command with the same name as its plugin had
 | |
| 	to be invoked as "plugin command".
 | |
| 
 | |
| 	* Fixed an exception when irc.reply was called with a non-string
 | |
| 	argument.
 | |
| 
 | |
| 	* Fixed an ImportError in Twisted driver when OpenSSL wasn't
 | |
| 	available.
 | |
| 
 | |
| 	* Updated Socket driver to fix some longstanding issues.
 | |
| 
 | |
| 	* Added supybot.drivers.maxReconnectWait, which determines the maximum
 | |
| 	amount of time the bot will wait before attempting to reconnect to an
 | |
| 	IRC server.
 | |
| 
 | |
| 	* Added utils.python.Synchronized metaclass to ensure synchronized
 | |
| 	access to class methods.
 | |
| 
 | |
| 	* Moved utils.changeFunctionName to utils.python.changeFunctionName.
 | |
| 
 | |
| 
 | |
| 2005-05-12 James Vega <jamessan@supybot.com>
 | |
| 
 | |
| 	* Version 0.83.0rc2!
 | |
| 
 | |
| 	* Added News, Unix, and Insult plugins which were missing in the
 | |
| 	previous RC.
 | |
| 
 | |
| 	* Updated Misc.list to show the full configuration variable name when
 | |
| 	the plugin has no commands.
 | |
| 
 | |
| 	* Fixed an HtmlParseError exception in Web's title command and
 | |
| 	titleSnarfer.
 | |
| 
 | |
| 	* Fixed an ImportError exception when calling Todo.todo with no
 | |
| 	arguments.
 | |
| 
 | |
| 	* Fixed a bug where Channel.{enable,disable} would throw an exception
 | |
| 	if only a command names was specified.
 | |
| 
 | |
| 	* Added utils.str.ordinal (patch from genjamin AT gmail DOT com).
 | |
| 
 | |
| 
 | |
| 2005-05-02 James Vega <jamessan@supybot.com>
 | |
| 
 | |
| 	* Version 0.83.0rc1!
 | |
| 
 | |
| 	* Added supybot-botchk script.  This script can be run from a
 | |
| 	cron job to make sure your Supybot restarts when the computer it
 | |
| 	runs on is rebooted, and can make sure the bot restarts if it
 | |
| 	ever crashes (which it shouldn't).  It also allows restarting the
 | |
| 	bot without shelling out to the box it runs on; if you quit the
 | |
| 	bot, it'll automatically restart.
 | |
| 
 | |
| 	* Added supybot-plugin-doc script, which generates documentation for a
 | |
| 	plugin.
 | |
| 
 | |
| 	* Added SSL server support for the Twisted driver.
 | |
| 
 | |
| 	* Added Web plugin, which contains most of the commands that were
 | |
| 	in the (formerly included) Http plugin.
 | |
| 
 | |
| 	* Added Reply plugin, which contains several commands that were
 | |
| 	in the Misc and Utilities plugins.
 | |
| 
 | |
| 	* Added Games plugin, which contains several commands that were
 | |
| 	in the (formerly included) Fun plugin.
 | |
| 
 | |
| 	* Added String plugin, which contains several commands that were
 | |
| 	also in the formerly included Fun plugin.
 | |
| 
 | |
| 	* Added Topic.fit, which adds a new topic to the end of the
 | |
| 	channel topic, removing topics at the beginning as necessary to
 | |
| 	squeeze the new topic in.
 | |
| 
 | |
| 	* Added Seen.any, which reports the last time a person was seen
 | |
| 	at all, rather than just the last time a person said something in
 | |
| 	a PRIVMSG.
 | |
| 
 | |
| 	* Added Web.fetch, which replies with the text of the given URL.
 | |
| 	This might be useful in combination with Utilities.re command,
 | |
| 	for pseudo-parsing URLs within aliases.
 | |
| 
 | |
| 	* Added Note.next to retrieve the next unread note (patch from Sune
 | |
| 	Foldager.  Come back, Sune!).
 | |
| 
 | |
| 	* Updated User.capabilities always to respond in private (for
 | |
| 	owner users) and to prevent non-owner-users from retrieving other
 | |
| 	user's capabilities.
 | |
| 
 | |
| 	* Updated Relay.{join,part} so they require the admin capability.
 | |
| 
 | |
| 	* Updated Plugin.contributors to pull author/contributor information
 | |
| 	from the plugin in addition to the authors already hard-coded in
 | |
| 	Supybot.
 | |
| 
 | |
| 	* Added conf.supybot.protocols.irc.queuing.rateLimit.join to throttle
 | |
| 	how fast Supybot joins channels.
 | |
| 
 | |
| 	* Added conf.supybot.plugins.Herald.requireCapability, which specifies
 | |
| 	the capability a user needs to affect another user's herald.
 | |
| 
 | |
| 	* Added conf.supybot.plugins.ShrinkUrl.bold, which specifies whether
 | |
| 	the plugin should use bold in its responses.
 | |
| 
 | |
| 	* Renamed conf.supybot.plugins.Herald.throttleTime to
 | |
| 	conf.supybot.plugins.Herald.throttle.
 | |
| 
 | |
| 	* Renamed conf.supybot.plugins.Herald.throttleTimeAfterPart to
 | |
| 	conf.supybot.plugins.Herald.throttle.afterPart.
 | |
| 
 | |
| 	* Renamed the general log file (misc.log) to messages.log.
 | |
| 
 | |
| 	* Renamed Google.metagoogle to Google.meta.
 | |
| 
 | |
| 	* Renamed conf.supybot.protocols.irc.queueDuplicateMessages to
 | |
| 	conf.supybot.protocols.irc.queuing.duplicates.
 | |
| 
 | |
| 	* Updated Alias.add so that alias names can coincide with plugin names.
 | |
| 
 | |
| 	* Added netsplit throttling to Herald.  Now if only we could do
 | |
| 	that to Relay...
 | |
| 
 | |
| 	* Changed Todo's db format to a single flatfile db per user.
 | |
| 
 | |
| 	* Fixed a bug where the nickInChannel converter would add the channel
 | |
| 	to the args list.
 | |
| 
 | |
| 	* Fixed some exceptions in RSS.
 | |
| 
 | |
| 	* Fixed a problem with RSS not properly escaping feed names.
 | |
| 
 | |
| 	* Fixed supybot.utils.str parsing of regular expression separators
 | |
| 	other than / (patch from gcbirzan).
 | |
| 
 | |
| 	* Fixed Owner.enable so that commands can actually be re-enabled.
 | |
| 
 | |
| 	* Fixed Bug #1190350, incorrect extraction of a website's title.
 | |
| 
 | |
| 	* Added various functions to supybot.utils.file (touch, writeLine,
 | |
| 	readLines, chunks).
 | |
| 
 | |
| 	* Renamed the 'regexps' attribute in callbacks.PluginRegexp
 | |
| 	(formerly callbacks.PrivmsgCommandAndRegexp) to unaddressedRegexps
 | |
| 	to callbacks.PluginRegexp so as to complement addressedRegexps.
 | |
| 
 | |
| 	* Removed the extra argument to utils.str.pluralize which specified
 | |
| 	whether or not to pluralize the string.
 | |
| 
 | |
| 	* Changed the order of the arguments to utils.str.nItems.
 | |
| 
 | |
| 
 | |
| 2005-01-16 James Vega <jamessan@supybot.com>
 | |
| 
 | |
| 	* Version 0.80.0!
 | |
| 
 | |
| 	* Updated Babelfish to include Dutch, Greek, Russian, and traditional
 | |
| 	Chinese as supported languages.
 | |
| 
 | |
| 	* Updated RSS.rss to obey supybot.reply.oneToOne.
 | |
| 
 | |
| 	* Updated registry.py to specify which registry value has an improper
 | |
| 	docstring.
 | |
| 
 | |
| 	* Fixed a bug in Ebay.auction, the "Current bid" regexp needed to be
 | |
| 	updated.
 | |
| 
 | |
| 2005-01-12 James Vega <jamessan@supybot.com>
 | |
| 
 | |
| 	* Version 0.80.0rc3!
 | |
| 
 | |
| 	* Updated the Geekquote snarfer to snarf qdb.us' links.
 | |
| 
 | |
| 	* Fixed a bug in Infobot, mis-typed registry value.
 | |
| 
 | |
| 	* Fixed Network.connect to actually use the supplied password.
 | |
| 
 | |
| 	* Fixed supybot.databases.plugins.channelSpecific.getChannelLink()
 | |
| 	to return the proper channel link instead of returning the given
 | |
| 	channel.
 | |
| 
 | |
| 
 | |
| 2005-01-11 James Vega <jamessan@supybot.com>
 | |
| 
 | |
| 	* Version 0.80.0rc2!
 | |
| 
 | |
| 	* Implemented Observer.remove, which disables and removes the observer
 | |
| 	from all channels.
 | |
| 
 | |
| 	* Added supybot.databases.channelSpecific.link.allow to determine
 | |
| 	whether a channel allows other channels to link to its database.
 | |
| 
 | |
| 	* Added supybot.plugins.BadWords.stripFormatting, which determines
 | |
| 	whether the bot will strip any formatting before filtering bad words.
 | |
| 
 | |
| 	* Added supybot.plugins.Markov.ignoreBotCommands, which determines
 | |
| 	whether the Markov plugin will learn commands given to the bot.
 | |
| 
 | |
| 	* Added a Network.driver command, which reports the current driver
 | |
| 	being used.
 | |
| 
 | |
| 	* Added an Infobot.update command, which allows the user to import an
 | |
| 	existing Infobot factpack.
 | |
| 
 | |
| 	* Added a Topic.replace command, which replaces the given topic with a
 | |
| 	new topic.
 | |
| 
 | |
| 	* Added a Note.search command, which allows the user to search for
 | |
| 	notes they have sent or received.
 | |
| 
 | |
| 	* Added supybot.databases.channelSpecific.getChannelLink(), which
 | |
| 	returns a channel based on how channels link to each other.
 | |
| 
 | |
| 	* Added supybot.plugins.Channel.banmask which specifies the default
 | |
| 	method of generating Channel.kban's banmask.
 | |
| 
 | |
| 	* Renamed supybot.databases.plugins.channelSpecific.channel to
 | |
| 	supybot.databases.plugins.channelSpecific.link.
 | |
| 
 | |
| 	* Updated RSS.announce such that it adds the arguments to the current
 | |
| 	list of announced feeds instead of overwriting the current list.
 | |
| 
 | |
| 	* Update the Google groupsSnarfer to work with Google's beta groups
 | |
| 	website.
 | |
| 
 | |
| 	* Updated Network.disconnect to announce that the disconnection
 | |
| 	attempt has started.
 | |
| 
 | |
| 	* Updated Debian.bug to handle website changes.
 | |
| 
 | |
| 	* Updated Observer.{add,remove} to require the Admin capability.
 | |
| 
 | |
| 	* Updated Infobot so that it actually works reasonably well; removed
 | |
| 	the deprecation.
 | |
| 
 | |
| 	* Updated Sourceforge to handle changes in the website.
 | |
| 
 | |
| 	* Updated UrbanDict to handle changes in the website.
 | |
| 
 | |
| 	* Updated plugins.getChannel and plugins.makeChannelFilename to
 | |
| 	properly handle the new channelSpecific database setup.
 | |
| 
 | |
| 	* Fixed a bug with ShrinkUrl.ln; the url needed to be urlquoted before
 | |
| 	being passed off to ln-s.net.
 | |
| 
 | |
| 	* Fixed some database conversion bugs in fundbConvert.py.
 | |
| 
 | |
| 	* Fixed a bug in socketDrivers where reconnection attempts would
 | |
| 	always occur immediately, thus continually blocking the bot.
 | |
| 
 | |
| 	* Fixed an exception in registry.OnlySomeString's error method;
 | |
| 	the parent method doesn't accept an argument.
 | |
| 
 | |
| 	* Fixed a bug in RSS where announcing the same feed in multiple
 | |
| 	channels would cause improper displaying of the new feeds.
 | |
| 
 | |
| 
 | |
| 2004-12-22 Jeremy Fincher <jemfinch@supybot.com>
 | |
| 
 | |
| 	* Version 0.80.0pre6!
 | |
| 
 | |
| 	* Added a Topic.separator command, which replaces the current
 | |
| 	separator with a new separator, changing the topic to reflect the
 | |
| 	change.
 | |
| 
 | |
| 	* Changed the supybot.user configuration variable so that if it
 | |
| 	isn't configured, the user will stay up-to-date with the current
 | |
| 	version of the bot.  To take advantage of this, set your
 | |
| 	supybot.user configuration variable to ""
 | |
| 
 | |
| 	* Removed the supybot.databases.users.hash configuration
 | |
| 	variable, so all bots hash by default.
 | |
| 
 | |
| 	* Fixed a bug with AutoMode's auto-banning feature; a variable
 | |
| 	was misspelled.
 | |
| 
 | |
| 	* Fixed a bug with ChannelValues picking up children that aren't
 | |
| 	channels.
 | |
| 
 | |
| 	* Fixed Misc.apropos not to be case-sensitive.
 | |
| 
 | |
| 	* Fixed bug in User.register; it works now.
 | |
| 
 | |
| 
 | |
| 2004-12-20 Jeremy Fincher <jemfinch@supybot.com>
 | |
| 
 | |
| 	* Version 0.80.0pre5!
 | |
| 
 | |
| 	* Added a "shuffle" command to the Utilities plugin, which
 | |
| 	shuffles its arguments.  Useful in combination with
 | |
| 	Utilities.last, which returns the last argument it's given, in
 | |
| 	combination with Utilities.apply, in order to pick a random
 | |
| 	string (think aliases).
 | |
| 
 | |
| 	* Added supybot.plugins.Relay.noticeNonPrivmsgs, for making the
 | |
| 	relay plugin use NOTICEs rather than PRIVMSGs to relay
 | |
| 	non-PRIVMSG messages to a channel.  This often affects tab
 | |
| 	coloring in IRC clients and thus makes it so that relay messages
 | |
| 	color the tabs like the actual messages would have.
 | |
| 
 | |
| 	* Numerous bug fixes.  Many, many bugs fixed.  Oodles and oodles
 | |
| 	of bugs have been fixed.  Myriad bugs fixed.  Get the idea? :)
 | |
| 
 | |
| 
 | |
| 2004-12-17 James Vega <jamessan@supybot.org>
 | |
| 
 | |
| 	* Version 0.80.0pre4!
 | |
| 
 | |
| 	* supybot.databases.plugins.channelSpecific.channel is now a
 | |
| 	channelValue so that individual channels can decide to link their
 | |
| 	databases.
 | |
| 
 | |
| 	* Deprecated asyncoreDrivers.  Use twistedDrivers or socketDrivers
 | |
| 	instead.
 | |
| 
 | |
| 	* Moved {eval,exec} from Owner.py to Debug.py in the sandbox.
 | |
| 
 | |
| 	* Numerous bug fixes.
 | |
| 
 | |
| 
 | |
| 2004-09-30 Jeremy Fincher <jemfinch@supybot.org>
 | |
| 
 | |
| 	* Version 0.80.0pre3!
 | |
| 
 | |
| 	* Deprecated FunDB, added two new plugins, Lart and Praise, to
 | |
| 	handle the same features individually for larts and praises.
 | |
| 	There is a script in tools/ that will convert from a FunDB to a
 | |
| 	lart or praise database.
 | |
| 
 | |
| 	* Deprecated the Infobot plugin, in expectation of a rewrite.
 | |
| 
 | |
| 	* Deprecated the Quotes plugin, since we don't know anyone who
 | |
| 	seriously uses it.  Let us know if you do use it, because it may
 | |
| 	be removed in a future version.
 | |
| 
 | |
| 	* Added Karma.{dump,load} for dumping and subsequently loading
 | |
| 	the Karma database.
 | |
| 
 | |
| 	* Changed the News database implementation to a flatfile
 | |
| 	database.
 | |
| 
 | |
| 	* Removed the tinyurl shrinking code from the URL plugin and put
 | |
| 	it in the ShrinkUrl plugin, and added the ability to use ln-s.net
 | |
| 	as different URL shrinker as well.
 | |
| 
 | |
| 	* Added an outFilter to the ShrinkUrl plugin that will shrink any
 | |
| 	outgoing URL that is longer than the minimum length.
 | |
| 
 | |
| 	* Added a Freenode plugin as proof-of-concept; the bot can now
 | |
| 	use CAPAB IDENTIFY-MSG to ignore users that aren't identified.
 | |
| 
 | |
| 	* Added the ability for the Seen plugin to match nicks with
 | |
| 	wildcards.
 | |
| 
 | |
| 	* Added a showLinks configuration option to the RSS plugin to
 | |
| 	show links during announcements (and another such variable for
 | |
| 	non-announcements).
 | |
| 
 | |
| 	* Added the spellit, hebrew, and shrink filters to the Filter
 | |
| 	plugin.
 | |
| 
 | |
| 	* Added the ability to log to separate directories to
 | |
| 	ChannelLogger.
 | |
| 
 | |
| 	* Added the option to Lookup.add to add lookups that don't reply
 | |
| 	with the key.
 | |
| 
 | |
| 	* Added "at" and "until" commands to the Time plugin; they're not
 | |
| 	perfect, and they don't parse nearly enough times, but they're
 | |
| 	somewhat tolerable for now.
 | |
| 
 | |
| 	* Added a Sourceforge.stats command.
 | |
| 
 | |
| 	* Added single-letter commands to the Words plugin when a hangman
 | |
| 	game is active.
 | |
| 
 | |
| 	* Added supybot.plugins.Services.disabledNetworks, to disable the
 | |
| 	Services plugin specific networks.
 | |
| 
 | |
| 	* Added supybot.protocols.irc.vhost, for binding to a vhost
 | |
| 	before connecting.
 | |
| 
 | |
| 	* Added supybot.reply.format.time.elapsed.short, offering now a
 | |
| 	"short" formatting for elapsed times.
 | |
| 
 | |
| 	* Added supybot.commands.quotes, for configuring which quotes can
 | |
| 	be used to quote arguments to commands.
 | |
| 
 | |
| 	* Added supybot.databases.plugins.channelSpecific.channel,
 | |
| 	specifying the "default channel" for non-channel-specific
 | |
| 	databases to use.
 | |
| 
 | |
| 	* Moved the supybot.humanTimestampFormat configuration variable
 | |
| 	to supybot.reply.format.time.
 | |
| 
 | |
| 	* Added a configuration variable determining the maximum length
 | |
| 	of replies internally, so they can't suck up as much CPU as they
 | |
| 	would otherwise.
 | |
| 
 | |
| 	* Added a configuration variable determining the maximum nesting
 | |
| 	depth allowed, so exceedingly nested commands will be stopped
 | |
| 	before they're executed.
 | |
| 
 | |
| 	* Added configuration variables concerning the formats used by
 | |
| 	the central and plugin logging facilities.
 | |
| 
 | |
| 	* Added a configuration variable determining the quote characters
 | |
| 	used by the bot to quote literal strings.
 | |
| 
 | |
| 	* Added support for line-wrapping the registry configuration
 | |
| 	file.
 | |
| 
 | |
| 	* Moved supybot.reply.{brackets,pipeSyntax} to
 | |
| 	supybot.commands.nested.
 | |
| 
 | |
| 	* Fixed a longstanding bug with the bot "forgetting"
 | |
| 	channel-specific configuration variables if they weren't
 | |
| 	exercised during the duration of the bot's uptime.
 | |
| 
 | |
| 	* Fixed renames so they're finally persistent.
 | |
| 
 | |
| 	* Fixed a bug having to do with Note and unsent notes.
 | |
| 
 | |
| 	* Fixed several bugs in the interaction of Infobot with other
 | |
| 	plugins.
 | |
| 
 | |
| 	* Added commands.wrap, the new method for wrapping commands and
 | |
| 	handling type validation errors consistently throughout the bot.
 | |
| 
 | |
| 	* Upgraded many of the outside projects we include to their
 | |
| 	newest versions.
 | |
| 
 | |
| 
 | |
| 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
 | |
| 	    );
 | 
