mirror of
https://github.com/Mikaela/Limnoria.git
synced 2024-12-29 14:12:38 +01:00
1481 lines
51 KiB
Plaintext
1481 lines
51 KiB
Plaintext
|
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
|
||
|
);
|