9569eb2 (HEAD, upstream/testing, origin/testing, origin/HEAD, testing, changelog) Misc: Only write channel name, instead of prepending it with “channel”.
00e4c64 Merge pull request #692 from Mkaysi/patch-1
a430e3b Misc: Internationalize two strings.
0978bdb Merge pull request #695 from Mkaysi/patch-3
c66072f Misc: Improve code in previous merge.
391c645 Merge pull request #697 from sckasturi/patch-2
0150c79 Added a way to have the urlsnarfer report exceptions (hotsnotnound, ...) (Should be possible changed to only ioExceptions) Enable/Disable via 'supybot.plugins.Web.snarferReportIOExceptions'
d5a9c3f Add link to the install guide in the README.
856a65c Add irc.state.ircd.
8e1929d Fix previous commit.
23e84cf Join all channels in one message when connecting.
ddd8314 Socket: Close the socket more nicely.
916a85c core: Various Python 3 compatibility fixes.
3137db8 Karma: Display the new karma when it is updated.
cb827c0 Fix typo.
6524dfd Karma: Fix @dump. Closes GH-457.
9a23ba1 Fix traceback if supybot.errors.noCapability does not contain %s.
574d73c Fix RFC-compliance of privmsgs/notices/kicks/whois/... with list of nicks/channels are argument. Closes GH-462.
5209cbc Prevent crash of httpserver in some requests. (Why? No idea.)
cac96aa Socket: Fix race condition in SSL handshakes.
6a9af81 src/commands.py: make subprocesses raise an error on timeout, rather than return a string
f310350 Web: add 'timeout' config for web fetch, default 5 sec.
ce98913 Seen: fix tests so they pass. fix seen command so it properly accepts nick wildcards.
8ded033 Seen: Fix save Seen.any.db. (thanks to beo_ for the repport and the test)
854e086 Topic: get shouldn't require capabilities, since it's a read-only operation.
02b9431 BadWords: improve help for requireWordBoundaries config.
011d4dd Badwords: add plugin docstring, and fix/standardize some method docstrings.
a5ec33a Make plugin loading/reloading case-insensitive.
92be7c2 String: make levenshtein command threaded, since it can take a nontrivial amount of time with longer inputs.
34e5aed String: make re timeout configurable.
9fc7ec2 Fix error handling for subprocesses.
7504c64 Status.processes: add output of currently active processes.
141b120 commands.process: return immediately when terminating process, without having to deal with the queue. otherwise, we have to block for $smalldelay between putting and getting the item, since queue putting is not instantaneous and sometimes we would get 'nothing returned' instead of the timeout message.
7f4a1be Status: add 'processes' command, the multiprocessing equivalent of the threads command.
7f98aa7 Some improvements to the commands.process function - better process naming and informational output.
a2985c3 Create a commands.process function which runs a function inside a separate process.
d691a91 Topic: fix bug in invalid number error output. Previously, when giving an invalid positive number, error would reference number-1 as being invalid.
84b878b Filter: catch invalid input for unbinary command.
7feb506 Filter: add unbinary command, as counterpart to binary command.
6025f73 core: force inet_aton argument to string to prevent occasional error on reconnect.
aa4071f RSS: Remove local/feedparser and add it to install_requires
450be69 Bootstrap setuptools if it isn't available.
4d1a7ea Display more explicit error if python-sqlite3 is not installed.
5ebbf2d Merge branch 'debian' into testing
6b881d6 Socket driver: Apply supybot.drivers.poll as soon as modified (do not require reconnect).
aff8cd3 Merge pull request #419 from Mkaysi/automode-l10n-fi
0098fa5 AutoMode: update l10n-fi.
b132e44 Merge pull request #418 from Mkaysi/alias-l10n-fi
514f26f Merge pull request #417 from Mkaysi/google-l10n-fi
eca08f7 Merge pull request #416 from Mkaysi/channellogger-l10n-fi
a80569c AutoMode: update messages.pot
d8595be Alias: update messages.pot
9e2e6bf Alias: update l10n-fi.
bbb7a0c Google: update l10n-fi.
9bc69cc Google: update messages.pot
e9923db ChannelLogger: update l10n-fi.
8e0100a ChannelLogger: update messages.pot
707b2d7 Merge pull request #415 from Mkaysi/shrinkurl-l10n-fi
27a40bd Merge pull request #414 from Mkaysi/channel-l10n-fi
f584c10 ShrinkUrl: commit updated messages.pot
1b85284 ShrinkUrl: update l10n-fi.
38c512f Channel: update l10n-fi.
3fdbad9 Channel: update messages.pot
42957a6 Socket driver: Fix typo.
156b3d9 Socket driver: Add support for Socks proxies.
364a3e5 src/ircmsgs.py: Assert string parameters are actually strings.
8add491 Anonymous: Use channel-specific variables. Closes GH-232.
570e30f Pass supybot.protocols.irc.strictRfc to ircutils.isNick in 'nick' converter. Closes GH-312.
3a59601 Web: Fix supybot.plugins.Web.nonSnarfingRegexp and update l10n-fr and l10n-it.
ccc9185 Admin: Update l10n-it.
41e5c26 Status: @cpu was giving a wrong value for the memory use (1024 times lower).
5fb96ff Merge branch 'testing'
6b0e530 Use log.critical instead of log.fatal (which does not exist).
33debcd sandbox/update-version: Simplify logic in updating version while still using UTC time.
2c4adf1 core: Continue l10n-fi.
67e457f core: Continue l10n-fi.
2e9dcfa User: add l10n-fi.
0bc57c9 User: fix fuzzy l10n-fi.
c2dec57 User: continue l10n-fi.
957311e Fix UTC use in sandbox/update-version.
eb1e047 Fix previous merge.
f6374ed Merge pull request #306 from Mkaysi/update-version
bfb3dd2 update-version: Fix misleading comment.
ab37995 sandbox/update-version: vim modelines exist.
f922c09 sandbox/update-version: fix typo in comment.
a3f4fe3 update-version: Use UTC with version timestamps.
26e9671 sandbox/update-version: bash isn't always in /bin.
b7b3235 Admin: Edit all l10n files to the string.
2a8f814 Revert "Fix commit ce552d56"
efb6dc1 Fix commit ce552d56
38072df Merge pull request #305 from michealh/testing
ce552d5 Fixed a issued with +r channels on freenode? Maybe all ircd-seven or charybdis servers, now displays messages. Also fixed a small grammer mistake
6e32d10 Fix commit 6e699816 (bot always joined on invite)
1fd0657 User: continue partial l10n-fi and unmark fuzzy with correct string.
34f6b6d Channel: fix l10n-fi.
0784ba5 Admin: fix l10n-fi.
1432790 User: update l10n-fi.
74c8c14 Unix & User: update l10n-it.
c2fc7b7 Merge pull request #301 from nyuszika7h/testing
6e69981 Channel: Make supybot.alwaysJoinOnInvite channel-specific. Closes GH-159.
1266deb Merge pull request #300 from nyuszika7h/testing
c656abf irclib.py: Add network name to 'Outgoing message' debug log message
fc3d3e6 Prevent the 'hostmask' converter from returning '*!*@*' while 'foo!*@*' was given.
37023f5 MessageParser: fix two misspell
95a9ffa User: Fix Mkaysi's mess with the messages.pot.
4924dd7 Merge pull request #297 from Mkaysi/mkaysi
fc2b67d Merge remote-tracking branch 'progval/testing' into testing
22eb147 Channel: Really deny access to the nicks list. Closes GH-172.
7c14992 RSS: don't output anything if there are no headlines remaining after filtering.
a091456 Merge remote-tracking branch 'progval/testing' into testing
5f9c889 Merge pull request #169 from nyuszika7h/testing
37597bf Create a commands.process function which runs a function inside a separate process. This is the only way to limit the execution time of a possibly long-running python statement. Use this on String.re, due to the possibility of pathologically long re matching in python. This allows us to remove the 'trusted-only' restriction on string.re. In the future, this should probably be used in other places that take user-supplied regexps, such as 'misc last --regexp', for example, as well as other potentially long-running tasks that can block the bot.
c270111 RSS: fix bug failing to define a variable under some conditions before referencing it.
0418c64 Channel & Misc & Reply: Update l10n-hu.
a345262 Factoids: fix bug when making an alias to a newkey that already has a factoid associated with it.
27e4390 Merge remote-tracking branch 'nyuszika7h/testing' into testing
749ae84 Merge remote-tracking branch 'progval/testing' into testing
0c2e55a AutoMode: fixed some typos.
505b9a5 Anonymous: Fixed typos in l10n-fi.
0d97ada Merge branch 'master' into testing
dd040f8 RSS: add channel-specific blacklist and whitelist.
af32d6b RSS: add channel-specific blacklist and whitelist.
1c5cdb9 Merge pull request #162 from Mkaysi/testing
08ffe91 Alias: fix l10n-fi.
aa621f9 Admin: fixed l10n-fi.
9b7e53e Services: added l10n-fi
1f18619 Services: added partial l10n-fi.
6d0622e Services: added partial l10n-fi.
80c81a7 Added "*.mo" to .gitignore
9477ba2 Merge remote-tracking branch 'progval/testing' into testing
3fa45b3 Secure some more commands which take a regexp from untrusted user input.
0e3002d String: set default re subprocess timeout to 0.1, since that should be quite enough.
e11dc28 Misc: fix potential ddos when misc.last command is fed a specially-crafted regexp.
91ac1c2 String: fix it up to work with the previously committed enhancement for subprocess timeout.
3526d5d src/commands.py: make subprocesses raise an error on timeout, rather than return a string
e23bd93 Secure some more commands which take a regexp from untrusted user input.
47fdfe2 String: set default re subprocess timeout to 0.1, since that should be quite enough.
57884bb Misc: fix potential ddos when misc.last command is fed a specially-crafted regexp.
3e03758 String: fix it up to work with the previously committed enhancement for subprocess timeout.
2feaddb src/commands.py: make subprocesses raise an error on timeout, rather than return a string
08e676e Misc: fix test for misc.last
d85cbd2 Misc: Security fix to @last: time-consuming could freeze the bot. Closes GH-157.
8d6ce79 Time: Remove useless/bad/wrong error message from @tztime.
2caae4d Merge branch 'testing' of github.com:ProgVal/Limnoria into testing
1fa0267 Revert "In registry.py, test whether a requested configuration variable is a channel name before creating it automatically. Closes GH-63."
54aef4f Later & Misc & Seen & Todo: Update l10n-it.
522ae70 Merge remote-tracking branch 'progval/testing' into testing
0ec1c6a Merge pull request #151 from Mkaysi/testing
0098ab8 NickCapture: update l10n-fi
11f6220 Misc: update l10n-fi
872e0ba Merge remote-tracking branch 'progval/testing' into testing
3a9bf0f Later: update l10n-fi.
8b52943 Owner: update l10n-fi
9d885b0 ChannelLogger: update l10n-fi.
9ab6f27 Ctcp: update l10n-fi
97c6798 Karma: update l10n-fi
e820179 Format: update l10n-fi
111df53 Reply: update l10n-fi.
3dd6113 Seen: update l10n-fi.
618200c Merge remote-tracking branch 'progval/testing' into testing
4a69f68 Merge remote-tracking branch 'progval/testing' into testing
98996be Services: catch occasional error when removing waiting joins from list
6dca55d Services: fix problem with some channels being mixed up between networks on startup, when noJoinsUntilIdentified is true.
cf43663 Admin & Anonymous & AutoMode & Channel & Misc & NickCapture & Seen & Todo & URL: Update l10n-it.
d8c0f46 Merge branch 'testing' of github.com:ProgVal/Limnoria into testing
bc36deb ChannelLogger & Format & Karma & Later & Misc & Owner & Reply & Seen & Status & Todo & URL & Unix: Update messages.pot and l10n-fr.
6e5350d ChannelLogger & Format & Karma & Owner & Reply & Status & URL & Unix: Fix typoes.
233d56f Services: started l10n-fi.
b99071b Moved defaultbranch from master to testing, because all translations happen there.
c5da615 Changed description at GitHub.
0ea6729 Merge remote-tracking branch 'progval/testing' into testing
3a96f67 Services: catch occasional error when removing waiting joins from list
82701ab Merge pull request #140 from Mkaysi/testing
0f9907f Nothing :D
18f26b7 Merge remote-tracking branch 'progval/testing' into testing
266a76e Seen: added l10n-fi.
affb320 Merge pull request #139 from Mkaysi/testing
d055fec Merge remote-tracking branch 'progval/testing' into testing
12c2251 Scheduler: added l10n-fi.
d26fee5 Merge pull request #138 from Mkaysi/testing
5d4da87 RSS: added l10n-fi.
f3b6b18 Reply: Fix typo and update l10n-*. Closes GH-125.
52e0bc5 NickCapture: Fix plugin help and l10n-fr. Closes GH-116.
2e0f33f User: Admins can now see capabilities of other users. Closes GH-106.
9cd2c31 Misc: Notify the caller when @tell succeeded. Closes GH-97.
e2b598d Update core l10n-it.
7e88bb1 Update l10n-it for many plugins.
a2546e7 Merge branch 'master' of git://supybot.git.sourceforge.net/gitroot/supybot/supybot into testing
0ec578e Merge branch 'testing' of github.com:ProgVal/Limnoria into testing
db849e2 Add a try/catch arround plugin directory determination (might be useful for some utilities...)
cb01392 BadWord & Channel: add Finish translation
178d1ac Fix coding string of src/__init__.py
44458d4 Change version number to 0.83.4.1+git+fr3
401725f MessageParser: internationalization and French localization
2779b67 Conditional: internationalize and localize in French
aef0b68 Filter & Format & Later & Plugin & RSS & Reply & Status & Topic & Unix & Web: update French translation
e687061 Factoids: update l10n-fr
f7899c7 Factoids: fix merge
3c42a1f Plugin: fix forgotten merge info
f5de099 Dict: update l10n-fr
a3ff40d Ctcp: update l10n-fr
c5de801 Channel: update l10n-fr
2de895c Alias: update l10n-fr
0d7e3d3 (Re)generate all plugin's .pot file
2d56eba Unix: fix merge of @ping
e35bf94 Unix: add call command, giving owner ability to call any system command.
cc5f3c1 Unix: various enhancements to the ping command: Fixed bug in 100% packet loss response. Errors from ping are now sent to irc.error(). Added packet count, interval, ttl, and wait options. Added additional test cases.
f69c47b Unix: fix test for the ping command, call unix ping instead of the default misc ping.
390b3ec Added ping command to Unix plugin
f6c9543 Filter: add unbinary command, as counterpart to binary command.
6ccd1ce ChannelLogger: include in logs the reasons for parts and quits
da25be7 Channel: nicks: add --count argument, which outputs only the count of nicks in channel. also add tests for the nick command.
8e80e7b fix google calc to work when doing a currency conversion.
2925c45 restore the 'import re' to Topic plugin, which was for some reason taken out two commits ago, in commit 51cabeea33f3dab3d7cf42496c10bd660b212bc7 it is necessary for the operation of the plugin (specifically, in the _checkManageCapabilities function)
9f26bb1 for Later plugin, add test for actual sending of notes to nicks upon their being seen.
a6d92a7 Add Later note expiration period, 30 days by default. This should prevent the accumulation of old unclaimed notes in the database, which is possible due to notes left to misspelled nicks, to temporary nicks used by regulars, or to one-time visitor nicks.
dfeb50d Add --raw option to factoids.whatis, which disables variable substitution on the factoid. also add test for this.
b12d8a8 Use the ircutils.standardSubsitute function upon factoid output.
8ed9425 some enhancements Factoids.rank: output options: plain key output, and alpha sorting for plain output. allow an optional argument for how many ranked facts to show.
7c3bc67 Add some sanity checks to RSS plugin:
7505f83 fix docstring for Plugin.plugin command so it actually says what the command will do.
92fc1e3 update quotegrabs to sqlite3
4af9d87 Make registry.Regexp.error mimic registry.Value.error
73e822c Undo mtughan's bugfix from 7f9a1130605fb6b36967f062d3cbcdb73aff8df6, so i can merge jamessan's fix ef8bd817e8b62ede76aa7501a9a8d69af7408efc
d433bfc for Factoids: make approximate fuzzy key searches also when invoking whatis directly. also add tests. while there, remove useless config setting for replyinvalidcommand testing, since it is true by default.
e939cfd update Karma plugin and test code to use sqlite3.
bf6f0e2 make google translate return detailed google error, instead of the unhelpful "we broke google".
8d45228 for google translate, error if destination language is 'auto'.
261a646 in Later nick validation, use irc.isNick. now instead of forcing strictRfc to true, we are using the config.
e469484 take out getDb override from factoids, since i have changed it upstream, in plugins.__init__.py, to use proper sqlite3 syntax.
1b0aa48 make on-join telling for later configurable.
e68704a topic now checks for +t mode before denying topic changes, and also allows halfops in addition to ops. default required capabilities for topic changes (if topic is +t and user is not an op or halfop), are chan,op and chan,halfop thanks jemfinch for the suggestions.
dae8dfd add replace function to format that takes varying-length strings to replace. add test for it add error test for format.translate for different length translate args.
2d718d3 Fix factoids bug ,Factoids.showFactoidIfOnlyOneMatch feature is broken when used off-channel: https://sourceforge.net/tracker/?func=detail&aid=2965589&group_id=58965&atid=489447
4cd0d19 commit mtughan's bugfix for this bug: https://sourceforge.net/tracker/?func=detail&aid=2985241&group_id=58965&atid=489447
c0986e1 change Topic to have a default required capability set, for all write operations. by default, now only allows chanops, and users with admin or channel,op capability to change topics
7ec1ca2 make later plugin send waiting messages on user join also, not just on privmsg.
fcaa786 add nick validation to later tell this avoids plugging the later db with messages for bogus nicks
a2da24d add a random-synonym getting function to Dict, add tests for it. using the moby-thes database from dict.org.
b306c54 add damerau-levenshtein distance to supybot.utils.seq use it in factoids invalid command to match possible typos write tests for same.
bdc8fd5 fix some encoding error for non-ascii langs
ca04512 add detected source language display for 'auto' google translate, add test for auto translate.
6b32467 enable google translate to autodetect language with 'auto' fromlang.
9b51648 add tests for factoids.alias
50ac5a0 delete leftover debug-prints
366c2b7 add factoids alias function, to link more keys to existing factoids.
436d2ba mod factoids plugin to use a separate key-value relationship table this avoids duplication, and allows one to set a bunch of aliases for a factoid, without creating duplicates of the same fact content.
471921e make 'factoids info' include usage count in output. add test for same.
e71ee8f don't give up too easily with invalid command, instead search factoid keys with wildcard first.
b922890 add rank test to factoids, update factoids test code to sqlite3
5c0596f rename factrank to just rank for consistency
2b5ffaa add replies function to reply plugin, which makes multiple replies, if supybot.reply.oneToOne is false.
f71464a This merges an old branch i had for sqlite3 factoids+moobotfactoids. fix up moobotfactoids+factoids to use the sqlite text_factory=str, also fixed up a test for factoid search, since it now sorts keys alphabetically.
c0ebddd start factoid rankings from 1 not from 0
34f8557 remove rogue test-print
7351ec1 sort keys in factoid search output by alphabetically by key name.
d2ac0e7 implement factoid usage counter
957998f Utilities: add countargs function, returns number of arguments supplied.
6381266 Utilities: add 'sample' command, a basic interface to random.sample()
9d7287a Import MessageParser from gribble repo
f3a20df Import Conditional from gribble repo
f6e3698 Scheduler: handle event persistence on plugin reload.
6737424 Shorten PluginInternationalisation.get* in src/i18n.py
ec6a267 Internationalize more functions in src/utils/str.py
dd11dba Merge branch 'i18n' into l10n-fr
5339516 Owner: Add the messages.pot
f394757 Merge branch 'i18n' into l10n-fr
9ce8b4d Note: Add the messages.pot
28787c7 Merge branch 'i18n' into l10n-fr
6c1b91c MoobotFactoid: Internationalize a string
424f5ac Move MegaHAL and SupySandbox to the Supybot-plugins repository
520034d Localize Later, Limiter, and Math into French
e8bc966 Add locale abitrary code
97f51ab Fix i18n bug for global Supybot
47586df Merge branch 'i18n' into l10n-fr
172467f Later: refresh messages.pot
c6b40eb Merge branch 'i18n' into l10n-fr
4a2c78e Later: fix internationalization problem
da7888a Merge branch 'i18n' into l10n-fr
4e578da Later: internationalize a string
b7651b0 Merge branch 'l10n-fr' into testing
2d1917c Localized Games, Google, Herald, Internet, Karma, and Lart into French
3e50b64 Merge branch 'i18n' into l10n-fr
3fe627a Internationalize a string in Karma
827ab35 Merge branch 'i18n' into l10n-fr
f3a579f Add the '<empty>' feature to nItems, and changed ChannelStats localization in order to use it as bug fixer
9b67f67 Localize Dict, Dunno, Factoids, Filter, and Format
5603e8e Set the author as being ProgVal ;)
0dbb72d Internationalize ChannelLogger and Config
4a25b32 Merge branch 'i18n' into l10n-fr
8864a7f Fix Ctcp internationalization
ecfe196 Merge branch 'l10n-fr' into testing
a7eb72f Merge branch 'i18n' into l10n-fr
db977bf Fix Python2.5 issue (class decorators)
4aff05f RSS: fix mislocated decorator
ff24c55 MegaHAL: Don't prefix answers with the nick.
cd025be MegaHAL: Don't learn private messages.
7e58815 Merge branch 'l10n-fr' into testing
9ea39fc Merge branch 'i18n' into l10n-fr
88414de Localize AutoMode, BadWords, and Channel into French
007c587 Remove internationalization of a non-internationalizable string
7a33286 Fix config
44c3eb1 Changes version
47e44d8 Merge branch 'i18n' into testing
7fb900d Fix misspell in Herald
6ef2503 Merge branch 'more-plugins' into testing
cbc1294 Proxyfy MegaHAL and rexrite a (still broken) test case
42a95a1 Localize Alias and Anonymous into French
07710b4 Create MegaHAL plugin
ff79921 Merge branch 'i18n' into l10n-fr
8be4aae Merge branch 'readability'
e122102 Fix a test in Unix plugin
5e2e858 Removed debug information
b59f5be Merge branch 'i18n' into l10n-fr
da9a1bf Internationalize questions.py
6b26861 Internationalize callbacks.py, commands.py, and conf.py ; and generated the messages.pot
df3d096 Modified i18n.py, in order to handle internationalization before conf is loaded
0b86e84 Add the locale managment (edit setup.py and create locale/ directory) for the core
f1d5d9d Fix a pygettext warning
77d0296 Merge branch 'master' into readability
e93fa2b Merge branch 'master' into unit-tests
02fb2c4 Merge branch 'master' into l10n-fr
597cec5 Merge branch 'master' into i18n
386c856 Added myself in the author list
7d0d1ad Merge branch 'i18n' into l10n-fr
6a9a8d8 Internationalize Time, Todo, Topic, URL, Unix, Utilities, and Web
371a40e Internationalize Seen, Services, ShrinkUrl, Status, String, and Success
e4f198d Fix in Seen plugin : AssertionError: 'Someone was last seen in #test 0 seconds ago: *** test <test!user@host.domain.tld> has joined #test' does not match 'test has joined'
26cefc7 Channel: alert should not require the caller to have op capability
2b0b74d Google: Keep the list of supported languages in one place.
65a1807 QuoteGrabs: Fix incorrect argument order to _grab
4eb3006 Try using simplejson instead if json-py is installed.
8bb49e8 supybot-wizard: Handle os.makedirs errors on Windows
a1286f8 release.py: Remove the archives after uploading to Sourceforge
024a77a Updated to 0.83.4.1+git.
a8d2e35 Initial pass at Sphinx documentation.
cf6fcb9 Merge commit '05e8b658e633f37456340b83b01fa304f9fcc5d3', Add script to automatically update version with a datestamp upon commit.
6230a32 Fix setup.py version import. It failed on clean install, since module supybot is not yet available. When importing 'from src', that pulled src/__init__.py, which in turn tried to import the supybot module. Now we edit sys.path and import the .py file directly.
05e8b65 Add script to automatically update version with a datestamp upon commit.
2a40d6e Consolidate the version string to reside in one central place to ease change making.
2c37d3e MessageParser: added configurable separator for the list command.
29837e9 Make plugin loading/reloading case-insensitive.
4ea3761 String: make levenshtein command threaded, since it can take a nontrivial amount of time with longer inputs.
2d9f61e String: make re timeout configurable.
e449866 Fix error handling for subprocesses.
89fd19e Status.processes: add output of currently active processes.
27be9ce commands.process: return immediately when terminating process, without having to deal with the queue. otherwise, we have to block for $smalldelay between putting and getting the item, since queue putting is not instantaneous and sometimes we would get 'nothing returned' instead of the timeout message.
e779b70 Merge branch 'multiprocess'
f55606c Status: add 'processes' command, the multiprocessing equivalent of the threads command.
89cbc7e Some improvements to the commands.process function - better process naming and informational output.
1b84e20 Format.replace: replacement text is now allowed to be the empty string.
0c30016 Create a commands.process function which runs a function inside a separate process. This is the only way to limit the execution time of a possibly long-running python statement. Use this on String.re, due to the possibility of pathologically long re matching in python. This allows us to remove the 'trusted-only' restriction on string.re. In the future, this should probably be used in other places that take user-supplied regexps, such as 'misc last --regexp', for example, as well as other potentially long-running tasks that can block the bot.
9398025 MoobotFactoids: add check_same_thread=False to the sqlite3 connect calls, so it doesn't complain. (thanks malex!) also fix up the code a bit so it doesn't fail the tests, and doesn't require presence of plain sqlite.
3a181b6 Google: fix encoding bug in lucky --snippet; need to pass encoded string to utils.web.htmlToText
d469108 Topic: fix bug in invalid number error output. Previously, when giving an invalid positive number, error would reference number-1 as being invalid.
4aa8762 Filter: catch invalid input for unbinary command.
920c37c Unix: add call command, giving owner ability to call any system command.
76f109c Google: in lucky --snippet, properly convert html to text, using utils.web.htmlToText.
6905d22 Google: add --snippet option to lucky command, which shows the text snippet for the page.
edc4d86 Unix: various enhancements to the ping command: Fixed bug in 100% packet loss response. Errors from ping are now sent to irc.error(). Added packet count, interval, ttl, and wait options. Added additional test cases.
3a84fae Include String plugin for Utilities' tests.
6e33df4 ShrinkUrl: Add serviceRotation config.
3090cff Include String plugin for Utilities' tests.
f926804 Services: Fix conflict with callbacks.Commands.isDisabled
929859b Twisted: Send all available ircmsgs and reduce delay between checks
432228c fix google calc to work when doing a currency conversion.
8daebd1 make Misc.apropos return plugin name even if command is in only one plugin.
9e73f44 Services: Disable most of the plugin on networks in the disabled list.
adc5d62 Twisted: Send all available ircmsgs and reduce delay between checks
1ce52f0 ChannelLogger: include in logs the reasons for parts and quits
a91bc31 Channel: nicks: add --count argument, which outputs only the count of nicks in channel. also add tests for the nick command.
80491fd Conditional: allow empty string arguments in string-comparison functions
5f2d2a9 Utilities: add countargs function, returns number of arguments supplied.
52b3655 Utilities: add 'sample' command, a basic interface to random.sample()
108f7f2 Socket: Ensure driver is flagged as disconnected after a socket error.
bc8457d utils/web.py: Only try catching socket.sslerror if built with SSL support
db47973 Anonymous: Implement support for allowPrivateTarget config.
df2c6c2 Updates and tweaks to some ircutils functions. (cherry picked from commit 6135a88741fcafa49bb2bd768cfc971cd7d58b5e)
1a228b3 fix google calc to work when doing a currency conversion.
a278d17 Socket: Ensure driver is flagged as disconnected after a socket error.
f03a3f6 utils/web.py: Only try catching socket.sslerror if built with SSL support
57e894d Anonymous: Implement support for allowPrivateTarget config.
40941e0 fix bug in RSS.announce.list:
6135a88 Updates and tweaks to some ircutils functions.
5ccb242 Re-add re import since capability-checking code relies on it.
f25d154 restore the 'import re' to Topic plugin, which was for some reason taken out two commits ago, in commit 51cabeea33f3dab3d7cf42496c10bd660b212bc7 it is necessary for the operation of the plugin (specifically, in the _checkManageCapabilities function)
f3af3ec Topic plugin: Restore topic automatically after join if not set.
51cabee Topic plugin: Add persistence support.
fc1a049 ChannelStats: Fix rank to work with selfStats
18ef6da Topic plugin: Restore topic automatically after join if not set.
6520d1f Topic plugin: Add persistence support.
41fd218 ChannelStats: Fix rank to work with selfStats
5d15bbf for Later plugin, add test for actual sending of notes to nicks upon their being seen.
9c12f80 Add Later note expiration period, 30 days by default. This should prevent the accumulation of old unclaimed notes in the database, which is possible due to notes left to misspelled nicks, to temporary nicks used by regulars, or to one-time visitor nicks.
e4c51ef Add --raw option to factoids.whatis, which disables variable substitution on the factoid. also add test for this.
976ad82 Use the ircutils.standardSubsitute function upon factoid output.
71f88ca Clarify the on-error log message in MessageParser function caller.
a819c5b make Misc.apropos return plugin name even if command is in only one plugin.
2bb3ba9 fix bug in RSS.announce.list: Because the 'channel' argument was declared optional, calling announce.list off-channel without a channel argument caused an error.
79c7514 Improve supybot-botchk documentation. Make a note that supybot.pidFile config must be set for it to work.
053a9d5 Improve supybot-botchk documentation. Make a note that supybot.pidFile config must be set for it to work.
f1517a7 some enhancements Factoids.rank: output options: plain key output, and alpha sorting for plain output. allow an optional argument for how many ranked facts to show.
55eeb4a Add some sanity checks to RSS plugin:
3005752 fix docstring for Plugin.plugin command so it actually says what the command will do.
9c5f05a update quotegrabs to sqlite3
5ad620b Make registry.Regexp.error mimic registry.Value.error
35fee23 Undo mtughan's bugfix from 7f9a1130605fb6b36967f062d3cbcdb73aff8df6, so i can merge jamessan's fix ef8bd817e8b62ede76aa7501a9a8d69af7408efc
022193b for Factoids: make approximate fuzzy key searches also when invoking whatis directly. also add tests. while there, remove useless config setting for replyinvalidcommand testing, since it is true by default.
b5058cc update Karma plugin and test code to use sqlite3.
814d89e topic now checks for +t mode before denying topic changes, and also allows halfops in addition to ops. default required capabilities for topic changes (if topic is +t and user is not an op or halfop), are chan,op and chan,halfop thanks jemfinch for the suggestions.
063dd24 change Topic to have a default required capability set, for all write operations. by default, now only allows chanops, and users with admin or channel,op capability to change topics
f880037 for Alias, make doc string say "at least x args" if there are optional args in addition to required args. yay for cosmetic improvements. :)
8d64d08 fix alias bug https://sourceforge.net/tracker/?func=detail&aid=2987147&group_id=58965&atid=489447 add tests for appropriate behavior
4890e2e for Alias, make doc string say "at least x args" if there are optional args in addition to required args. yay for cosmetic improvements. :)
aa634e6 fix alias bug https://sourceforge.net/tracker/?func=detail&aid=2987147&group_id=58965&atid=489447 add tests for appropriate behavior
5e162a2 make google translate return detailed google error, instead of the unhelpful "we broke google".
127b3cf for google translate, error if destination language is 'auto'.
34d9128 in Later nick validation, use irc.isNick. now instead of forcing strictRfc to true, we are using the config.
51eac7d add standardsubstitute vars 'utc' and 'gmt' which output current time in UTC.
2c9f325 fix some time display issues in standardsubstitute:
67ab067 take out getDb override from factoids, since i have changed it upstream, in plugins.__init__.py, to use proper sqlite3 syntax.
bd1fb9f make on-join telling for later configurable.
c4e5dbb topic now checks for +t mode before denying topic changes, and also allows halfops in addition to ops. default required capabilities for topic changes (if topic is +t and user is not an op or halfop), are chan,op and chan,halfop thanks jemfinch for the suggestions.
fe07ea1 Fix the previous Factoids fix.
209facd Factoids: Pass channel to whatis when being called from search
ef8bd81 Make registry.Regexp.error mimic registry.Value.error
8e84da8 add replace function to format that takes varying-length strings to replace. add test for it add error test for format.translate for different length translate args.
643be43 Fix factoids bug ,Factoids.showFactoidIfOnlyOneMatch feature is broken when used off-channel: https://sourceforge.net/tracker/?func=detail&aid=2965589&group_id=58965&atid=489447
7f9a113 commit mtughan's bugfix for this bug: https://sourceforge.net/tracker/?func=detail&aid=2985241&group_id=58965&atid=489447
b115e0d change Topic to have a default required capability set, for all write operations. by default, now only allows chanops, and users with admin or channel,op capability to change topics
7ac4911 make later plugin send waiting messages on user join also, not just on privmsg.
2125e6d add nick validation to later tell this avoids plugging the later db with messages for bogus nicks
01c8f34 create conditional plugin with associated tests. includes string and numeric comparisons, simple string matching.
afe1a21 add a random-synonym getting function to Dict, add tests for it. using the moby-thes database from dict.org.
5d9273c add damerau-levenshtein distance to supybot.utils.seq use it in factoids invalid command to match possible typos write tests for same.
f4d4787 fix some encoding error for non-ascii langs
34cab7f add detected source language display for 'auto' google translate, add test for auto translate.
b8f8cec enable google translate to autodetect language with 'auto' fromlang.
f988736 add tests for factoids.alias
a3f7ada delete leftover debug-prints
2033086 add factoids alias function, to link more keys to existing factoids.
58886bd mod factoids plugin to use a separate key-value relationship table this avoids duplication, and allows one to set a bunch of aliases for a factoid, without creating duplicates of the same fact content.
97149b4 make 'factoids info' include usage count in output. add test for same.
32c718c don't give up too easily with invalid command, instead search factoid keys with wildcard first.
2e043ce add rank test to factoids, update factoids test code to sqlite3
0fb4dd6 rename factrank to just rank for consistency
69c7774 add config for required capabilities to manage the regexp db, and check for them before taking action.
bb44d43 add replies function to reply plugin, which makes multiple replies, if supybot.reply.oneToOne is false.
56862da add more messageparser tests
45e2aa5 write more test code, and in the process add some minor mods to the plugin code
de4936d write some test code for messageparser
db81745 update messageparser readme to point to the web doc.
c2b1c1b This merges an old branch i had for sqlite3 factoids+moobotfactoids. fix up moobotfactoids+factoids to use the sqlite text_factory=str, also fixed up a test for factoid search, since it now sorts keys alphabetically.
3eb6787 add vacuum method to clean up db. require admin capability by default to do this.
1a3d6c3 quote regexp in rank output.
15a4b45 rename listall and triggerrank to list and rank, to be more in conformance with normal plugin command naming practice.
770d407 in listall, put id in parentheses /outside/ the quotes.
65ed84a create info command for messageparser
4972472 allow remove by id, if --id is specified.
7909015 allow show by id with option --id
92389f6 list regexp id in listall (to be used for showing/removing regexp by id)
e2d16cb test regexp for validity before adding it.
f9cc5d5 add lock and unlock command methods
adb53a0 preserve usage count upon overwriting an existing regexp entry.
910ba73 update readme.txt for ability to use commands as trigger responses.
76d25a1 ignore messages addressed to bot directly, in the messageparser.
629ede0 forget about unicode, and just use text_factory str for sqlite to retrieve raw bytes out of text fields without conversions.
6ceeace process multiple matches of a regexp per message
95aa56c fix sqlite3 import for python 2.4
dbbef9e use double quotes in listall.
d72649c give messageparser ability to use arbitrary commands as trigger responses.
a88353d Merge branch 'messageparser.sqlite3' into mergempsqlite3
0e50249 start factoid rankings from 1 not from 0
f8ddba0 get messageparser to use sqlite3. should work now....
3326212 fix typo (write-o, really) in string for show command
0c87c52 use irc.reply instead of irc.error for conditions that are expected to normally occur on occasion, also, add returns after error conditions (i assumed earlier that irc.error returned) - this fixes some bugs.
f6a86a8 populate the readme with useful tutorial! :)
f62be4b implement the messageparser plugin. at the moment, it is constrained only to echo messages, rather than arbitrary commands, for triggers maybe that'll change in the future...
5b05944 create stub of messageparser plugin
3ea6e58 add standardsubstitute vars 'utc' and 'gmt' which output current time in UTC.
13c244c fix some time display issues in standardsubstitute:
d1c00cc remove rogue test-print
9db1598 sort keys in factoid search output by alphabetically by key name.
fcd262c implement factoid usage counter
397cbbe Internet: Use whois-servers.net for all whois lookups.
4a95966 Include hostmasks in JOIN, PART, QUIT logs.
10f5a12 Factoids: Prevent empty key or value when adding a factoid.
0540513 Decode/encode as 'string_escape' when (de)serializing the registry.
288d7c6 Update plugins to ignore all non-ACTION CTCP messages.
3282e34 Don't bother snarfing URLs from non-Action CTCP messages.
9e15d03 Filter plugin: improve the `uniud' replacements.
3a992ba Format plugin: Delete stray `configure' definition from plugin.py.
67c8554 Merge branch 'master' of git+ssh://supybot.git.sourceforge.net/gitroot/supybot/supybot
408ab6f Network: Properly parse WHOIS response
5f9d2bc We had an issue with a command flooder, so we've tightened command flood detection to detect things on a per-host basis, rather than a per-user@host basis.
b774268 Added network to debug "Incoming message" log.
0806c0b PLUGIN_TUTORIAL: Remove references to the old website.
3689460 Use 0 when no results are returned for Google.fight
a48cd10 Fix supybot-botchk's use of subprocess
89a535e Until we can safely load Karma, this test is staying commented out.
52e96bf Remove some comments that are now irrelevant (and have been for some time).
fbdc44c Switch from using the various popen flavors to subprocess.Popen
e303cab work on getting moobotfactoids to work with sqlite3 note: needs sqlite3 version > 3.3.1, so that it is not restricted against cross-thread usage.
07e283f Default to strict RFC compliance.
b77c649 factoids now works with sqlite3, all tests pass.
5bf7139 another step toward sqlite3
cc1f4ea some more mods toward getting sqlite3 to work
11446c7 some work in progress getting plugins to work with sqlite3
a594d0e Small typos and doc fixes.
a453f56 ShrinkUrl: Use tinyurl's api-create page to avoid screen-scraping.
eda8ce3 Remove supybot-wizard's direct import of sets.
082ee59 Change a couple tests so they fail for real reasons instead of fake.
8a98653 Allow Banmask.makeBanmask to work when dynamic.channel is None.
acaa9b1 Rename Owner.log to Owner.logmark
213d304 ChannelStats: Add tracking of max users for a channel.
e393ea5 Remove supybot-plugin-package from the set of installed files.
899391e Remove supybot-plugin-package.
96aaf15 Use '2x' to reference Python version in README.
dc3cdbd Re-word the private message FAQ since +E UMODE is no longer default.
342ab23 Bump the minimum supported Python version to 2.4.
56ba12a Add support for UltimateIRCd's ! (protected) user mode.
927c8c9 Use the correct URLs for the PySqlite website.
f475525 Update references to PySqlite URL
4c9efc0 Replace Factoids.factoidPrefix with Factoids.format
5af3845 Update Topic to use registry.TemplatedString
035a9f2 Add registry.TemplatedString for config variables which use string.Template
25fc2de utils.web: Provide access to the raw httpUrlRe/urlRe strings
f7cedae Update ircutils.standardSubstitute to use string.Template
c4de386 ShrinkUrl: Remove our 'lazy biotch' message and length check.
de4218b ShrinkUrl: Add support for x0.no
d8c13c1 Rewrite ShrinkUrl's tests to ease testing of new services.
924b57e ShrinkUrl: Lower snarfThrottle to .5 second while testing.
9d66399 ShrinkUrl: Add support for xrl.us
200f716 ShrinkUrl: Uniformly handle errors while shrinking via ShrinkError.
c055b16 ShrinkUrl: Use getattr() to simplify use of the growing number of services.
ca917d3 Use utils.web.httpUrlRe for the Web/ShrinkUrl snarfer regexes.
22b3ccf ShrinkUrl: Generalize CdbShrunkenUrlDB's support for the different dbs.
c5896ff utils.web: Import urllib's urlencode into our namespace.
56fbbe9 commands.py: Explain the odd userHostmask check in getOtherUser
6418b3d Check for empty word list in BadWords plugin before filtering.
de79e67 Add a data kwarg to getUrl(Fd) a la urllib2.Request.
e9a896c Clarify databases.types.cdb.maximumModifications' help and use a proper type.
28b4b47 Correct Unix.fortune.offensive's description to use -a.
459bc61 Reply with an error when getBanmask doesn't have a valid channel.
260570b Ensure getBanmask has a channel variable as per makeBanmask's requirement
eff2040 Change canonize => normalize
e922918 QuoteGrabs plugin: Add an `ungrab' command.
a66034f Fix some typos/wordings.
2242b26 scripts/supybot: Unify the `os.linesep' vs '\n' usage.
a693162 Note plugin: Fix erroneous use of __contributors__.
4312923 Added Seen.since, which lets a user see messages which were sent since the last time he parted a channel.
ba29f07 Channel: alert should not require the caller to have op capability
461f943 Google: Keep the list of supported languages in one place.
8745088 QuoteGrabs: Fix incorrect argument order to _grab
b9d6277 Added supybot.abuse.flood.command.invalid.notify, a configuration variable determining whether the bot will notify infractors of their ignoring.
416a6e8 Try using simplejson instead if json-py is installed.
3c898fa supybot-wizard: Handle os.makedirs errors on Windows
b170d5f release.py: Remove the archives after uploading to Sourceforge
332a614 Updated to 0.83.4.1+git.
27a4ef0 Updated to 0.83.4.1.
462fac9 release.py: Allow an extra version number.
d7039f0 Update ChangeLog and RELNOTES for 0.83.4.1
afa49be Channel: Chunk mass mode changes according to supported['MODES']
b644e30 Channel: Fix test failures from making ignores and bans use banmask
8bd37db Channel: Don't let nicks leak private info.
54dda88 Add a pluginCommands kwarg to Commands.listCommands.
fa3a2dd Allow nItems to take longs as well.
d7dee48 Google: Ensure we don't try to use the 3rd party json module.
cca36ed Factoids: Add simpleSyntax argument to getCommandHelp.
9f718fb release.py: Use web.sf.net instead for uploading version.txt
3535f6a Updated to 0.83.4+git.
f32c886 Updated to 0.83.4.
dbf58d5 Update supybot-plugin-doc's manpage
249180b release.py: Specify all the arguments for string formatting
660621d release.py: Use a proper commit message for the +git commit
1c4738b supybot-wizard: Fix listing of plugins during setup.
0d98118 Allow getCommandHelp to be told whether to use simpleSyntax.
7c89914 release.py: Don't specify -a and paths to git commit
e464260 release.py: Actually specify the user to clone as
8c3125a release.py: Correct a couple git checks
d09a4cb release.py: Allow for a dry-run to double-check the results
b82e22b Update ChangeLog and RELNOTES for 0.83.4
d723710 Math: Update the units info from ConvertAll
2e8a223 INSTALL: Use python2.x/Python2x when referring to the version.
c03504b Change PySQLite version from 1.0.x to 1.x as 1.x seems to work now
d37580e Change our minimum dependency back to 2.3
4a7fe53 Add docs/FAQ
babb408 Add docs/CONFIGURATION
5fda0df Update dateutil to latest version and include all files
fea4cc2 Fix setup.py and add local/__init__.py so Time can be installed
279c00a Fixed dateutil to use the "local" subdirectory format.
8c66ed9 Add Success plugin from supybot-plugins package
f3a1e36 Add Dunno plugin from supybot-plugins package
2b09c70 Remove the Insult plugin
bcb00d5 LICENSE: Update Copyright date range
4067365 supybot-plugin-doc: Clean up generation of config docs
178f70f USING_WRAP: Clarify inChannel documentation and document onlyInChannel.
6185286 supybot-plugin-doc: Add basic RST support. Config still needs cleanup
cedc4aa Merge branch 'master' of git+ssh://supybot.git.sourceforge.net/gitroot/supybot
160b7b2 supybot-plugin-doc: Stub support for rendering different formats
acd4e26 supybot-plugin-doc: It's outputDir not outputdir
38f338e supybot-plugin-doc: Add an error() to handle logging errors and exiting
b3d97ea callbacks: Only use dynamic.msg if it's not None in getCommandHelp
f3dca89 supybot-plugin-doc: Allow specifying an output directory
faed698 Return a fake MakeDB function when documenting plugins.
5c2b493 supybot-plugin-doc: Remove escape option; only used for Plone website
f159cb7 Seriously, I'll get this right one of these days...
f51928d 'debug' wasn't an imported log function, like I thought it was, assuming 'fatal' was also available.
92e2046 Added additional check for pidfile writability to supybot-botchk.
82db197 If supybot can't write the pidfile, it needs to exit.
4285df0 Factoids: Fix thinko in getCommandHelp
5301390 BadWords: Only send a msg stripped of formatting if it had bad words
84ca6f2 callbacks: Update PluginRegexp docstring to reference (un)addressedRegexps
f2df22e User: Add private constraint to hostmask.add since a password may be given
d6f6f32 Factoids: Add an __init__ function which calls our parents' __init__s
804fbe8 String: Trim trailing \n from encode's response.
6a0b667 String: Update the codecs URL in encode/decode's help
ebfe8e6 String: Give a more useful message when decoding base64 fails
dfbec68 Limiter: Always set the limit above the current number of users
bb75925 Remove useless comments and fix a SyntaxError
dd4bc64 Changed a few caches to use CacheDict to ensure no without-bound growth on caches.
757991a Added basic CacheDict with simple test.
187620d User: Prevent set.password from failing with an unknown hostmask
c2a783c INSTALL: Remove mention of non-existent forums
d8297df Google: Modify our local simplejson to work pre-Python2.6
151b372 Bump our minimum required version to 2.4
6b6861f Don't specify globals as a kwarg; only in 2.5+
13715a0 Google: Fix calc by basing the regex off the calc img
7b906fb Fully qualify the call to universalImport so we don't get a NameError.
843b6d0 Config: Show global and channel values for Config.config
d2125f2 release.py: Use git-archive to create the tarballs and tag clean checkout
d06335c Add export-ignore gitattributes for test/, sandbox/, and .git*
013167b setup.py: Build plugin list automatically
c81cd48 release.py: Check for clean git checkout and correct branch layout
3f773f9 Add BadWords plugin and local modules for Dict, Math, Google, RSS
4e8dde4 Alias: Add a useful README
dc68e11 Add simplejson to the Google plugin and use universalImport
abd122c Add dictclient to the Dict plugin and use universalImport
0b65c48 Update RSS's README with the new announce syntax
58d308b Fix perlReToReplacer when \ is used in the replacement
e00e161 Comments can't follow line continuations
278da67 Merge branch 'master' of ssh://jemfinch@supybot.git.sourceforge.net/gitroot/supybot
fa9a9cb Ensured logging of error messages with unrecognized numeric codes. Fixes SR #1859821, but nothing can rectify freenode's idiocy completely.
7c8d85a Merge branch 'master' of git+ssh://supybot.git.sourceforge.net/gitroot/supybot
bc70ab8 Fixes SR #2233215.
6986fc7 Do not store the install directory in directories.plugins
ce8b3a5 Merge branch 'master' of ssh://jemfinch@supybot.git.sourceforge.net/gitroot/supybot
d73b1ee Moved BadWords's kick-check to an inFilter rather than doPrivmsg, so ignored people can still be kicked.
22da325 Math: Move convertcore to the local directory
3fd92e7 RSS: Move feedparser to the local directory
777f69d supybot-plugin-create: Also make a local directory in the plugin directory
150f29d scripts: Change tabstop to softtabstop in our modelines
ecd2c63 Make universalImport support 'from ModuleA import ModuleB'
ed32faa Math: Remove extra try block in favor of universalImport
5076241 Fixed RSS to include a feedparser which doesn't override the globally-installed one, using universalImport.
a86b469 Added utils.python.universalImport to make the previous idiom cleaner.
d6ad5b0 Fix math to be capable of using externally-installed third-party packages, while still providing them for people who don't have them externally installed.
f539e65 Misc.last: Prevent potential information leaks
856f372 ChannelLogger: Use a sane timestamp for filenameTimestamp
0bc1664 Use the timestamp formatter instead of duplicating the code
1f3d9e6 Add test to ensure quoted factoids are preserved
e787c7a Clarify comment about timestamp() override
08a0531 Update Factoids.getCommandHelp to respect supybot.reply.showSimpleSyntax
eb6117d Embed formatArgumentError in Commands._callCommand.
338a899 Make getCommandHelp respect supybot.reply.showSimpleSyntax
026a683 Update cachingGetHelp to match callbacks.getHelp's prototype
c936897 Allow doc to be specified for getSyntax, similar to getHelp
9cc917b Guard feedparser import and warn the user if it's not available
e938c4d Remove dictclient from Dict/ and update Dict/README.txt
0ade3a0 Remove feedparser from RSS/ and update RSS/README.txt
1f4d1fc Add test for a bug Tar-Get brought up on IRC
507b95a Fix a couple Misc tests
0a4c660 Adjust testTitle to take into account /.'s slight change
3d5c877 Finally fix the XXX we had for httpUrlRe and urlRe
75c300c Remove useless sets import and extraneous newlines
6590bf8 Do not directly import sets. supybot.utils provides __builtins__['set']
828d41e Add utils/crypt.py as a Python version-agnostic crypt module
d72b696 Do not pass arguments to object's __init__
73fb339 Only disable prefixNick if action is actually True
614fa22 Fix a syntax error in the last command flood commit
300443c Finish the implementation of command flood prevention
a9d1830 Do not prefixNick for actions
b99b2c7 Add tests for recent bug-fixes
cfe0ee8 Actually set the 'rsz' option if it isn't defined.
f772fbf Forgot to utf-8 encode the URL from a Google search
6cfde5b Update googleSnarfer to use the new search method
2b7c36c Remove unused SOAP.py from old Google implementation
cbc91c6 Use a more appropriate message if the URL definitely has no title.
a946eff Fix a copy/paste error in User.capabilities help
88ca711 Change translate to use the (limited) translatable language list.
1fbf61c Correct parsing of defaultLanguage parameter.
62a8306 Rewrite most of Google to use the new AJAX API.
de69f9d Backed out my previous change. I should know better than to question the all-knowing jamessan.
bec12b6 Made jamessan's code agree with his comment (and the maximum integer that can fit into two bytes).
699bb15 Fix a test failure by limiting random.randrange to [-32768, 32767]
d39846a Add a pointer to importantPlugins config var in defaultplugin's help.
9f3bc9d IrcCallback's super() doesn't take any args.
8786b4c Added clearq command to clear the send queue.
d08eee8 Made httpUrl arg wrapper add http:// if that produces a valid http url.
526e71e Added test for firewall, fixed implementation so it actually works.
9d474f7 We can still continue if we're unable to load a plugin.
2f15eb2 getHaveOp needs to call getChannel if state.channel isn't set
4827155 Use network.ssl.setValue instead of network.ssl.set
e31d352 Correct the logic in _handleSocketError
ac2fe7d Add azn and uniud commands.
2672cf6 Fixed for a certain user whose name starts with a J and has "Finch" in it.
1bf4f55 Added tests for later notes.
1979f5a Fixed bugs, added tests, etc.
9a43f04 Fixed final syntax error, added test.
67d262a Fixed another bug in the new rank command.
8fefeaa Fixed a few bugs in the new rank command.
479c11e Added Later.remove.
7f7fd4d Added ChannelStats.rank.
64d3479 Added additional help for supybot.log.level.
0278318 Add +svn to the version
7bb3b1e Merge the changes from the python25compat branch into the trunk
b24eedf Use the hostmask argument isProtected is given instead of trying to use a non-existant variable.
74e06ea Catch the proper exception when parsing the title fails.
f1948a2 Final cleanups for BadWords kicking.
e292c5d Added kick ability to the BadWords plugin, imported it from supybot-plugins.
068f029 wrap() String.len to vastly simplify the function and prevent responding with -1 when we get no arguments. Add a test to make sure we respond with the help when called with no arguments.
9969698 Only tag the ircmsg if we actually get one back from irc.reply. We don't in situations like: @topic fit [tiny $url]
5020391 Set svn:ignore for the build directory
a260230 Add svn:ignore for *.pyc files
8111c48 Switch from rssparser 3.3 to (the renamed) feedparser 4.1 in order to properly handle Bugzilla RSS feeds.
29778f5 Fix the registry type for supybot.replies.possibleBug.
5c19747 Fix the tests for mircColor and sorted (Thanks dcraven)
a8a7ec5 Fix Google.calc ... Google changed their HTML
680473b If we're using python2.5, import re in place of sre.
2bf838f Include the proper string in assertAction's error message.
b57311a Remove first person modification of the reason clause and add tests to support it.
78f0307 Handle flusher correctly.
6c13f55 src/log.py: Seriously simplify the handling of different logging levels for log and log.stdout by setting the level on the different handlers ranther than the logging object itself.
664f56a src/log.py: Collapse MultiLogger's methods into using __getattr__ to detect what's being called and return the proper function.
2636a35 src/log.py: Support different logging levels for stdout and the logfile.
f91318e src/conf.py: Don't use a NormalizedString for supybot.replies.possibleBug since it breaks up the URL.
5d954f7 plugins/Google: Update the URLs referencing the search API.
ee9aaa8 plugins/Web: Swtich the title parser back to HTMLParser sing sgmllib's parser spins on invalid input.
deb6dbc docs/PLUGIN_TUTORIAL: Add a note about importing the random module.
4064da7 plugins/RSS: UTF-8 encode the RSS' URL to prevent an encoding error when including the URL in the reply.
ea6000b src/callbacks.py: Methods whose name != their canonical name should not be considered command methods (and therefore won't be listed in the output from Misc.list).
3908e98 plugins/Factoids: Dynamically generate the help string using the value of supybot.plugins.Factoids.learnSeparator
cd2b58a src/callbacks.py: Allow the docstring to be passed to getHelp()
4ee1437 Services/plugin.py: Add some parens to ensure self.sentGhost is only used if it's not None.
99630bc Bump versions to 0.83.2+darcs
6e7339c 0.83.2 RELNOTES
3288bb6 Changelog for 0.83.2
9214f6a plugins/Services: Make ghostDelay configurable with a default of 60 seconds.
c3cacbc Munge Author's email in __str__ instead of relying on munging the results of Author.__str__
1be3d7f plugins/Services: Only send GHOST once every 60 seconds to prevent spinning when the services are down. Bug 1491034
0af94ef Removing docs/INTERFACES since jemfinch doesn't want to update it and it's nearly useless in its current state.
67c8318 docs/INTERFACES: Re-add from CVS
987c696 plugins/Seen: Use an IrcSet to gather the seen nicks instead of a list. This makes commands like '@seen *amessan' work as expected.
07be8cd src/ircutils.py: A nasty hack around mIRC's broken color code rules. Must specify a foreground color if a background color is being specified, so we'll default it to white.
4de0a49 plugins/Misc/test.py: Correct a test and make a couple tests more robust.
48a5f2a plugins/Misc/test.py: Add a missing plugin that needs to be loaded. Update some documentation and add a note about why a test is failing.
514ddbc src/log.py: Fix a NameError in a Windows specific section of the code.
a64f4e4 docs/CAPABILITIES: Fix a typo.
dc6ae3c src/test.py: Update some documentation.
f249946 plugins/Google/test.py: Updated testNoNoLicenseKeyError to change the proper config variable and be safe when doing so. Also should be using a Snarf assert.
8d09aae plugins/Filter/test.py: Need to include the Reply plugin for the action command.
855453a plugins/Web/test.py: Bump the timeout since we're fetching a lot of information from other sources, which may take a while.
73d7fd3 plugins/RSS/plugin.py: Refactor the character encoding detection and conversion so it can be used in more places. Hopepfully this will cause fewer UnicodeDecodeErrors.
6722a85 plugins/RSS/test.py: A missing step in testAnnounce was causing other tests to unexpectedly fail.
48120bf src/callbacks.py: Update a debug statement so it prints the proper method name.
67697d8 src/registry.py: Update StringWithSpaceOnRight to accept the empty string as a valid value (instead of padding a space).
adc53b1 src/registry.py: Update StringSurroundedBySpaces to only be one space if an empty value is set.
afc7831 plugins/Alias: Update Alias.lock and Alias.unlock to work now that aliases are no longer attributes of the plugin.
e15a561 plugins/Channel: Add the expiry information to Channel.ban list.
7c88da9 Add the ADVANCED_PLUGIN_CONFIG, ADVANCED_PLUGIN_TESTING, CAPABILITIES, and USING_UTILS docs.
9b79f11 src/drivers/__init__.py: Make Socket the default driver since Twisted has been causing so many problems lately.
96e001e Add nickserv "Password accepted" message for RusNet
53e88a6 plugins/RSS/test.py: Remove a comment that doesn't apply anymore and add a test for another encoding problem.
880cce5 src/utils/str.format: Recognize digits before the '.' in %f formatting.
6a2523f Fix some typos in PLUGIN_TUTORIAL and update some wording so it doesn't assume the reader is on the website.
f54c7b6 Update USING_WRAP to match current practices.
0f41a92 Add the USING_WRAP and PLUGIN_TUTORIAL docs Strike wrote.
a395558 plugins/Karma: Comment explaining the last bugfix.
c4b4fc0 scripts/supybot: Stop setting a umask. We'll just obey the user's umask setting.
47d84c1 plugins/Karma: FINALLY fix the crash bug with karma when addressing the bot and supybot.plugins.Karma.allowUnaddressedKarma was true.
26c0adf added support for Twisted2.0 by preventing the twisted reactor from spawning threads for dns queries.
a3e4fc5 Change the modeline to use softtabstop instead of tabstop.
b416fb1 Added docs/STYLE from CVS.
177f373 plugins/Services: Recognize Freenode's response when trying to identify with an unregistered nick.
fdc9c91 plugins/Services: Forgot to set 'on' in a couple places
a373b17 Fixed a typo in the help for Topic.format.
5b3ca9b src/registry.py, test/test_registry.py: Better handling of backslashes in config values.
76deae4 plugins/Services: Add a note to the log messages indicating which network the various Services actions are occuring on.
84b1c7b src/conf.py: Update the help string for supybot.drivers.module. It no longer refers to asyncore and specifies that Twisted is used by default if detected.
6d45897 Moved the disable method closer to its call site.
4dcc4de Fixed PrivmsgTextCase not to require Karma, which requires SQLite.
dca3a3c Minor style tweak.
9da5d05 Fixed a bug in handling of multiplication in results.
ec6779b Removed some unused variables from setup.py.
22c6422 plugins/Network: Actually parse the option list and set an ssl variable.
648ae85 URL: Update URL.last so that getopts args are only .lower()'d if they're a string.
0af83d2 src/conf, plugins/Owner, plugins/Network: Add support for specifying an ssl connection via Network.connect.
97fdd16 scripts/supybot-wizard: Add a question regarding the use of an SSL connection.
0b83f01 src/irclib.py: Document the protected/channel owner patch
cbb5b7a protect_and_chanowner_in_unrealircd
e5be124 supybot-wizard: Update the intro paragraph since we haven't used that method in a loooong time.
f917ffd plugin/Praise: Don't rstrip '.'. People can learn not to end their praise with a '.'.
5c59539 Change pysqlite.sf.net references to pysqlite.org
ad4ef00 plugins/MoobotFactoids: Fix bug in OptionList.
9883cb5 plugins/MoobotFactoids: Add a test case for broken OptionList behavior.
e9fd59d plugins/URL: Make URL.last case-insensitive.
9cb1669 src/utils/web: Add another "UNKNOWN_HOST" code to catch.
9c34b23 src/ircdb: checkPassword should return false when password is None instead of trying to continue with the check.
d074721 plugins/User: Make sure we raise the error in User.unregister so allowUnregistration is obeyed.
53149cc Update my email address in the man pages and add supybot-test.1
9d48f2c plugins/Web: Update the exception handling for the change in parsers.
8cf975d plugins/Config: Finally fix Config.help so the error message actually reports the name instead of %s.
f470c94 plugins/ChannelLogger: Register the config var that the code is expecting to use.
fe72d70 +darcs
0974d70 Version 0.83.1
f926f1d plugins/Owner: Fix the bug where plugins couldn't be loaded until after the first network was connected to.
86a69b8 INSTALL: Add another check for whether or not the user needs the python-dev package.
92b7925 +darcs
0f56e0f Version 0.83.0, for real
b701d0f UNDO: +darcs
b74c0e6 +darcs
2e38b5e Version 0.83.0
296980e scripts/supybot-plugin-create: Prompt the user to see if the wish to use Supybot's license.
408887e Initial import of GETTING_STARTED
ef3e002 src/utils/net: Fix our method of determining whether an IPV6 or IP socket is needed.
da76219 INSTALL: Remove the 'local install' note for Windows.
96bb8c4 INSTALL: Update the doc to be STX-formatted and include the 'local install' addendum.
9700121 plugins/Todo: Specify a converter so negative priorities don't cause safeEval to bitch.
603cab6 Loaded plugins during __init__ rather than do001.
27656e5 Added a few more asserts and clarified an already existing one.
3a0d71c plugins/Config: Also reload the ignoresdb when handling a SIGHUP.
a34a4fc plugins/Services: Recognize the 'already identified' message for tracking identified status.
a3149f0 src/irclib: If the post-inFilter message differs from the pre-inFilter message, log it for debugging purposes.
fa5ad68 plugins/Network: Don't include +s channels in Network.whois reply if the reply isn't going to the +s channel.
a035492 plugins/QuoteGrabs: Order the quotes in reverse chronological order.
cede4a4 Fixed bug in ircutils.isNick, which allowed nicks to start with dashes.
14acfca Forgot a .split() that was causing the channel-database parsing to fail on bans.
5582e69 Fixed ircdb.py to give full exception traces when unexpected exceptions occur.
f8156cc Removed TupleSubclass, which wasn't being used.
17afef9 src/commands: Change the rest context so that it raises an IndexError when no arguments are available.
772f1dd scripts/supybot-plugin-doc: Don't escape characters if they're inside a single-quoted string. Also, make sure config vars with a default of None have a printable default string.
75c9a45 plugins/Time: Fix some formatting so it looks correct in STX.
099231d plugins/Math: Quote some example strings so the STX version is formatted better.
9d99590 plugins/Unix: Update the tests to reflect the changes in Unix.spell responses.
d2dc42e plugins/Google: Fix some formatting in Google.meta's docstring.
0367ae5 plugins/Unix: Keep track of two lines in Unix.spell since aspell sometimes list suggestions after a '*' or '+' line.
1edb4e1 plugins/RSS: Colons are pretty.
1aa73ac Removed Acquire, which I won't be using anymore.
45c7f77 plugins/RSS: Fix info so it works again.
b375ea9 plugins/Web: Fixed the title-retrieval parser to actually retrieve the entire title.
77330d4 Moved an XXX and added a skeleton method.
fc87901 Added some more XXXes for dangerfan.
27ac845 Moved some XXXes around, added some methods (so naming them isn't hard) and a new XXX about methods that return file objects.
75ecf79 plugins/Network: Fix an information leak in Network.whois
91874db Added some XXXes to transaction.py.
bc3a47f plugins/Format: Fix some copy/paste errors.
5b8400e Removed utils.iter.one, which was dumb, because iterators have a .next() method that does the same thing.
6f8e3d3 src/irclib: Let's not override the name for the set type.
14dc0c0 plugins/RSS: If the feed supplies an encoding, encode the headlines with it.
a88f52b Forgot to change the exception name in one of the spots it was raised in.
e9c52f6 Prefixed some non-public method names with an underscore.
612a8e1 Added utils.{transaction,error}
b369039 Added utils.iter.one, to grab one value from an iterable.
201d4ac plugins/Google: Use a sensical form of English for Google.phonebook's error response.
1d7d642 plugins/MoobotFactoids: Load a threaded plugin to hopefully trigger a timing bug.
1a5e05e NestedCommandsIrcProxy should set self.repliedTo if self.error is called.
830a5c5 Commented out an overly verbose (even for DEBUG level) log message.
bc1451e plugins/Web: Encountering an HTMLParser exception doesn't mean the title hasn't already been snarfed. Don't bail right away.
bd31b7f src/irclib: Handle IRCds which use a MAXLIST-style value for the MAXBANS 005 key.
0880a07 test/test_callbacks: Fix a test failure.
464c1e3 src/callbacks: Remove a duplicate except statement.
e4c9381 src/commands: Update first so that state.errored will not prevent the bot from responding when the first converter fails.
35065b8 plugins/Topic: Remove an unnecessary call to irc.state.getTopic.
c60deeb plugins/Time: Add Utilities as a loaded plugin for the tests in order to fix some test failures.
d4d165e plugins/Misc: Make sure Misc.last only skips the first message if last is being performed on the channel the user is currently in.
9df805c Removed a useless assert.
3d66bc8 Let's ensure that self.repliedTo is False before calling invalidCommands.
0027916 test/test_callbacks.py: Added a test for multiple, nested invalidCommands not being recognized.
cc4c143 Log the name of each spawned thread at the DEBUG level.
490fb0b Changed prefixName to prefixNick, which is more appropriate, and has always bothered me. Better now than later.
a477f12 plugins/Topic: Add a proper test for the previous Topic.set fix.
b41166c This should've been an error response in the first place.
4da1f38 Fixed the security issue nicktastic reported, and made sure that if, for some reason, an error doesn't raise an exception, it still stops the calling of the command function.
c444a67 plugins/Channel: Catch a Key Error in "ban remove" and "ignore remove".
766dad2 Fixed an error in hostmask.list when there are no hostmasks.
5c8677c Give a better error message when a given command isn't found in a plugin.
6ed01d4 plugins/Services: Fix up an error message so it actually makes sense.
227b152 Some plugins raise callbacks.Error rather than ImportError when they can't be imported (usually due to a dependency on sqlite or similar).
c1dcb47 Added another elucidating comment.
5815b3b Added some elucidating comments.
b5f1e2a Added utils.iter.limited, an iterable that limits the number of elements that can be taken from another iterable.
c268aab +darcs
1475234 Initial changelog and version changes for 0.83.0rc3.
7549a9f docs/man: Update supybot.1 and supybot-adduser.1 to reflect removal of options.
34f5be5 RSS: Use del instead of pop.
7fdb72a plugins/RSS: Stop using attributes for feeds.
4baff17 plugins/Alias: Stop using attributes for aliases.
85e9035 plugins/RSS: Fix a bug in RSS.remove.
fab281b Long line.
b9cd027 Fixed the help for register.
66076c0 Removed a useless wrapper around a method that shouldn't exist.
b09f358 Removed options related to the hashing of passwords; it's an unimportant user detail, and people smart enough to care are smart enough to do it themselves.
90d199b Removed the call to os.umask, which gained nothing and caused some problems (ones that I haven't quite figured out)
b59742d Removed the -O and -OO switches to reduce confusion; they didn't work anyway.
660776f Fixed twisted.internet.ssl imports to work still if OpenSSL isn't installed.
4fb1519 Properly fixed bugs where plugins expected strings and got non-strings.
a1992b5 Fixed the bug that caused "reply reply" to be necessary instead of just "reply".
aeaad90 plugins/Time: Make sure the Time commands are nested-safe, i.e. they reply with strings.
ff2eb7d Tried (again) to fix bug #1156765. This might resurrect some old bugs, such as the inability to quit via Ctrl-C or similar. It must be tested.
5e07947 plugins/Ctcp: Fix another utils.commaAndify bug.
8730832 Refactored the Socket driver, hopefully to resolve the currently outstanding bugs (#1156765 and #1097217) with it.
6986bba Changed the log message for trying SSL with Socket driver to point people in the direction of Twisted.
49e7467 Made the maxReconnectWait configurable.
d565307 plugins/Topic: Fix a bug with Topic.set where setting topic 1 would set the entire topic.
e4242ba plugin/Topic: Keep track of what the channel's topic is when we join so that we can undo the first topic change.
4e4c23a Removed the "All channels synced ..." message since it's not entirely accurate with our new JOIN ratelimiting.
08ab492 Fixed our NoSuitableDatabase error message not to log a traceback.
d5a889b Fixed problem that allowed connecting to an already-connected network.
9aaba99 Changed log message for 433 to be more accurate when a 432 is encountered.
c5e1f4e Fix for bug #1203201.
0b84819 Fixed some style issues with logging calls.
a1e707c Changed Synchronized to make attributes (and changing the attributes' names) more maintainable.
23c0d23 src/conf.py: addhostmask is now "hostmask add"
994cff5 Update a couple missed changeFunctionName calls.
79fc5b5 Fixed a bug in the way Synchronized was implemented.
ce74fa8 Synchronized Commands (basically, all command-based plugins). Should fix the issue with Karma causing crashes due to PySQLite's un-thread-friendliness.
cbf154b Fixed Synchronized to allow synchronization of methods not defined in the current class.
4b0600a Added a Synchronized metaclass.
2394005 Moved utils.changeFunctionName to utils.python.
1d357dd Some more slight tweaks to the MetaFirewall implementation and stuff.
2861b5a Fixed some uselessness in log.MetaFirewall and removed an attribute that shouldn't be firewalled (it was vestigial).
44c2f08 Used *MY* changelog entry for Seen.any.
f25003d Fixed the wrong Seen.any changelog.
00fc058 Put more useful information into the docstring for utils.seq.window.
8693dbd Update version numbers for 0.83.0rc2.
aa40e82 Add RELNOTES for 0.83.0rc2.
789ad20 changelog update for 0.83.0rc2.
170d735 plugins/Owner: Update some tests to how they should be written. Now we just need to get the code to work correctly.
106fbc6 plugins/Channel: Make disable/enable work again.
d26f9b1 plugins/Todo: Fix a test failure.
9a68ef2 plugins/Note: Fix a test failure.
c6007b3 plugins/Alias: Fix a test failure.
915f84c plugins/Plugin: Move an if outside of a for loop, since it won't change during the for loop.
3c736cf Fix up the changelog.
fa824bd Reordered changelog. Yeah, it's a little late, but it is somewhat useful anyway, for people who haven't used the release candidates.
22aac85 setup.py: Add Insult, News, and Unix to the list of plugins.
f1e5f95 Add Insult in the new plugin format.
41c7c5f Add Unix in the new plugin format.
9693685 Add News in the new plugin format.
726679d plugins/Misc: Give proper help when listing a plugin with no commands.
7bfc9cb utils/str: Rename nth to ordinal and have it return the full string instead of just the ordinal ending.
7deaddd utils.str.nth
229990e plugins/Todo: Forgot to import ircdb when I updated the "@todo" message.
06800f9 Correctly catch the HTMLParseError
47179f8 Catch HTMLParserErrors when we're trying to grab the <title>.
ae5b51f Add +darcs to version.
6666e25 Forgot to update the version numbers.
1dc5a06 Add Vim modeline to supybot-wizard.
903e605 Really make supybot-wizard see the new-style plugins.
5948a71 Make supybot-wizard see the new-style plugins.
2860053 Fix an exception in supybot-wizard.
f79ffc8 Fixed bug with replies when it's not a command and it's not nested.
5274eb0 Commit the initial ChangeLog and RELNOTES for 0.83.0rc1. Open for comments, suggestions, inclusion of skipped over information.
e9389a0 Add Factoids and MoobotFactoids to setup.py
b5b3d16 Relay.{join,part} should require admin capability.
7af1a75 Add release.py, updated to use Darcs.
c444ec3 Make sure to catch any KeyErrors.
3a061ad Change the "no todo" message for jemfinch.
fcfda73 Bug #1190350, Don't grab fake title.
d9ce747 Add optional capability checking for changing another user's Herald.
df73547 Fix up Plugin.contributors and a couple contributors dicts.
44ef2bd Add unaddressedRegexps to PluginRegexp.
53cc36b Really fix enable.
8ccf3ad Fix enable so we can actually enable commands again.
3e07d76 Alias names can coincide with plugin names now.
e7e72d4 Unbreak invalidCommands.
948571c Move MF to s-d
116f598 Re-add manual argument parsing since some stuff is a bit complex for wrap.
979cbd5 Fix some bugs in the Factoids conversion.
6b38346 Factoids should be under plugins/
cc16ea6 Add Factoids in the new plugin format. It's probably still broken.
7e124b6 Change "User.set{password,secure}" to "User.set {password,secure}"
141bbf8 Remove the hostmask test from Misc.
9482f27 Make hostmask a source-nested command in User.
8698eaf Add tests to clarify how source-nested commands work.
b48ca7a Added supybot.protocols.irc.queuing.rateLimit.join, to throttle joins.
73f639b Changed supybot.protocols.irc.refuseToQueueDuplicateMessages to supybot.protocols.irc.queuing.duplicates.
8ce5a18 Add tests for "command named same as nested command class".
c621905 We now spawn a thread for invalidCommands when any of the plugins that will run invalidCommands are threaded.
e1d3c5e Changed the name of IrcObjectProxy to something more indicative of what it does.
c66e7b3 Added a utils.python module for python-esque things.
0333fb7 Updated copyright and removed some whitespace.
5889432 Add man page for supybot-plugin-doc.
6402f43 Actually make use of the clean option.
29fc568 Added a touch function to the file utils module.
c8d114b Added a few useful file functions.
ca41962 Quote the bad channel.
d0fadee Specify a default directory and don't prompt when we create the plugins directory.
27d835e Some more man page updates.
e691c94 Make some unnecessary questions for advanced users only.
43bec28 Simplify directory creation for non-advanced users.
3abadc4 Update the man pages.
482a490 Rename supybot-newplugin to supybot-plugin-create.
aea980c Update ValidChannel exceptions to contain the invalid channel.
99ea2e1 Add a man page for supybot-botchk.
bf64c83 Initial import of our man pages.
d4d2350 Finish implementing supybot-plugin-doc.
bc9cdc4 Fixed the broken mores.
47b42ee Fixed a NameError in an exception handler for a module we don't use anymore.
0773aa3 Made Proxy Irc objects map to the same dictionary slot, so we don't need to worry about calling getRealIrc all the time.
5ce2baa It should be possible to identify without flushing.
47a1912 Improved the reply given when a plugin with no commands is 'list'ed.
1dd6dc5 Proper fix for upkeep.
1a1a40a Forgot a parenthese, resulting in a TypeError.
9c7c384 Google.metagoogle -> Google.meta
e29a9c0 Fix line lengths.
4e7a00d Admin refactored ignore/unignore/ignores to ignore add/remove/list, and changed tests accordingly.
890d92d Admin capability add/remove refactored, and tests changed accordingly.
71830d0 Because super sucks, we need to assign to self.log before calling our parents' __init__s, because mixins might be before our parents. Ridiculous. Don't be surprised if we go on a super-excising rampage in the future.
0ce71fe supybot-plugin-doc: added support for nested plugins command generation.
fb4ac5d supybot-plugin-doc: added coyright notice and logging information, fixed break on nested plugins.
7c5463d Add some more assertion messages.
2c96a65 asserts should have an associated message.
5a7442c an early start to supybot-plugin-doc
2aded95 Add a test for Note.next
7cf0728 Added a 'next' command.
d5c279e Changed % into format in output strings.
4404cdc dbi cdb mapping trying to use a non-existent variable.
7aae5ae fix alternate separator with slash in first part of regexp
6b19504 Changed the utils.iter.choice test to work bettar.
3d60b66 Made the SimpleProxy interface a little more consistent with IrcObjectProxy.
9ec4493 Have to handle the fact that we might have a proxy.
7e44128 Added the Web.fetch command.
c598e4c Added a few more UNKNOWN_HOST types.
5fe4730 Added __url__ to the default stuff generated by supybot-newplugin.
bc49542 Added supybot-plugin-package to the list of installed scripts.
ee0434a Ssomeone wass a little esss happy, me thinkss.
bd7ca03 Added supybot-plugin-package, later to be filled out with more functionality.
2584f4a Capitalization change.
7445ed0 Let's give do* methods at least a SimpleProxy, if for no other reason than to stave off the questions and consternation resulting from *not* having an irc.reply available.
aefcd59 Move structures to utils/
36f6f11 Line too long.
24271c7 No need to issue a warning here *and* when we call connectSSL.
df23365 dded code to Socket driver to make sure it refuses to connect when network.ssl is set to True
eab237d Rename misc.log to messages.log
5604346 Make sure to set a sane umask.
38784b9 Plugin needed a little format() love.
606e92a Add supybot.plugins.ShrinkUrl.bold
e3d4478 Fix some test failures.
bd6aa8f Fixed some bugs introduced in my earlier commit, uncovered by the Note tests.
69a83e8 Stopped possible AttributeError (nick could've been None).
1f49fc1 Some small refactorings, fixed a problem in unsend.
0e68a44 Fixed bug with nested plugins having the same name as themselves.
52fabfd Added a test for nested plugins having the same command name as the plugin name. It fails right now.
ecca13e Simplified the implementation of structures.TimeoutQueue.
b39eaa7 Added .bashrc to the list of files to source in supybot-botchk.
4fb57f2 Updated some docs in the plugins module.
a2e2063 Added a callCommand to the Web plugin to catch utils.web.Error.
1cc969b Clarified the help for some command (I remember not which one now)
aa92e37 Add Seen.any which reports any activity seen instead of just PRIVMG activity.
0b11cb9 The grammar nazi says fewer is the correct word.
1ea9fe1 Catch an exception when dice with 0 sides are specified.
7b46f95 Better error messages when we can't load PySQLite.
eb970c0 Added check for successful PyOpenSSL import in Twisted driver and increased log level
32e0b29 SSL server support for Twisted driver.
d134587 Added getPluginHelp() method to return docstring for individual plugins.
b7736d8 Update ChannelStats to obey channelSpecific.
54d17d9 Update a reference to getops.
0016b4f Workaround for twisted stupidity.
1c56071 Forgot a couple self's when adding split throttling.
51637b3 Forgot this from the nested plugins changes.
fc2a18b Added a name= keyword argument for commands.wrap, to override the name of the method being wrapped.
7c2bbeb Forgot the tests for source-nested plugins.
65fbb08 Started using source-nested plugins.
574e950 Added support for source-nested plugins.
09eecf5 Fix ranking display.
72edc74 Show the person's part message (if there is one).
d43828e Added split throttling to the Herald plugin.
13e1f7c Added isSplit, a function for checking whether a given QUIT message is a split quit.
50d390e Added a reset method, a couple more tests, and fixed a slight bug (IndexError being raised from the wrong place)
b0e006a Fixed help to show the full command.
b272bd7 Goodbye debug log.
919f9e0 Grammar nazi of DOOM!
80c53dc Make automatic announcement errors not: a) poll every time __call__ is called, b) respond with the errors.
4648360 Added op, halfop, and voice converters, and converted Channel to use them.
1e56f0d Forgot to have a case for a disabled channel :)
74e4299 Forgot a dot.
e863999 Accidentally changed this from an error to a reply when refactoring.
48c472d Check for the unknown author and special case accordingly
5e5e2f3 Fixed some typos
2408457 Fix a bug with a missing argument for string formatting.
181c623 Make our error message for the Plugin.__init__ changes better and try to prevent spurious, invalid error messages.
527a6e1 Fix the problem with RSS complaining about invalid feed names.
db36e97 Wrap Plugin.list.
98199fe Forgot to add Limiter to setup.py
234beab Add Limiter in the new plugin format.
25ae2a5 Use get to avoid a KeyError.
3f94bf6 Fix an exception in RSS.announce.
9f6fcf2 Add Todo in the new plugin format. The db format has been changed to a single flat file per user.
07814fc Fix for bug in first.__repr__.
06a6656 Updated Status to use some of the new methods.
66036c3 Oops, forgot a format.
1c10d4c Fixed help.
ee7ca16 Fix for the new refactoring in callbacks.
aff8f86 Disallow retrieving other people's capabilities and make the response private so we don't leak channel information.
21970da Make use of format() in a few more places.
5985562 Put the monkey patch in the wrong place.
c9408a9 Re-added capability checking stuff. Boo. This needs refactored.
ff3b039 Let's not try to call getCommand on callbacks that don't have it.
7ff9463 A little refactoring, a few more cases where we should ignore messages.
6756d49 Fixed Owner.isCommand to be isCommandMethod.
ff8728b Moved the titleSnarfer to Web, so we need to insist that we're called before that instead.
08b4359 Fix for bug #1143733.
06feea3 Fixed test failures caused after test_irclib.py runs, and added a couple extra asserts and some commented out lines for more predictable test order.
cf760c0 Changed Karma's tokenizedCommand to an invalidCommand.
b0df87e Fixed addressedRegexps handling in PluginRegexp.
568ebcd Add tests for utils.iter.choice.
9ed5efa Fix defaultPlugin to work with jemfinch's refactoring.
f50edbe Added our hacked shlex.py, prior to the 2.3 bastardization that made it unsuitable for our purposes.
e6645df Removed the generated value, which is less than useful.
34e4891 Changed to use getattr again; getCommandMethod is pretty much reserved for, well, commands.
9327be4 Added an assert to make sure findCallbacksForArgs is used correctly.
e926198 Forgot to remove this with the rest of the Babelfish removal.
fe353df Removed Babelfish, sending it to supybot-plugins.
bd23fd6 Fixed to make the tests run again with the new refactoring.
3fc1553 Added an option to clean the log/conf/data directories to supybot-test.
6aca01b Made utils.file.mktemp a little more stochastic.
8756b79 Moved the appropriate commands from Misc to Plugin, and fixed the test failures in the process.
2a75f4b Added a classModule attribute to plugins to have easy access to it (the new plugin format made that significantly harder for us; this is an easy workaround).
ed0b91c Tweaked some methods to fix some bugs (yes, it's ambiguous, I know).
0e86d75 Fixed apropos and help to work with the newly refactored command change.
c864836 Finally refactored to make commands be "lists of strings" rather than just strings. This is preliminary to allowing nested plugins.
5b3b616 Forgot to remove the tests for getCommands.
4808a68 Added utils.iter.startswith.
4f99f41 Removed a useless comment.
c1c4649 Added a canonicalName method to plugins.
c3e1d1d Another elucidating comment.
e26d46f Added some elucidating comments and asserts.
849b12e Removed getCommands, which isn't being used by anything.
c2dbe9d Another callbacks.Privmsg => callbacks.Plugin conversion.
156084c Fixed some bugs introduced with the latest refactoring of callCommand, etc.
cb886de Move Weather to supybot-plugins.
544e965 Now we can try to setup a proper environment for our Supybot.
587689f Move Weather to supybot-plugins.
2693d40 Refactored _callCommand to put it in its appropriate place.
7389f17 Forgot an import which broke choice.
ada52c7 Needed to re-raise ArgumentError in order to prevent a spurious test failure.
90c0007 utils.gen.* functions shouldn't explicitly be called since they're all in the utils namespace.
0ba3b07 Forgot to remove log.stat calls from drivers stuff.
e97f111 Removed the checkCapabilities keyword argument because it wasn't used anywhere in our source code.
99d7238 Changed the name of getCommand to getCommandMethod in preparation for a major refactoring.
c09a7ca Removed log.stat, it was dumb.
1193890 Moved the progstats function directly into the command, since we don't need it from configure() anymore.
b13a607 Fix some test failures.
1e5332f Update Karma for the utils restructuring.
dd1c287 Added progstats and environ commands.
e8c6e6f Let's try a sh -cl to act like a login shell.
34d20ca Fix a bug in Weather.wunder due to improperly ordered arguments to re.search
e3b039b Add Weather.rsswunder
32dce47 Let's be honest about what we accept.
fdbecfd Changed the name of the strlen command just to be 'len'.
afd53f2 Removed commands that were moved to String.
68ef3d8 Fix some grammar in the help string.
4030026 Catch the proper errors when a field isn't found.
9f6e826 Make Weather.weather less complicated and fix the bug where it wouldn't be listed as a command until it had been called once.
ad35c62 Refactored to split up Plugin into Commands and PluginMixin.
181d0d5 Had the more and the messages reversed.
f7917bc Update class names.
3c83811 Fix the base class used in newplugin.
6f3db18 Add Weather to setup.py and re-alphabetize the plugin list.
a6973f6 Removed the ability to make regexp-based plugins.
8874676 Update source URL.
86822f0 Fix a couple more bugs related to wunderground's site-format change.
b05834f Update supybot-newplugin to use the correct base class for plugins.
adff889 Added a skeletal Plugin plugin.
56ad1ea I don't know why this hunk of code was there, but it was causing problems for the Plugin plugin, so I removed it.
b0cb616 Changed callbacks.Privmsg to be callbacks.Plugin, and callbacks.PrivmsgCommandAndRegexp to be callbacks.Plugin.
3c3b729 Added Protector in the new plugin format.
4622564 Changed the implementation of IrcMsgQueue a bit.
3a7202b More ignorance can never hurt. Added supybot.plugins.Relay.ignores, a channel configuration variable that allows people to specify hostmasks that are ignored.
203491e Don't load plugins whose name doesn't start with a capital. This fixed (or at least hides) the alwaysLoadImportant warning.
d8b40a1 Make sure we only grab the first temperate format, in cases were both F and C are listed.
097b8f2 Add Weather in the new plugin format.
d9e5b71 Explanatory error message about the change to callbacks.Privmsg*'s __init__ prototype.
de7d0fa Provide a proper response for Later.notes when no notes are waiting.
70d1b1d Moved _mores to IrcObjectProxy, where it more rightfully belongs.
808db81 Forgot this one last remnant of callbacks.PrivmsgRegexp.
9727160 Removed callbacks.Privmsg; if it is replaced at some later time, it'll be different.
affb09e Commented out the case-insensitivity tests, since there's no easy way to fix them, and I'm willing to sacrifice the feature.
a3ebea6 Commented out a test that will probably never work again.
fd365e9 Removed the revision tests, since we removed the revision command.
476a620 Fixed possible error when the returned message includes formatting characters.
e53e237 Better error logging for when commands.wrap fails to provide the right number of arguments.
fce82cf Fix a bug introduced in supybot-newplugin.
fdddefe Added a listCommands method to PrivmsgRegexp, to allow plugins to list their own commands.
4125f97 Updating version from 0.80.0 to 0.80.1+darcs
d74c1b2 Changed Anonymous logging to use new format() style logs
65f713d Removed log.verbose. I never liked it anyway.
6580fc5 2.4 defines groupby, so there's no need to define our own.
566b273 Removed some imports.
571ff24 Changed canonicalize to canonize -- thanks Skorobeus!
e6beec2 Removed some more unused imports.
a656fd0 Removed recursive alias detection; it was imperfect and our nesting limit will catch issues now.
7fe8601 Updated the sample docstrings to explain better what they do.
75d45b9 Added Alias in the new plugin format.
7ed4967 Added a --plugins-dir option to supybot-test so plugins don't have to be specified individually.
e13c958 I was tired of that stupid warning.
7988af4 Removed DBHandler; it's not used anywhere except the unconverted Todo plugin, which should be switched to a flat file database (or rather, directory of databases) anyway.
d44a1ad Changed the variable names supybot.plugins.Herald.throttleTime (to throttle) and .throttleTimeAfterPart to .throttle.afterPart. Also changed the default of .throttle.afterPart, so people could test that it works more easily.
10e496e Forgot to convert the response of time parsing to a string before replying with it.
5ca79f0 Hah, changed WebError to Error everywhere but the source :)
3582fa4 Added Karma plugin to setup.py
b654b13 Forgot to add Nickometer to setup.py.
82f3945 Karma plugin converted to the new format
7c741b7 Nickometer plugin converted to the new format
dbd9e9f Added a %r handler (repr, just like normal string formatting).
9d42913 Forgot to add Anonymous to plugins.
683357f There is no longer a __parent.doPrivmsg, since we no longer subclass callbacks.PCAR.
6e28d31 Removed unused and broken import.
ddc7881 Removed unused (and broken) imports.
93b0306 Removed an extra self in my __parent call.
a056b12 Changed to use an __parent instead of a super call.
f2ae3fd Added ChannelLogger in the new plugin format.
72da5ca Added Services in the new plugin format.
13c61d4 Added Seen in the new plugin format.
dab8974 Added Note in the new plugin format.
5f2d2c7 Conversion of Quote to new plugin format
f4def0f Conversion of Lart to new plugin format
0e3713f Added ChannelStats in the new plugin format.
16ff12a Conversion of Praise to new plugin format
fd604dc Fix error in format() conversion in plugins/__init__.py
4e0f37e Added AutoMode in the new plugin format.
37d0bb4 Fix plugins.ChannelIdDatabasePlugin's __init__ to accept an Irc now, like it should
c7d91d3 Added Time in the new plugin format.
33ba73e Supybot-wizard doesn't use imap!
135a82c Added URL in the new plugin format.
e4e5c14 Added Relay in the new plugin format.
e94900c Removed some debugging code, and added a bit of extra debug logging.
3f1b033 Added RSS in the new plugin format.
c409493 Update some copyright strings.
2836356 Add the Internet plugin in the new plugin format. Also move Fun.hexip to the Internet plugin.
4a52cdf Added NickCapture in the new plugin format.
069d43e Forgot to add Games and String to setup.py.
39e323f Split off commands from Fun and Utilities to the new String plugin.
d88bf5b Conversion of Anonymous
c998dfb Moving action,reply,private,notice to new Reply plugin (for real)
739c9ce Fix Misc tests not to rely on Gameknot
a93db7d Added Later in the new plugin format.
94bfb27 Some format character changes, and a little more information on the "Topic exceeds maximum length" error message.
7b2dbcf DOTS!
309b693 Added Topic in the new plugin format.
8669467 Split ping off from the old Fun plugin.
8c2d613 Add Games plugin, split from the old Fun plugin.
6965abc Made the warning log in Misc.version (a) info, and (b) more useful.
ff45b55 Remove #supybot as a suggested channel. #supybot-bots is better.
bc9f0ee Remove evil tabs!
92839a9 Remove supybot.privmsgs imports.
2b7e813 jemfinch needs his dots!
68d3b83 Remove the use of format() in logger functions since they handle it natively.
7313ae3 Added Google in the new plugin format.
f6e132d Added test_format.py, added floating point formatting to format, and fixed a bug in the %t format.
2a62e79 Fixed test failure in PositiveInteger.
cb05dc8 Fixed a typo in a variable name.
335fc3e Added Ctcp in the new plugin format.
f44be3b Allow timestamps in format to be None, indicating the current time.
0c2da03 Added the Web plugin (from pieces of Http, Fun, and URL) in the new plugin format.
18f8044 Converted ShrinkUrl to use format.
7471706 Forgot to add u to the _formatRe.
4ac7bb4 Added a %u specifier to format, for URLs.
3d57c40 Added ShrinkUrl in the new plugin format.
304ad08 Hacked out format into our logging calls.
8512f52 Fixed the Debug plugin actually to work.
8897e64 Removed test/test_fix.py, moving its tests to test/test_utils.py, and fixed the resulting bugs that were discovered.
978cf65 Added an email converter.
307f501 Abstracted out an assertError method for testing specs.
2b69944 Fixed a bug that was introduced in nItems.
2840aed Added tests for dynamicScope and fixed a bug that made it all but useless.
65893c8 Added emailRe to utils.net.
641c5cd Added __version__ strings to already-converted plugins.
e075c72 Added the Scheduler plugin in the new plugin format.
7b62f61 Add version string to QG
f2fba09 Move QG docstring to proper place
32d535c Addition of search to Quotegrabs
1b631ad Adding QuoteGrabs to setup.py for installation
a5ba65c Initial conversion of QuoteGrabs and addition of QG.search
6bf6dd6 Changed the default for adding a local plugins directory.
642e881 Unbreak the Owner tests.
afc3c3f Fix some calls to pluralize to not use the extra argument. Also updated the pluralize tests.
4b4bfa0 Update usage of utils.net functions.
ec045af Removed extraneous whitespace, unused imports, and converted some sets.Set() calls to set().
0fde239 Update usage of utils.iter functions.
4d32d36 Update a few more places that use utils.str functions.
de89bf0 Update usage of utils.str functions.
47aa4c0 Remove the extra argument to utils.str.pluralize.
9099a1a Update utils.str.format to support specifying an 'and' string.
28cb5ab Update usage of functions in utils.gen.
0a89623 Update a couple more imports for the utils split up and fix.py removal.
2b04506 Added an __version__ string to Plugin/__init__.py as generated by supybot-newplugin.
5a46ec4 Remove the last supybot.fix imports.
9e83114 Un-break the bot. This stuff should probably go somewhere other than the Owner plugin at some point.
68b1d65 Plugin normalization, sanitation, etc. Removed unused imports, for the most part.
70da904 States don't have a copy method.
0a7fdae Changed some more webutils uses to utils.web.
6fbfa2b Moved a webutils import over to utils.web.
381a42d Added an "irc" argument to callbacks.Privmsg.__init__, so now plugins get an Irc on instantiation.
fe82ad6 Added an extra (elucidating) comment to the __init__.py template for importing/reloading third-party modules.
6f2aec3 Fix a bug where nickInChannel would add the channel to the args list.
0d693e8 Update supybot-newplugin to generate the current year for the copyright line.
1d1f8c4 Removed DEVS; we have a website for that now.
bc59e3c Change the remaining utils.normalizeWhitespace calls to utils.str.normalizeWhitespace.
5c72ded Stupid spelling error in a docstring.
a19a979 Robustified and improved utils.str.format a bit; added a simple test.
1f1d85f Removed an unused variable (_srcDir)
90e9017 Moved toBool to go before format in utils/str.py.
34f1fe6 Swapped the argument order for nItems *again*.
e248012 Added format to __builtins__.
90d95a0 Converted some plugin stuff to use format.
e1fe232 Converted commands.py to use the new utils.web instead of webutils; fixed a bug in the httpUrl converter which rejected https protocols.
933be49 Removed BUGS. I never liked it anyway; that's the place for a bug tracker.
c08d435 Fixed bug in irclib.IrcState's handling of KICK messages; they wouldn't remove the channel if the bot was kicked from it.
5fd6bbb Completely restructured our utils modules. Tons of changes. Here's the summary of things that matter most:
e625850 Moved dynamic scoping stuff out of fix.py and into its own module.
7fb3b21 Removed src/privmsgs.py and all the accompanying crap.
1ff2033 Updated copyright date and removed the __revision__ string.
d5dd72c Changed copyright date on plugins/__init__.py.
9712acf Removed wrapLines, which isn't used anywhere.
74b9a3c Moved eachSubstring to be a nested function; we don't use it anywhere else.
6d02564 Added Status in the new plugin format.
79c3461 Added Network in the new plugin format.
1923788 Changed copyright dates on Herald.
cb365a4 Fixed some bugs in supybot-wizard, reported by Grantbow.
af47a19 Added Herald in the new plugin format.
7094bec Moved the print statement to happen right before tests start (so it doesn't show up when running it with, for instance, the --help option).
d9689f8 Added the Filter plugin in the new plugin format.
f854314 Added the Format plugin in the new plugin format (no pun intended).
292b162 Fixed SyntaxError in supybot-wizard.
f5e4e64 Fixed Babelfish so that tests run.
850f457 Updated README to be accurate.
9a132bc Added the Debug plugin to the sandbox.
895cd3e Resurrected the test suite with the new supybot-test program and RCS.
3d3b149 Changed copyright years on test files
ec10a47 Erased last known bug in BUGS.
f30fceb MINOR removed some extraneous whitespace.
4f9d7f4 Converted Babelfish to the new plugin format.
59331aa Updated to be STX as well as ordered chronologically.
0e9a3c3 Added the Dict plugin in the new plugin format.
ddeac18 MINOR testsupport is no more.
d9df513 Added the Math plugin in the new plugin package format.
4aa220e Re-added the Utilities plugin in the new plugin format.
badec53 Changed tests to be more independent of outside plugins.
863c0e6 Moved loadPlugin{Module,Class} to its own module in src/
8d415d7 Updated to work with the new supybot-test.
db722aa Added supybot-test and supybot.test.
0a556f6 Forgot to add {src,plugins}/__init__.py
2c31235 Moved docstrings in plugin packages to __init__.py instead of plugin.py; no lazy "backwards compatibility" hack.
683c2c1 PluginDocumentation Removal
5019d10 Updated license years.
8ca625d Initial import.
dbfec8a Add supybot module
da614f5 Add a link to the Darcs homepage.
3cc434c Proper url for supybot-plugins
a9c5e54 Filename says it all.
6be58d8 Fix a bug with Unix.wtf double replying.
88a906d Fix a bug where nickInChannel would append channel to the args list.
0ea4c3c Updated to 0.80.1+CVS
e68f1d2 Updated to 0.80.1.
7837e8f 0.80.1 for real now
b28880f Fix some more exceptions from not using plugins.getUserName
f03c753 0.80.1
dbcc622 Fix an exception when adding the owner user.
ec3dba0 Add Windchill and Severe Weather to Weather.wunder
90f18a3 Add b and kb to the data units.
c961614 Updated to 0.80.0.
e7e5578 Updated to 0.80.0.
f930bf3 0.80.0
a423d04 Remove a debugging print.
c0d95a2 Fix the bid regexp.
2b12472 Changed _getSep to raise ValueError instead of asserting.
4624115 No need to makeBackupIfSmaller in databases. That's more for configuration files.
e1a8aab Slight tweak to make the copyright more consistent with other files, as well as a grammatical fix.
80f9f7d Let's make this error message a *tad* more useful.
9e4066f Update the languages we support to include Greek, Russian, and Dutch. Chinese was changed to Chinese_simple and Chinese_traditional was added.
fdeae5c Better error-checking.
4c22000 Allow oneToOne to work for rss commands.
9b74c00 Lower the logging level of the sfSnarfer.
3f284f2 Update to 0.80.0rc3+cvs
b12c869 Updated to 0.80.0rc3.
de193d2 0.80.0rc3
cc7b77e Fix for bug #1101332, Network.connect ignores password.
c0439bb qdb doesn't like to put ?'s in their URLs, so the snarfer wasn't catching qdb URLs properly
d15e7e8 Removed an assert that isn't too important.
a65c5e6 I seem to recall seeing a 2 when supybot's host's DNS was down.
76a5e59 Deprecation notes.
c6b50e7 This makes channelSpecific *much* more useful, aka not broken. Closes Bug #1100919
59c4dab Extra help can't hurt.
493aa57 Added a couple asserts.
3b9492d unaddressed will be the bane of me!
102c2d7 Updated to 0.80.0rc2
534313a Updated to 0.80.0rc2.
317b23e 0.80.0rc2
e54ef5d Make sure we don't try to access self.currentServer before it's there. Also, return the new server from _getNextServer
f39a284 We need to declare watchingFor332 before using it.
6b4b1d1 Remove --allow-eval option
a4cec8c Added Topic.replace.
f5bbd8c WRong module.
f63fa68 Elucidating comment, XXX, and hopefully a fix for the problems with using Network.disconnect while a socketDriver is reconnecting.
9f612df Catch an exception when adding/replacing a factoid.
efce872 We need some more irc.noReply()s
5ee8f5d Added two XXXes.
eaf9f80 Handle the case where the program isn't found.
625cfb4 Forgot to wrap the command.
8132f1d No need to be a CapabilityCheckingPrivmsg if our plugin name is the same as the capability we're checking.
141ddfe Updated to update reconnectWaitsIndex appropriately.
2c60643 Added a driver command.
ff8379b Added the collect command.
cba61a9 Fix for that RSS bug thing that mgoldey had (and subsequently, Evil_Lyra had).
3598a0a Add a couple irc.noReply calls. Thanks to Infobot for spotting these.
63dc279 Move our waitReconnectIndex increment to a place where it will actually get called. If it also needs to be where I removed, someone re-add it.
3337d81 Better error message.
d85e56f Make sure we utils.htmlToText the aspnSnarfer, otherwise we can get nasty replies because of the embedded \n.
f31fec5 Fix an exception when using the --to option for Note.list and add tests for the --to and --from options.
06307ab Make Observer remember the active observers. Only allow admins to add/remove observers. Make sure we remove the observer from the active lists when remove is called.
1f4bef4 Fix a test failure
d593106 eBay changed their expired auction message
20bcb69 Change some info logs to debug and make sure we don't reply from a snarfer unless it's with the snarfed info. Anything else should be logged.
9077b1d Make the groupsSnarfer work again with URLs that contain a threadm cgi section.
18ea1de Fix my last broken commit. Gotta have variables around before you can use them.
1aa6158 Fix a bug that occurs when an optional group is not matched.
0d954c9 Fix some test failures
6ef2bbc Fix some test failures
204e30f Don't want to pass the Random kwarg on to irc.reply
8684864 Sourceforge changed their format, again
3d8a4e2 revert
e481260 Simpler to just alias the methods and prevents typos. ;)
aa73b5d Added a warning log.
3736f6d I wrote this to show someone an example of a test, but figured I'd commit it since it's written.
2a8f2d4 Extra unknown_host thingamajob.
1f90a8a Extra backup for something I can't remember what now.
cedcad3 Add a warning log.
b11c4f1 Update Debian.bug for a slight website change.
e088719 Updated for new site format
8fc0c22 I don't know how this got by as "working" before. Now it *really* does.
57c3259 Get rid of the stdout logs as they obscure the scripts' messages. Also, do some more sanity checking of the arguments to fundbConvert.
3cb46ab Add a feedName converter
b697661 Actually wrap crossword so that it's an available command. Include game.guess in the initial reply when starting a hangman game.
d9e4838 Remove self.replied in favor of checking msg.repliedTo
0d6761f Change RSS.announce such that it appends the given feeds to its current list of feeds to announce.
850effa Some wording updates. Move some text to the "Common" section and add some pointers to docs/GETTING_STARTED and docs/CONFIGURATION
56907b8 Let's not error to the channel if we're randomly speaking
d103888 Forgot an import
d97a652 Need to actually add the channel to state.args if getChannel throws an exception
c4df797 Fix bug #1094020, AttributeError in Anonymous.say
48c5a39 Fix bug #1093890, Add some irc.noReply() calls
a4545d4 Fix bug #1093594, UnboundLocalError
a6a45f9 Make sure we're not trying to reply on the irc we just disconnected
ae48b42 Updated for the new _checkCapability name.
58b4e09 Connect has a status reply, why not have one for disconnect
69d9860 Fix User.hostmasks so it correctly checks capability and doesn't display the hostmasks as an IrcSet
9246b16 Updated tests to make them all work properly now... (finally)
ea5bc4d Moved the ln-s urlquote to a more appropriate place, and removed it for tinyurl as it actually made tiny not work
1f8ed8e Remove a debugging timeout
7a176ee Revert the non-PRIVMSG changes until after the release
8d4244f Add support for non-PRIVMSG Seen watching. QUIT and NICK are the only two things that aren't currently supported
4012c5b Fix a bug in Note where Note.list --sent would list the sender's name instead of the receivers.
5aa41af Add NICK handling to prettyPrint. Prepping for non-PRIVMSG Seen tracking
034fb54 Fleshed out Observer.remove. Added 'active' status to Observer.info
fd6f4e7 Fix a bug where we weren't catching the end of the URL appropriately
ab0eff4 Add Infobot.update, which allows updating the is/are dbs with external Infobot "fact packs". Need to add threading so the bot isn't blocked while updating.
4cd15d0 Move the docstring for addressed
4261ec4 Implement RFE #1087718, add a config var to ignore messages addressed to the bot.
cb42006 Better emulation of Infobot wrt overwriting factoids and missing factoids.
82a055c Fix an exception. There may be a better way to fix this (jemfinch), but this will at least stop the exceptions.
6d2a526 Fix for bug #1088549
e867e4c Easy peezy Fix for Bug #1090008
41103b1 Test for fix for bug #1092462
bbedf5c Fix for bug #1092462
c93edfc Change Infobot's *Unaddressed* config variables to be unaddressed.* and add unaddressed.replyExistingFactoid. Began Infobot refactoring and changing the dbs so that they can be channel specific. This is likely still broken.
7217b01 Tag addressed messages with the results of callbacks._addressed. Also, reorder the calling of addressedRes and res in PrivmsgCommandAndRegexp so that addressedRes are run first.
11c12e9 Fixed bug #1091927, Topic.insert was doing the same thing as Topic.add.
6002089 Changed some non-public checkCapability methods to be prefixed with an underscore.
dae2a02 Updated to 0.80.0pre6.
27917b2 Updated.
d884f35 Dot.
5c97b25 Better error message.
094e2c1 Cleaner implementation of noticeNonPrivmsgs. You'd think the variable name would've clued me in.
c350baa Added Topic.separator.
d6136cc Left in an _getIrcName call.
a82e806 Removed supybot.databases.users.hash. Now we always hash by default, though the configuration file still supports unhashed passwords (useful for allowing owners to change passwords by editing the file).
07435be That assert just plain wasn't working out. Also, changed how supybot.user works so it stays up-to-date with the current version of the bot.
9d3cb79 Misspelling.
6d9cc68 Updated some docstrings.
bd3fdf9 Updated.
d31ff45 Added an assert.
8b56387 We shouldn't try to get ChannelValues when not given a channel.
ca81006 We shouldn't try to get ChannelValues when not given a channel.
40f6385 Make apropos not case-sensitive.
84e2072 Fixed some bugs related to the new TestPlugin.
c9360c3 I wonder what made my commit that in the first place.
619b604 Geez...this method is my bane.
7a61683 Grr.
e4d13f9 Generating documentation should take place after more important things have been done.
1a7333a Added another test, commented out one that doesn't apply anymore.
5b622ad No reason why we can't sample empty strings.
f4d7da4 Updated to give an appropriate error message in Observer.remove.
1f22d5e sorted isn't in utils anymore.
15d7394 Better (more accurate) error message on 438.
67d0321 Added tests for apply and shuffle.
35c2003 Forgot to remove a debugging print.
b421c07 Changed the help for register and removed the --hashed option.
3e10b62 Fixed a bug in apply and added the shuffle command.
ec2d298 Forgot an import.
15f47f5 Catch an exception that wasn't being caught.
bb4890c Now we don't try to send empty messages privately.
481752f Forgot to set the password to private, oops.
6a1d4d6 Hopefully this will completely fix the WordStats bug.
cd4f073 Fix bug #1087369, WordStats is case sensitive
dc40847 Remove test-* directories created by generate-plugin-documentation
2dcc077 Remove empty strings in args.
f1b5307 Make sure reply prefixes the nick.
20924ed Added RFE #1031748, optional password for Network.connect.
b8f2e97 Forgot the dot
596abe0 Added a TestPlugin with eval.
360cba9 Updated to 0.80.0pre4.
fc7b4d4 Forgot a username
112db07 We moved generate-plugin-documentation again
dcfe723 Updated to 0.80.0pre4.
61cf6d8 0.80.0pre4
42b455b Make sure we chmod docs/plugins so it's group writable.
e89e540 Add a test for dynamic.channel
db52f4c Hack for now.
b9b04fd Need SimpleProxy for irc.noReply()
bc5e7de Let's try this location for our placement of a dynamic channel.
3b2ef3d Add plugins.getChannel
75eb335 Apparently, popen2.popen4 doesn't reap its children, so let's use popen2.Popen4 and do it ourselves.
62c7750 Make the specific tracker commands work.
7b800fb Send proper CTCP responses.
1e484a2 Don't cycle if we're already op.
889cb34 Misspelled variable name.
664c468 Updated to respect channel-value-ish-ness of reply.showSimpleSyntax.
e7b8d8b Change the default of supybot.log.timestampFormat to iso8601 (thanks, Grantbow, I used your forum post for this).
e91a897 Removed some XXXes.
b906708 Removed an XXX.
cc084d2 Removed some XXXes and allowed other separators than /.
5d37d71 Test is too tight, commented out until an appropriate test can be devised.
0ff7632 Removed some XXXes.
aa83ab2 Removed an XXX.
db04265 Removed a fairly unneeded XXX.
ca27af3 Updated.
0c0f791 Converted to use world.getIrc.
73deb20 Minor stylistic changes.
7c2e9f8 Added getIrc.
a29c4b2 Converted to use irc.isChannel rather than ircutils.isChannel.
161b9b9 Todo #1047143, conversion of os.path.join calls to dirize calls.
eb03f94 Moved eval/exec commands to sandbox/Debug.py, removed allowEval option.
6f28557 Format change.
cee0dc3 wrapify. I don't feel like converting the db properly (i.e., using data/Todo/<user>.db), so I'll leave alone the current db.
cedd6a2 Add some Raise=True and a test for multiple replies from Misc.hostmask.
c8af5c8 wrapified
caae2dd Fix for bug #1085210, change wrap()ing of {add,remove}capabilities to use otherUser instead of hostmask.
7c7a733 Removed old code that has no business being around.
e97fe38 Moved to docs.
7d445ea Updated.
92d5c17 Deprecate asyncoreDrivers.
29c9fe9 Try to handle disconnects.
c73ca69 Send an error message to plugins on disconnect.
6bcae93 Added error helper function.
cdfdc93 Move it back to tools/. Makes it easier for me to use in the .deb
2e34916 pycheckrc was moved to sandbox
58615e1 Add documentation updates.
3d881ad Better error message.
41ad8c1 Added limited dynamic scoping.
7d66c9e Finish implementing Limiter and add tests.
af1d042 Reimplementation of channeldb converter, respecting the channelValueness of supybot.databases.plugins.channelSpecific, and turned supybot.databases.plugins.channelSpecific.channel into a channelValue so channels can link their databases to other channels.
d170a71 Fixed handling of QUITs and NICKs.
3b6d40b Added a test to make sure something worked.
aa3868c Make the error messages refer to specific tracker types instead of using the generic term tracker.
730c0ff Updated to scp the new version over and commit the +cvs versions, as well as to print status updates.
f4af582 Fixed bug #1083822, attributing the 'dis'ee incorrectly. Now it says "for trying to dis irc.nick". Was unsure if that or "for trying to dis me" would be preferred. Change it if you have an opinion.
62d5627 Finish fixing #1082830.
8ea6331 Finally finish renaming Quotes -> Quote
9d77e38 #! lines
2ebe809 Move textwrap import.
0ed2832 Fix0red the implementation of makeChannelFilename.
2d4f625 Forgot an irc.
179fc87 Refuse to kick self.
0abd472 Added a channeldb command for testing channeldb.
9f0b593 Typo. Come on Jeremy, how can you have a typo on a one-line diff?!
3e13d36 Forgot to change the name of the plugin.
e533de5 Forgot an import.
28cfd18 Fix for bug #1082928.
576c91e Fix for bug #1082935.
032054a Updated.
9c08a19 Fix for logging with multiple networks.
1932ed4 Slight bugfix in isCtcp.
93e9fa3 Change assert message.
400c9aa Change from an old-school typecheck to a new-school one.
4d35de4 Added an assert.
7950141 Didn't update when I changed this configuration variable name.
962e259 Caveat emptor.
6d7b0d7 Ok, so I'm ridiculously anal...
fe4528f Updated.
c700072 Changed implementation of xor command to be cooler.
c5e48d5 Indentation change.
3884fc4 Updated.
551ce29 Slight stylistic update.
265d620 Changed a warning log to info.
e793bf7 Better answer.
a6dfd38 Removed a completed todo.
0efb17d Variable name change, humanTimestampFormat => reply.format.time
595a787 Fix bug #1082448, User.username traceback
3679b28 Fix bug #1082278, forgot parens.
9f84f15 There were some unforseen consequences of using irc.error(), so back to this way for now.
d5af6fc What is it with people changing the html for their website?
4c85f2e Refactor a little so that plugin config and nonplugin config sections are generated the same way.
68569f1 Updated the easy stuff to work with groups.google.com's new layout. The rest will have to wait until Google decides to declare it non-beta or someone besides me is motivated enough to fix it.
78685a3 Fix a test failure.
df14ebc Deprecate Infobot until we get around to fixing it.
dc7a3dc Handle some more reply formats to fix a test failure.
3b61351 Let's try and use the database we'd normally be using.
b8da362 Fix test failures.
27a233e Forgot a :
fd2f529 Hopefully Markov is now written with the lowest common denominator of the idiotic anydbm in mind.
d253a87 Clean up our html a little bit. Add generation of non-plugin config vars. Make sure we use .help() instead of ._help since .help() can be overridden.
7862d8d Better way to reply with the help.
5466544 Fix for a bug in the short timeElapsed.
f1cbd06 Username was broken.
407952f Fix in a test.
2ae2c16 Forgot to take out a line.
6c8071d No need for backups on these ChannelUserDBs.
e4f15ae Cleaner implementation.
fc2751d Allow a short representation of time elapsed.
c948a25 Fix for test failures in Fun.py.
1a63af3 Fix for bug #1081086. Be sure to read the reasoning in the bug itself.
bda9e91 Add Debian.debianize. Add a try:except for webutils usage. Use Raise=True in a few more places.
59b561b Add Markov.stats. Add some elucidating comments. Remove incomplete SqliteMarkovDB and unused MarkovDBInterface
15c5a7f Missed an indentation level.
9e2c014 Stupid typo.
bbc5ed6 We apparently need these closes as well. Let's see if this fixes my bug.
5542ad9 We should close stdin as well.
517cd03 Fixed some fallthrough handling.
3609534 Fix for bug in Network.command.
5822a24 Slight improvement to a test.
1139f2a More idiomatic.
6b69d36 Used commands.wrap, fixed reconnect again.
640241b Added networkIrc, owner, admin.
e2e5acb Updated for only allowing single channels.
826786d This shouldn't have been committed.
edb0f1a Typoed method name.
afbc6ab Uh, I forgot my signature :)
1149ff6 Forgot a Raise=True.
6e712bb Proper ignoring of deprecated plugins.
8eaec18 Fix for broken test_Topic.
3fd71dc Optionalize the nick in in the invite command.
9480ff3 Updated to do proper noReply calls.
5af6553 New way of handling channel keys.
58c631b Yes, we do.
ab217fc Updated to allow all drivers to use vhosts.
1e49f9e Fix replies to some dumb/broken CTCP PING implementations.
fee37e4 Updated to use commands.wrap.
eac5d2f Added a couple asserts.
e4fa4de Prevent two replies when @weather succeeds
91c6cb5 Another slight randomgrab bugfix
0a19073 Fix a bugz0r in randomgrabbing
7f00bf0 Dump/load commands.
7c8f8b4 Removed a check for something that would make us never send an ISON.
00b7a09 Added an info-level log.
eca7079 Initial import of some conversion scripts for our db changes
d9e766b Revert back to non-wrap/abstracted form since it'll be replaced by a better Factoids plugin.
08f4e8c Converted to use commands.wrap.
ee145e7 This is a far more reasonable implementation of __len__.
b9d1092 Better implementation of relay detecting/punishing.
019a53c Need to make sure we set the nickeq function even if we're using an already created database.
4ba005d Update QuoteGrabs to use db abstraction. Hopefully fix the mxCrap thing for good. This update should also fix the problem that had existed with QuoteGrabs and databases.plugins.channelSpecifc=False
ac04024 Use commands.wrap, removed a line of code whose purpose I don't know.
3f9c699 Fix for bug in IrcMsg.__eq__.
864fd97 Fix a getNick bug
73a3261 Better (?) help message. Comments/changes welcome.
80fe675 Fix a bug for when showFactoidIfOnlyOneMatch is set
f95f5a0 I had the map(str, ...) there for a reason.
c8bdb45 Now we don't print anything before daemonizing.
955bf08 Rudimentary sorting.
3904672 Only add sorted if < 2.4.0
f7a3504 Added getUserName.
2a0b9e6 Finished conversion to commands.wrap, and fixed some bugs.
cbba7c6 Fixed a potential bug.
7de6d11 Added an XXX.
4facd7e Fix0red disable.
9021c5e DirMapping is incomplete, but I need some feature additions for DB.
3606f2e Fixed the bug, but forgot to commit.
40a2e07 Updated for 2.4.
1e0b039 Updated help.
592bbc0 Elucidating XXX.
4ab161f Better formatting.
a71d074 cleaner implementation of getLong
2f3fa32 Convert some 'text' to 'something'
12fa109 Convert to wrap and simplify Admin.join (no longer accept multiple channels)
d57788b Fix some bugs in Channel.kban
c87788d Make sure state.channel is carried over when we call State.essence. Also, add continueOnError option to any().
01513bc Fixed a couple test failures.
b1d1991 Converted to new method.
e24943b Some extra methods for ChannelState; code should now use these methods instead of directly accessing .{ops,voices,halfops}.
54b56a8 Raise the proper exception.
62b5dd8 Added a warning log.
65b369f Removed a vestigial comment; our current system of not combiningRest has worked out well.
f9d82c7 Changed some 'text' to 'something'
9ea98a5 Updated docstring.
9a71af3 Make sure we keep the originally registered probability. Also, quote the command being run like we do in an alias' help.
4a0cefc Fix for non-persistence of observers.
9a3d196 Move the Probability class to src/registry.py
7eed44e Converted Random to wrap. Added a long converter to assist this.
d31b672 Cuter output.
e5b2459 Update to use wrap and our better db interface.
6adc746 Added an optional argument for the notes command.
08040bf Added a 'notes' command.
877c6ee Added test, but didn't find the bug I wanted.
43b2dcd 2.4 compatibility (this time with an elucidating comment).
2911a2c Catch some webutils exceptions. Fix a 'literal' usage. Change some 'text' wraps to 'something'.
a1162bf Purtier.
a08bf6b Better string handling. If there's a particular reason why the .upper() calls were necessary, feel free to add them in.
f91a819 Oops, forgot the quotes.
fd4e625 Better logging.
de36773 Fixed some bugz0rs.
8071e02 Converted to commands.wrap. These are all untested, so someone should test them at some point.
4a4a091 Converted to commands.wrap. These are all untested, so someone should test them at some point.
5762ed6 Converted to commands.wrap. These are all untested, so someone should test them at some point.
8b19620 Moved.
8ec5a54 Removed.
a304dfe Added unban-without-hostmask behavior (untested) as well as fixed the bug in Channel.mode.
eb83076 Moved some stuff around.
a82bdaa Better checking for what a command is so we don't generate documentation for Regexp/RegexpCommands
8b0d0a9 We no longer have to strip the first two characters of options. wrap() handles this for us.
fda6b57 Make sure we reply if all of our fallbacks fail.
1e159fb Add an XXX
241243b Change a couple more ircutils.is* to is*
b135107 Fix bug #1063950, traceback when Weather is an unexpected format.
f36fdd3 Let's *really* prevent ourselves from reconnecting to the same network. The Raise=True was raising a callbacks.Error which was being caught.
b4557e0 Moved to sandbox.
611149a Add plugins.Markov.minChainLength and plugins.Markov.maxAttempts which should allow for interesting Markov chains (unless you like the one-worders).
ed2488c Converted Alias to use commands.wrap (for the most part).
a0e863d Fix for bugz0r.
0ff919b Added an FAQ for nicks with brackets in them.
4ce6582 Expand a little on the supybot.defaultIgnore help. Also, went ahead and changed the timestampformat from a GlobalValue to ChannelValue like the XXX told me to.
ea8bf1f We no longer need to getUser here since wrap() handles this for us.
59d3065 Commit my long sought after *cough*Skorobeus*cough* randomSpeaking updates
d280387 rest should require args unless indicated otherwise. Currently, we can't indicate otherwise, but that's because we haven't had a need for it yet.
54db030 Added test, changed to use commands.wrap.
beffc15 Someone committed this in dos file format. Let's purge that evil.
6341b26 Fixed a failing test, showed a results number in search, and added to our standardSubstitute for Dunnos.
eed8422 Updated to tell what channel the seen commands are being applied to.
3f1dfa0 UPdated.
6898033 Fixed some bugs. The tests still fail, I can't figure out why.
2633575 Fixed some uncaught exceptions and a few other places it might happen.
ced5caa This never had any tests anyway, and now its plugin is gone.
3e8622a Initial checkin.
964fa95 Removed standardSubstitute test.
21d5745 Bug fixed.
df42550 Bugfixes.
cc331c1 Set the default plugin for enable/disable.
92d86d9 We should run these tests periodically.
89e52c3 Changed a log from WARNING to DEBUG.
91ec099 More informative log.
d7275d7 Relay nicks should still work when the bot isn't in the channel on a network.
591e666 Better.
f515617 Disable unregister by default.
33254cb Better error handling of bad loads.
58b3268 Have exnToString handle exceptions whose str representation is empty.
0408884 Refactoring of error-related configuration variables.
b8216a6 Correct the behavior of "karma"
bea5866 Fixed bug #1059536.
a060f26 Fixed bug #1059544, InvalidRegistryValues can now show what the name of the registry value is.
54f77f9 reason should be 'text'
4ca62e6 Missing irc's are bad
553f31c Need to make sure s is declared
716aefb LOTS of bugs fixed. More to go.
4c6ad94 many('text') => many('something') since we don't want to combineRest. Also, fix a mistyped variable name.
df0b661 Allow 1/0 for booleans.
49f8105 proper string formatting
744944d Wrong variable name.
787625c Let's report the correct value for the asserts that failed
f6d8c2a commands.wrap update
afff273 Made the asserts more verbose.
ecc61d3 rest()ify Topic.set since we no longer combine all remaining args
b744ab6 Fix an old-style import
3899f33 Added Lart and Praise plugins, deprecated FunDB, converted Dunno and Success to the new plugins.ChannelIdDatabasePlugin.
3b5cde2 -s => -r.
f9e0a5e We should automatically load plugins, even when deprecated.
6096604 This should allow contexts where we allow converters.
ac57418 RFE #1049535 : Wildcard "seen" results are now sorted by time seen (most recent first)
81395a5 A little self-gratification ;)
3f2f500 ToDo #1046877 : Added Enable/Disable commands
4c555d4 Fixed a bugz0r of no arguments given to Misc.help.
d6949c9 Fixed a bug in the test.
8e3e8f8 Added an XXX.
72a7a22 Fixed a bug in getId and added a debug log to Spec.__call__.
8c4cbeb Added supybot.plugins.Owner.quitMsg support for Ctrl-C kills.
96cb71f Added some useful imports.
6d99d82 Added an XXX.
fae5772 Added for the moving of standardSubstitute.
96ab326 Changed an INFO log to DEBUG.
f4f35f5 Fixed some help stuff.
8324de6 Help abstraction.
83cc539 Let's do things the right way
d9a8b7d standardSubstitute moved
631da9c commands.wrap update
d2fb6fb Fix the tests
024052b Updated for the move of standardSubstitute.
e688faf Moved standardSubstitute to ircutils.
bc23a69 You shall not delete ME!
d56202d Added a default quit message.
a2dfa3b Trying out vhost stuff.
625043c removed privmsgs.checkChannelCapability.
114d625 Updated to use commands.wrap.
ba1bb34 Allow abbreviation in getLiteral.
c809b7a removed privmsgs.channel.
f646169 Converted to commands.py.
a07f83e Removed privmsgs.thread.
0a71b92 Removed a useless line and added a test that depends on that removed line.
0525325 better error message.
11de062 Allow isSeparator to be a function.
dffa178 Updated to use commands.py.
4901930 Fixed getOtherUser.
b32215e Tons of updates, text now snarfs all remaining, but we still haven't stopped combining rest in context.
44d59fc Updated to use commands.wrap.
c023652 Updated.
303f087 Old variable name.
4539f38 Fixed an infinite loop bug.
f11e7d1 Fixed a bugz0r.
39ab345 Removed a dumb valueerror.
e378b34 Added a configurable more length.
0408beb Fix for bug with instant mores; also change supybot.reply.truncate to supybot.reply.mores (i.e., it's not just a group now, it's a boolean).
a1b7b67 getOtherUser shouldn't accept a hostmask (re: bug #1054680)
ca0c0fa Change user.hostmasks to an IrcSet
7c8882e Fix bug #1054660, Optional password argument needs to be defaulted to '' instead of None
3da0af9 Fix bug #1054645, using old-style ircdb.{set,new}User
e63d93d Let's not check explicitly for None, just to be safe.
cbd5abb A bunch more %r -> %s conversions as well as wrap updates, new policy for Channel.voice and some bug fixes for Debian
2adef7c Make Weather.weather actually work as a wrapped command calling wrapped commands and using the user registry.
de711b5 Remove unnecessary allowExtra and switch from 'text' specs to 'something' specs in non-arbitrary text situations.
635509c Updated for the removal of supybot.channels.
f54b107 Old code alert.
8c4d174 Converted to use commands.wrap.
f2fa10f Also for removing supybot.channels.
c256a3d Fix for uncaught exception in IrcState.addMsg.
03b740e Finally removed supybot.channels.
cd2a06a Messed up import.
c0254f8 Made join/part network-specific.
7f5a12a Extra debug log.
d0e2f2d Fixed.
2d0be46 Should be a fix for the double relaying of topics.
383559e Added MultiSet.
ffd4957 Fixed bug #1052821.
83d4931 Fix for bug #1052911.
9e813ff Added an XXX.
447a6e6 Fixed bug #1052921.
c374b82 Forgotten period.
c0a8f5e commands.reversed => commands.reverse
6619668 Forgot to add it as a possible outfilter.
b8621f0 Fixed shrink command.
a19bf09 Fix0red the bugz0r with reversed.
66d9d45 Fix0red the scheduling of upkeep.
8954aa2 I'm dumb
4dafdcd Massive updates. %r -> %s, some commands.wrap updates. Factoids is broke until we get some stuff working in commands.py
7ab8be2 Added an XXX.
c6e5d22 Updated to use commands.wrap.
1a6b4aa Removed an old comment that wouldn't ever work.
1a73603 Added httpUrl converter.
e3bdd34 Allow ids to have # in front of them.
0d2b710 commands.wrap.
601d58a utils.quoted
575d83b Oops, did an optional instead of an additional.
d203813 Bugfix for nick.atEnd taking precedence over prefixChars.
d5241eb No errors on exit when google.py fails to import.
6b946aa Added phonebook command.
61d0b67 Fixed bug #1051136.
4105697 Fixed bugz0r.
53f77b7 Converted to commands.wrap.
ddb914a Forgot a noReply.
66282cd Fixed some bugz0rs.
c49b32f Fixed fallthrough handling.
64c2558 Removed, split into multiple plugins.
4d1d52f Actually works.
7f1b983 Fix for ocid's bug with setUser/newUser.
04a6fb1 Fix for jamessan's bug.
b1d46cc Initial checkin, refactoring of Enforcer.
a238ed6 Fixed TODO #1047283.
098fbbf Slight optimization.
724b612 Only try to ping if we're not a zombie.
c943ab7 Made commands.wrap stop doing decorators, exposed thread and urlSnarfer, and changed plugins accordingly.
6389256 Fixed bug #1051164.
e817b23 Broke out some of the behavior of the Enforcer plugin.
dac65f4 alwaysLoadDefault => alwaysLoadImportant
e9b5f0e Let's only log one of our non-{PRIVMSG,NOTICE} outgoing messages.
3bc1a1f Added NICK change logging support. It's absolutely unbelievable that no one complained about it until now.
10fc3bf Converted to use commands.
2179548 Added an XXX.
3f16003 Handled the case of an empty file (which apparently can crop up sometimes in unclean exits).
dec94a2 optional => additional conversions.
803997e Somehow the p-testing was removed.
5fc347f Extra dashes, begone\!
75bd81a optional to additional conversions.
e960bad Fixed #1049958.
6eb0066 Converted to commands.wrap, added capitalize and title.
eb55310 Handle properly state.allowExtra in context.
8436a7e Fixed contributors test failure.
9d0fa5e Changed callerInChannel to callerInGivenChannel; added nickInChannel, added matches, and raised a subclass of KeyError from getConverter so we get prettier tracebacks.
425436b Forgot to import * from commands.
98e6e9a Fixed.
e826ebd Fixed.
4566c1b Updateed to the new wrap; added a few XXXs.
1bd09d0 Changed an optional to an additional.
8026062 Fix bug with redundadnt unbans.
6d62500 Allow wrappers to set the allowExtra value.
31d71b1 commands.wrap update
4b86bf5 commands.wrap update
284cf06 whitespace
1f35ff3 commands.wrap update
38ee295 commands.wrap update
c6afe40 commands.wrap update
242ecb4 commands.wrap update
dcb9157 Make sure we always reply to a stand.
9f372e6 Updated.
d88d779 Added a fold message and some TODOs.
2f7ed33 Mostly working, also added a TODO at the top.
322143f Seems mostly to work.
8dd75b1 commands.wrap update
d761590 Fixed straight handling for low ace.
e183848 Scoring hands works now.
a5557cb commands.wrap update
a9635f7 Changed to use irc.isChannel instead of ircutils.isChannel.
4a2d2a9 An XXX, fixed isNick to allow keyword arguments.
1958a76 Some XXX comments, a little update here and there relating to users always having an id.
678c012 Looks like I just reordered some methods.
a0c0d83 Let's make channellen parameterizable as well.
a12d651 Added testTestIrc.
edc1e70 Fixed empty types.
ec75306 Added a test for when we just want to wrap a command but don't need to get any arguments from the user.
e3d40ba Initial checkin.
70f9e4c Fix for bug with outfilter.
dcff006 Added GNU filter.
b6a92fc Updated to use commands.
e720f46 Not completely working, but tests pass (for what's expected to pass).
1fe3a54 Hopefully recursive aliases will be subject to supybot.commands.nested.maximum now.
14a980a Whitespace adjustments.
275bdfc Update to use newer commands.wrap
bec6b54 Update to use new commands.wrap. There are still some issues with some of the commands (such as Misc.help), but works overall.
c574403 Update to use the new commands.wrap
a3223c7 Update to use new commands.wrap. One test ("time %Y") is still failing, but it works when actually using the bot.
8578054 Add some (hopefully) elucidating comments. If anyone (*cough*jemfinch*cough) thinks they are ambiguous or could be better worded, please adjust.
aeed361 We actually want the state that the spec call gives us. Also, let's check whether our default is callable and return the value of calling it, if so.
67d8cf0 Converted to the new commands.wrap.
477ec6e Fix0red the failure.
c5903a9 Added mapinto.
25224a7 Added a logging message.
4eafd9b New tests, and new implementation (though a test still fails).
c3c5ea7 Add a couple more Raise=True.
e14a336 Added multiLoc support to Weather.cnn
163d835 Fix bug #1043863, urlquoted text in reply.
5bc9111 Fixed so disabled commands in other plugins won't break our outfilter.
c275927 Changed the queuing messages to DEBUG, there's no need for users to care.
a1e4293 Fixed intermittent Google licensekey issues.
f615910 Added a test for random.choice behavior.
b6066a1 Stupid emacs.
0a8ef6d Stupid emacs.
3a408f3 Fixed our lack of raising IndexError on random.choice applied to sequences.
9363489 Added a log.exception to Owner.eval.
4c37c1c Closes #1043440: "Disabled filter commands can still be outfilters." Just gotta check conf.supybot.commands.disabled() and if it's in there, pretend it doesn't exist
b2fbbef Fixed bug with duplicate hostmasks.
afa182a Added another test.
d7fc280 Weather backups.
04f7ff3 Commented out a bug (IrcState, actually in Irc), #1040008.
2818518 Small fix for when we generate a markov chain with initial words.
f96e38f Clarified the variables in the help message for Network.connect
2c8490c Added the undup filter.
d4b30b6 Added new behavior for Misc.last when nested - can optionally exclude the nick and timestamp
bdca894 a few Raise=True additions
4557b86 Prevent people from adding hostmasks that don't explicitly match other users' hostmasks but will match when you check hostmaskPatternEqual aka bug #1043045
3df40e8 {de,}{op,halfop,voice} need to allowExtra
c5db149 Correct our ValidChannel checking (no , in channel key) and provide a little more information in supybot-wizard if there's an error when adding channels.
b196d3f Let's not short-circuit auto{Op,Halfop,Voice} until we actually do something.
3e1d795 Update the plugin for the connect command.
f97e042 Style
0242a86 Update News to use commands.wrap and switch from an SQLite db to a flatfile mapping.
edc698e Fix testing for positiveInt and nonNegativeInt.
23f4dc2 Update to use irc.replies so that people can take advantage of conf.supybot.reply.oneToOne
e69f086 We need to str() module.__author__ before munging the email address.
a8190dc RFE #1039510, plugins.LogToIrc.networks.
d72f69d Update the tests.
4c1c5ff One more fix for _getLnUrl
b458038 Catch a webutils.WebError, fix whitespace, and remove a urlquote
6a1b9cc test optimization.
6ba2120 Optimization.
c84e8ff Forgot a parameter.
5526c4e Added elapsed command.
16c4561 Correct the plugin documentation.
48b3ce5 Hmm...maybe this is the second part of the disabling-network commit? Who knows.
68844cd Update Http.acronym to match the changes in the website. Remove the headers since we include those by default. Set __parent.
7c019b3 Speeling
7ddf8eb Forgot an implication of requireExtra.
a055bc2 Added export command.
76fc8b9 Removed some useless options from close.
849de99 Better docs for loading.
3316409 Added a question about loading all plugins.
0115f4a Abstracted like a madman.
571a107 Saved a few characters in our colorization of Google.
eace0b5 Changed the warning log to a debug log.
df3d7a4 Oops, exception when a dude quits and supybot's not in a channel he's supposed to be in.
65cf9af What the heck? All this worked in testing.
835ee14 That last commit wouldn't be much fun without this one.
42f9ea9 Let's catch some exceptions and continue with the output-writing if an exception is raised.
4c52ad6 Forgot an import. Odd that this didn't show up in my testing with lambdabot.
a73348f Forgot a self.
5e4a415 Updated for reverend.thomas.
550bcda Fix for bug #1036861.
4d27ef2 Initial checkin.
c563596 Converted to use commands.
4c31e63 Updated to use __all__, etc.
0d46bcd Slight tweak to the template.
1aaad10 Added disabledNetworks, to disable the plugin on certain networks.
64d60ff Removed a useless import.
e1acd0e Added a noReply to latency.
20d30da Initial import, does authentication.
0dc88e8 Some source code tweakings; I still don't know why that test fails, but it's a good reminder that we should use the copy method instead of the copy.copy function.
a87d8c9 Augmented test cases for RFE 1030244.
ac1930b RFE 1030244: Added cycle timer to random results and turned them into a stack so multiple random results can be harvested from a single web page service. Minor grammatical changes Corrected screen-scrape regexp for (yet another) qdb format change
f92e377 Fixed a bug with outFilter losing tags.
d253d7e Added --without.
4dd07b1 Converted to use commands.
b03000e If replies.success is empty, don't send a success message at all.
a982fe3 Fix0r the reference to an old undefined variable.
1398a1f Removed a useless import.
54b6880 Changed noExtra to allowExtra and kept the default False.
51c0fb4 Updated _int to accept other bases.
54d1a91 Commanded Fun.py.
21ef10f Commented out a debug log, change inChannel and checkChannelCapability to automatically run getChannel if there is no state.channel, and perhaps a few other minor tweaks.
3491551 Converted to use commands.
2ff2dad Fix for bug #1038895.
9298888 Uses commands.wrap now.
dc55a33 Fixed bugs in getopt handling with arguments.
e21be94 Better.
8a98fe6 Updated slightly.
0e3f7fe Added wildcard support.
d2c05a4 Converted to use commands.wrap.
83af5aa Oops, left a print in.
ca5a27f Updated to use commands.wrap.
71e1851 No need for checking, commands.wrap rocks.
567f0b0 Fixed a bugz0r.
9d5a04b We shouldn't toLower until we know it's not None.
8afad62 A now type and a text type.
a2d30a8 A little bit cleaner.
c23e6c9 Automatically raise errorNoCapability as well.
e3c9464 Return None if there's nothing in the database.
2677192 Allow None in IrcDict and InsensitivePreservingDicts.
133f6a8 Initial checkin.
39cff59 Forgot an eff.
69aaabd Fix a few bugs with my ln-s.net addition
3900c93 Added ln-s.net support
ae76d59 Initial checkin.
0e5cd79 eXXXtra eXXXtra, read all about it.
f63d77c Updated, though the FTP stuff isn't tested yet.
98bce8d Updated to 0.80.0pre3.
b6be47a quick stylistic things.
efb9b80 Updated to separate the version in an easily-machine-replaceable variable.
f63445d Updated to 0.80.0pre3.
209226a Updated.
10579c5 Updated.
15d1c77 updated.
3a9194d Updated contributors.
00d1230 Added bear and grantbow.
5c46a71 Updated.
ef605b4 tag -F
b621b95 Initial checkin.
e6efedb Fixed a bugz0r in replies.
1f882ac w00t, stopped the double killing, made the code cleaner, I rock rock rock.
b0f12ac Quit should noReply.
7f5af21 w00t, now channel values will always remember their values.
1ea5e55 Changed to be better, hopefully. We really need to find out where this losing of channel values is happening.
d4a36dc Initial checkin. This SOAPpy upgrade has been a *pain*.
419d2c0 Odd, it didn't commit properly.
9426acc Better behavior in the case of a non-importing google.py.
54ccb01 Changed showDefault to _showDefault.
a30ad66 Added some more stop words.
6ce2129 Line wrapping, and now more showDefault for long things (since I can't figure out how to wrap it), and line-wrapping of serialized NormalizedString things.
43fbd5a Forgot to remove the urlSnarfer test.
9914f2d Augmented to better document the sigils.
567cd19 Fixed to catch our SOAPpy errors.
e360856 Fixed to work completely.
b4530f0 Updated from stupid defaults. SOAPpy--
b0ed9c3 Updated so I can close the bug.
9c2a909 Removed privmsgs.urlSnarfer, now it exists only in commands.
1a6f932 Converted to use commands.
786d2f0 removed some bugginess and added getUrl.
8ddf22f Gotta be sure to basename the journal.
129b8a2 Small update.
84ea24d Fixed test.
c4cef87 Added another log filter.
fc72c88 Fixed the failing RSS test, yay.
6c36941 Should fix bug #1029954.
3566b12 Added a warning about languages that depend strongly on multi-byte characters.
eea46d8 Updated for SOAPpy changes.
da8ebdb Upgraded google, which required upgrading SOAP.
15b7063 Slightly less broken Engrish.
c38c245 Where we got it from.
f939e0e Updated to the newest feedparser.
8811a52 Added url.
a2e43fe Added a few more types.
8bcb9f2 Install dateutil stuff.
a21d181 We can allow the at and until commands now.
27fe655 Changing to a different date parsing module.
6878510 Let's safe-argument this thing earlier.
b4ad7ca Integrated sweede's patch and removed includeNetworkName (the directory structure rocks much more, and that just confused things).
325ad70 Changed default of private.
c20d3ca Let's make threaded commands tag the message as replied from the start, so things like Infobot won't respond.
e803bc1 Enforce the noExtraness of these commands.
1b611d7 Added stats command.
56ba5ed Elucidating comment, etc.
cb9986f To capture a backreference is good.
4cc1e4b Abstracted for some future overriding.
45f99cd Added some configuration for cdb.
75ef036 Super, and subclass SupyThread.
ec9258a Updated to be cooler and allow float maxmods.
69dce47 Made sure to return our reply messages, changed some threading stuff, etc.
4ad7fd2 Let's use a from import since it makes things simpler.
3d81d66 Updated to add the configurable single-letter commands.
b3631cb Added a database and an outfilter.
4026f8a Removed some useless blank lines.
ef1b073 Updated.
755cfd2 Outfilters should *always* give a msg= keyword argument when they create a new message, because otherwise tags don't remain. If you see any other places where they don't, go ahead and fix them as well :).
491ebda Not entirely necessary there, removed the plugin-wide check for sqlite.
a75857e Made this error an error.
e67daa9 Now the comment is even MORE elucidating\!
f8375ac Fixed not to raise some exceptions during testing.
d499628 Refactoring of some MODE handling stuff and now we keep track of bans.
04e5ff9 Elucidating comment, as well as filtering of misc.log when plugins are using their individual logfiles.
3a6779b Added httpUrlRe.
d147def Log filtering for testing.
bea33e5 Fixed an exception on exit.
cc15862 Had the formatters for that log swapped.
24641b6 Fixed bug #1020925.
c2445cc Fixed bug in IrcState.doTopic (#1033955)
a6f7dc9 Moved tinyurl stuff out to the ShrinkUrl plugin.
a382087 Fix0red the problems with VERBOSE.
e01a9d3 Forgot to vacuum, momma's gonna kill me!
0704c34 Added a Hebrew filter.
3139ffe Re-added near functionality and re-abstracted the plugin.
f9ae666 Fixed a bug in errorInvalid's handling of Raise. Man, we just need to default it to True for everything and make people deal.
201df37 Added verbose logging level.
fbd4ce2 Updated to reflect our choice of log levels.
a829bf2 Forgot the dot.
f15129a Added test for maximum nesting.
0874dfd Abstracted out bool verification in utils.toBool.
05c06f8 Added tests for no errors where no errors should occur.
e5df6c8 tightened for new asserts.
e616f69 We should return whether or not we were able to queue the message.
3dec784 A whole lot more asserts and an isCapability predicate.
9ca8798 We should return the message from errors/replies.
4b59093 Updated completely.
d5a324a It's nice when Weather.weather works.
334c5f9 Improve our whois handling. whois.pir.org became a bit more strict on the input they accept.
19c4948 Update to use _help
9291c56 Update to use a help method instead of a help string. Allows sub-classes of Group/Value to define their own help method.
b9db033 Update others/amazon.py to latest version and add the new region support to plugins/Amazon.py (supybot.plugins.Amazon.region)
b70a683 Added cool exhaustive help test.
135c57c Let's not try to send empty messages.
70111b5 Stopped double-queuing problem.
23fb9e1 Changed tag name to isError rather than errored.
7b68eb6 Abstracted out some functionality to plugins.DbiChannelDB.
5753195 Changed dbi.Record not to use a metaclass.
ec7ba36 Slight log message change.
728ad57 This was needed, so our stuff doesn't get quoted.
3589440 Let's move noReply() to RichReplyMethods so that anything that subclasses it can use noReply(). Fixes bug #1032406
b0931ea This wasn't being done correctly, let's see if this fixes it.
78da84e Configurable quotes, w00t.
bbddc4b Make showLinks a ChannelValue specific to RSS.rss and add announce.showLinks to for RSS.announce
3e58419 Various minor refactorings, moved supybot.reply.{brackets,pipeSyntax} to supybot.commands.nested.
ab21fc5 Fixed a typo.
f700927 We were missing an import and a conf. header
72214dc Added supybot.reply.maximumLength.
3740c74 Ooops. left in some debugging print statements.
b627d23 Added a test, though I haven't figured out how to fix this thing yet.
0aa6cd5 Fixed importantPlugin dispatching.
10c8cc5 Grate spelink!
2e0a91c Let's make sure we don't try to join if we're getting too close to the max number of channels we can be in. Also, irc.noReply so that things like Infobot aren't triggered.
6e1dc64 Better filenames for FunDB databases.
e381f11 Update src/Channels.py to use commands.wrap. Added some more converters to ease the process. Hopefully this doesn't break anything. The tests passed!
19b2e37 Let's not default to just the network Misc.last was called on. It's kinda counter-intuitive.
94f80e5 Augmented help for Misc.plugin.
356745d Variable name change.
16b9fb3 Added a repr keyword argument to errorInvalid and used it to fix bug #1030474.
b898142 Fixed bug #1032403.
217799a Updated to make the formatting strings variable.
fc8da18 Variable name change.
816f494 Changed two warnings to errors.
f2d064c Forgot muh spaces
53baabe Should fix #1032551.
89f6d28 Fix bug #1032402, and convert to use commands.wrap.
ed61675 Fix the bugs in #1032945, Observer.list exceptions and exceptions when adding an observer after a plugin reload.
ff86d2c Forgot to remove XXXes.
998f61c Moved disambiguation stuff to callbacks.IOP. Also fixed rename-persistence.
3aa8bdc Fixed unsend bugz0r.
99e35d6 Fixed a performance problem.
7558a43 Factored out the args component of wrap into its own function, so it can be used in more situations.
2e07e23 A little overzealous with the #! removals, weren't we, jamessan? :)
b2dadb3 Added new 'spellit' command
45aabeb Needed to import webutils for webutils.strError calls
aeecf35 Fixed bug #1029690.
5dd099c CAPAB should always be an important message.
f9a432c Let's make sure we give our users an id attribute.
dda6f9b registerPlugin was returning the wrong group.
8f97ccc Updated, added getPlugin, getSomething, validChannel, etc.
58cb831 Some XXXes to show what needs to be done.
8907c03 Fixed some string modding.
4406955 Initial checkin; handles CAPAB IDENTIFY-MSG and is able to ignore unidentified users unilaterally.
3ee4223 Fix for bug #1031800, uncaught exceptions in Config commands.
f3d0670 RFE 1017095 - Added wildcard support to Seen command
fb56c08 Add a test for Infobot not responding to directly addressed commands. Add a test for some wonkiness with @user list when User and Seen are loaded.
09e6050 Initial checkin of commands, and conversion of Admin to use it.
781ba32 Fix bug #1030367, supybot.replywithNickPrefix doesn't obey channel value
535f4a1 Fix bug #1031277, exception in some Topic commands when trying to modify a topic in a channel that the bot is not in.
e48b787 This should fix bug #1031279, xml.sax exception when calling google commands.
a87660a Fix bug #1031347, Google.stats exception.
3bfb28f Fix a couple formatting bugs.
a03f1d9 Fixed regexp to match changes made to UrbanDict site
1e397ae Last #! line
020b672 Commit the proper supybot.1
23397b4 Remove #! lines.
164d4bc Added urlquote/urlunquote to webutils and changed Fun to use them.
ad7ae52 Fixed a bug where lookup.search would fail with an error when an invalid domain was provided.
99c4129 RFE 871111 : Added test cases for --nokey option
4b0ed27 RFE 871111 : Added --nokey option Fixed a bug in the remove command where lookup specific registry values were not being removed along with the lookup Database abstraction
50973a1 Remove #! lines.
48812da The DocBook man pages that were being generated were crap, so I wrote our man pages from scratch.
7f22a1c Add rfe #1004006, {add,remove,{un,}set}capability can accept multiple capabilities.
4f09fad More __parent fixes.
e2bb35e Fix for bug #1030492, overriding IrcUser.auth's list with a tuple
b396a9f Fix for bug #1029837, exception when calling google with unicode characters.
c873d0e Update Weather.wunder to use BeautifulSoup. Remove the #! line and add a __contributors__ line.
3e44335 Added fundb.search() and tests, AND fixed a bug with reloading FunDB
cd91e37 Oops, I added these before I figured out the actual bug.
a641a1c Remove the #! line and use getpass to get the password.
0b6739b Man, tracking these things down can be somewhat tough sometimes. They'll fix this in Twisted, but for now, we need a workaround.
0045c5e missing import
fb569b4 0.80.0pre2
57d2570 Let's pass on AttributeError since we know what's happening there.
1dc359a current -> currently
e02e0ec ifilter wasn't being used anymore.
cccbfd1 Add a missing config option.
597819a Some bugfixes.
71a5c94 Slight change of upstream version string.
82cd6c3 Since I never actually rolled a deb for pre1, let's remove that from the ChangeLog. Also, some updates to handle the manpages being in the actual upstream Supybot package.
b71736b Fix for bug #1029764, exceptions when using MF in a /msg
f8a6f2c Reverted accidental commit.
0a2802f others/timeparse.py
6548085 Stop stripping Markov's db
0f182d6 Update to use new-style db abstractions, some super stuff.
90d30f6 Allow callable capabilities.
7f9a725 Removed a debugging print.
edbfd43 Commented out something.
6393faf There can be CTCP notices as well.
bc8a6b9 Update to use the new-style DB abstraction.
d242c8a Precedence.
21efa75 Bah, my boss agreed with Grantbow...I hate when I'm wrong.
8fd64a6 Fixed the issues with backup files that were the exact same as the original.
b19a2bb Information gathering.
f527ab0 Update
e44ad15 Add the manpages.
c7278b5 better output.
324ab71 Added topic command.
556f9cc Fixed help for plugins.
904665c Added backup directory.
f69b87a %.2f
0ceb2de enableSpecificTrackerCommands.
db4ae67 Fixed up a bit, and added tests
8a7681a We added the ability for a command to determine if it's nested or not, so we can make this prettier.
a8ce25a Tests for tags.
d631b3e This seems to cause bus errors, somehow, so I'm reverting it.
98150a9 Caught some exceptions, as well as made it technically more typesafe and rocking.
a7ec382 Removed some useless stuff.
82e85fb Caught another possible exception because I searched the tests' misc.log for exceptions.
5d60ece Fixed a bugz0r. We should also look in test-logs/misc.log for exceptions.
9720b79 Changed tagging method.
ad46bbe Fix for debincoming bug. It look like we're all getting out nots wrong these days.
1ba0fcc Slight tweak to make a test in test_Channel.py pass.
ab3e028 Style update.
af65b54 Updated test to be more specific.
11300e1 Fixed an uncaught exception.
cf3b59d Fix for groups with help.
ea078ab Require word boundaries.
46eab76 Fix 24 hours thingy.
cab512a bold's a string, not a variable.
12269e0 I got rid of callbacks.IrcObjectProxy.finished.
4f49f11 Updated to use tokenizedCommand.
5be5a2c Some extra error checking.
a26e664 Added a serialize to databases. If you haven't modified this variable, you should remove it from your configuration file before starting your bot next time you restart.
a11654d Changed to use a super.
b0c00fb Converted to use tokenizedCommand rather than invalidCommand.
138b683 Stupid __del__ methods.
9be4fd1 Finally got topological sorting working.
727145a Added testSeconds.
390bd45 Added pid command.
105c371 Fix for bug #1028749, bad listing of babelfish languages.
8f8a972 bad logic
00889cc Added max and min.
f53d3d5 Added Time plugin, moved Misc.seconds to it.
01e05b8 Fixed bug #1028385.
6c24a3e Bold instead of repr if things are to be bolded.
c2399ec Case-insensitivity for Math.calc.
001d843 Added colorfulSnarfer.
cb23a47 oops. Forgot to Raise=True of course, that wouldn't be a problem if the exception was properly being caught in callCommand
d3d2ff8 Forgot to re-add throttling.
aacea9b Elucidating comment.
e44f7ab Fixed bug #1019387. Again.
934363d Added some __repr__ action.
5f1aa43 Fix0red the bugz0r.
da5fd46 Use the new msg.repliedTo tag.
4605ce8 Added repliedTo tag, stopped not calling invalidCommand if regexp methods match.
5570ba3 Fix bug #1027279, $randomnick should not return msg.nick
cdd07ec Moved to plugins.
bae1972 Fixed bug #1027229 and cleaned up _chanservCommand a bit.
7e52305 Add anydbm to our conf.Databases so that Markov can be converted to our new-style db infrastructure.
2bfc2a9 Updated.
ac4f59e Updated.
4b95299 Debian updates
1fcc709 Finish switching from "foo in db" to "db.has_key(foo)"
c6bec17 Prettier format for latency.
e473c53 Added a test case to catch the issue with properly pluralizing the word 'command' in the contributions output
92ae571 Made some semantic code changes Fixed an error with properly pluralizing the word 'command' in the contributions output
ee9a89e Updated.
4da1279 Fixed CTCP FINGER.
c6bea76 Updated.
5c804d2 Didn't update PrivmsgRegexp to the new callCommand shmadealio.
eb4905d Allow for changed method names.
4fec6de Allow multiple authentication.
75b33b8 Somehow I forgot a time.sleep in ChannelPluginTestCase._feedMsg, so it was sucking up 100% CPU.
ecaceff Bold was messing up the bug# regexp.
e1d961c Fixed regexp bug.
446174c Forgot to remove bender test.
8c68e38 Forgot to change the dispatcher.
781edef Fixed bugz0r I added.
eb0f810 Added a dot.
cca1483 Updated.
59d084a Added a test for isnick always rejecting spaces in nick.
e5d3d39 Updated to log threads.
4d69806 Removed old regexp docstrings.
c3b7ade Changed contribution of jamessan slightly.
459bc3d Added latency command.
3cd5f16 Updated.
2f22be6 Finish adding Bold to separators in output controlled by the existing bold registry entry.
dba22a4 Updated for command name change in UrbanDict plugin
1aab33c Changed main command from 'ud' to 'urbandict'
9ff5f05 Forgot an irc argument.
3a57d3e Updated.
19c9868 Updated a docstring and added an assert.
ad4fef4 Provide a default for args.
75e53d3 Catch callbacks.Error coming out of invalidCommand.
139ce98 Re-added priority for appropriate interaction with irclib.IrcCallbacks.
ce3847f Swapped the order of the arguments for makeChannelFilename.
4f9e67a Fixed tests, and changed to use invalidCommand rather than addressedRegexps so commands may now be nested in definitions.
39f427d Even when not strict, spaces can't be in nicks.
8bbed5a Dispatch __eq__ and __hash__ to our real Irc.
a9694c1 Network plugin for network-related commands.
dfef079 Name changed from 'Network'
9ee2027 Small style fixes.
63cb4b9 Small style fixes.
33bb2e7 Bold separators between headlines, uses existing bold registry value.
4dd4557 Test cases for UrbanDict plugin
7316688 New plugin based on RFE 1024783
b0cae2a Added contributors.
7335f06 Forgot to import supybot.
49c465c Database independence stuff.
cebf388 Added a Channel.alert command.
6a417db Allow groups to have help.
e525e04 Persistent renames.
dd7b02f More useful assert.
9c8c505 Scrap the Old 'n' Busted. Bring in the New Hotness (aka, freshly abstracted).
4a6740f Removed Http.futurama as it's has been made into a supyfact file for the Lookup plugin.
1f0a21c Oops... Missed a case where the plugin's author is the only listed contributor Minor changes to more accurately adhere to Supybot coding standards
9b0ffcf Included contributors command Added self as plugin contributor
ca38340 Included test cases for new Misc.contributors command
f21689a Fixed invalidCommand flood protection.
915ab81 Wow, this was some of the most broken code EVAR.
ee47686 Changed to __lt__ instead of __cmp__ -- it's simpler and doesn't screw with equality.
56cf248 If we're never normal, we shouldn't try to say we are.
76056e3 Let's handle non-IrcCallbacks for sorting.
8edb880 Initial checkin.
6c7a1e6 Updated to show channelValues.
8eeab87 Stupid asserts. Definitely not worth it there.
d3421b0 Fix for privmsgs.thread.
51ad408 Use our newly annotated ircmsgs to enhance Misc.last's output.
eb9bd70 Updated to use the new plugin ordering method.
0cd853a Added an extra test, just to be sure this worked.
fa124b1 Networked things appropriately.
5dbcf95 Added makeBackupIfSmaller and Everything and Nothing.
e98bb7a Elucidating comment.
c573ab5 New plugin prioritization method.
6243fe6 Nicer getattr.
bf0037d Updated template.
95877b2 This should work somewhat.
5589ffd Slight help update.
ff957f8 Added an XXX.
9fa465c Changed action to do; it's more consistent with 'say' (rather than 'privmsg') and MozBot's similar plugin.
498c316 Updated.
c1a0304 Gotta have ourself if we want to be called.
4ba5c2a Finally pass the correct object off to strError, I hope.
184c4a9 I have a job!
0f89737 Whoops, forgot an arg to the string formatting
bebe005 Fixed Regexp.
1745e09 Initial checkin; it doesn't work, but some people might like to look at it.
33b4bd9 Updated.
5ac4c8c No more unsets.
3537c34 More fix0rs for prefixName.
9b5f945 I was brain-dead when I committed this last time.
c84c47e Put a band-aid on our "not catching InvalidRegistryName" problem. This should be further investigated since callCommand should be doing the catching.
daca76b Elucidating comment.
5aa0031 Used some supers.
9110197 Added IrcMsg attribute tagging, and used it in some places.
767f5bb Added proper prefixName handling to callbacks.reply.
41d18f4 Copyright and some docstring changes.
1e7c45e Added an FAQ for hostmasks.
3b30b7b Let's sleep just a smidge longer to ensure our time difference is >= 1
3986f24 Implement patch #1023620, Handling of international Google Groups snarfing
30ce7c5 Less fragile thread check; the other didn't interact perfectly well with privmsgs.thread.
7e1184f SnarfIrc needs a helpful getattr
b76ed61 Privmsg, not PrivmsgCommand
a62b731 add dest='noplugins' & dest='nonetwork' instead of converting everything to use options.no_plugins and options.no_network
ddfa5e8 Added patch #1024088, better handling of various Ebay URLs.
ee70224 Changed callCommand to give a name rather than a method; added invalidCommand throttling, ctcp throttling, and whole bunch of other crap.
3848ca4 fix another irc.queueMsg -> irc.reply where we needed prefixName=False
383f40e Removed an old debugging print.
858e9e4 Some slight fixes.
a9cf06e Updated the docstring.
282c0ea Updated.
cf52bf1 Fixes for TimeoutQueue.
1423498 Allow periodic events not to run the first time.
aad768c Added orderAlphabetically.
d62a966 urlSnarfer fixes.
db79400 Added FloodQueue.
dee61a3 Let's use os.linesep instead.
b3dfdd1 More supported crap.
2c90341 Isn't this super?
87f42e0 Added a --no-network option.
f496c80 Changed the way upkeep is scheduled.
c958ef5 XXX
3ba8958 Changed to be more like other programs.
6526336 Fixed networkishness and broke out a test so its name is more appropriate.
277f027 takeMsg after register.
9cba647 Fixed networkishness.
61cc643 More tests for TimeoutQueue.
30d36aa Add support for multi-word karmas
c77daea We didn't used to prefixName, so let's stay that way.
d77565a Show the AttributeError so we can see what the real problem is.
846bf91 Correctly report the invalidCommand that set irc.finished.
50d0532 Moved Geekquote related tests from test_Http to test_Geekquote Added additional tests to test_Geekquote
b56ae0c Created Geekquote plugin Moved Geekquote (geekquote, geekSnarfer) functionality from Http plugin to Geekquote plugin
d92bf5e configure method was missing it's conf.register...
382fb2b Our #! path should be /usr/bin/env python
b51f753 Let's give the user the option to get only a Bender or Fry quote.
ac27c8e Change Http.bender to Http.futurama and add support for X-Fry headers.
a96229d On second thought (thanks jemfinch) making insults to channels without knowing who is insulting can be used dangerously. In practice I have seen this command only used among friends or when someone is bored and wants to see the random string produced.
87a5323 +cvs
2df9642 0.79.9999
26bb233 Fix for attributeError I ran into, as well as a premature commit of a name change (but since it's just a name change, I'm fine with it).
2db0cd1 Fixed bug #1021631.
887e92a Don't make those error logs if we're testing.
0a2d714 Use conf.Directory for the log directory.
35acc6c Added a --trace option, moved tracing to utils.
28b05cf This, also, is just plain super.
975b280 This is just super.
386a230 Elucidation.
f4f25ef Added abs to the calc command.
b133e59 Changed to a super, etc.
d957599 Elucidation is important.
a58b50c Slight augmentation.
e6725d4 Added FAQ about changing configuration files.
35b8fde Add a conf.supybot.plugins.Sourceforge.bold and setup @bugs, @rfes, and @patches to use it.
e22c732 Stupid keyboard
48d312b Fix a bug with adding __revision__ info to Exception
c4b2d53 We shouldn't confirm for alsos. Add some more ends and add starts. Also, move the sqlite import inside of SqliteInfobotDB
cad43fe Simple beginning.
b5d7045 More updating Docbook stuff
a4b3d66 Yes, I realize that the new stuff doesn't work with these tests, but I can't for the life of me figure out why not! The tests look set up the way they are supposed to (ChannelPlugin now...)
ebb7bec Spankin' new abstraction!
e271ea6 Fixed some stuff in the FAQ and updated the DocBook version
1f6f86a This is really example.sgml in a new life
25db3c9 Moving the DocBook equivalent of EXAMPLE to match the name change to PLUGIN-EXAMPLE
8b150d3 Updated DocBook translation
6a4567d Fixed a few out of date things in CONFIGURATION and updated the DocBook translation of it.
06ce162 Improvements based on plugins/FunDB.py's insult command.
d598b77 Fix some typos and remove some old documentation
5ed87ff +cvs
6c6da43 Missing space
977a33a Properly added and abstracted trackers commands
d98de45 After talking to jemfinch today, this is the first checkin. All comments from the @tracker 1012031 were addressed. The old style __author__ field was used and no __contributors__ (like myself) were added since I don't think the new system is checked in to CVS yet. I wanted to write a test suite as well but I didn't get to it today.
553a615 Consolidate @bugs, @rfes into @trackers and add support for retrieving info on patches. Add (commented out) infrastructure for supporting usage of @bugs, @rfes, and @trackers depending on the value of a config var.
5f00a39 Update to proper super() usage and make sure we're not trying to close() None
11c4716 liter is L not l and since we have the MiB, etc., let's change MB, etc., to use 1000 as the factor instead of 1024
99a1da9 Revert most of jemfinch's changes (he hadn't meant to commit them) and fix my handling of the db in SqliteInfobotDB
dfd5153 Let people specify the entire conf.supybot.foo... when using @config
8cc4a98 Use a better docstring for NonNegativeInteger.
ff88488 Add a note about Python.win32's lack of IPV6 support.
911d9db Since Windows' version of Python doesn't build with IPV6 support, we have to be careful about how we try to detect whether a string is IPV6.
75dc3e8 _getId needs the irc object if it's going to use it
41117c4 Fixed bug #1020820.
3b9e141 Only send private configuration variables in private.
13e77ba Added TimeoutQueue.
012487b Fix bug #1020519.
3aafc97 Catch a KeyError when trying to remove a non-existent herald.
847a98c Periods are good as are not using dead code.
adedfb8 It helps if I register things correctly
84a7026 Add stripFormatting option (default True)
52ee091 One line bug fix.
7afea52 Slight optimization.
4e2be3a Use reply instead of queueMsg where possible.
445e76b Fixed fix in the interpreter.
740a57d Bugfix, wrong path.
e4f361d Forgot an import.
1b4c1f0 Fix for bug with some anydbms.
1ba2afa I thought I committed this before, but I guess not.
f21d6c7 Let's make sure we use reply.
f6ae3b2 Elucidating docstring.
6afd74d This shouldn't ignore.
60e6e16 We don't use this, we use src/__init__.py.
c036213 Useful printing of pid.
e9205ff Updated.
3db2904 Updated for new authors abstraction (single points of control are good).
8279157 Fixed some bugs in some callCommands, as well as used some super calls where before we did it the wrong way.
6df7dd7 Initial checkin.
39855b8 Updated for the new release.
7c3092a Changed info to stats.
688993a Let's give the runner driver a name.
56dc087 Fixed the reconnect bug and still kept the quit bug fixed. w00t.
6890baa Changed equalWeight to equal and augmented the descriptions.
029218b Only allow numeric ids.
9efe550 Changed some nick != othernick to not ircutils.strEqual.
bad2bb1 Changed a warning to an info.
962843f Moved network test.
1e4fad0 Fix0red the test0r.
fe4a08c Fix0red a bugz0r.
96abea0 don't reply.whenNotCommand.
ead683b Can't define an empty word.
86c7743 Fixed some == tests on nicks (became ircutils.strEqual).
ed71df8 Fix for bug #1019392.
bb4d3cd Add a couple more options to supybot.unix.fortune
ec3a76c Swap network stuff to be inside the class.
7a3be8a Catch httplib.InvalidURL.
faa3409 Unschedule ourselves after a reconnect and fixed a bugz0r in reconnecting.
53c951c Allow multiple fortune files.
7ede876 Added extra note about fortune's stupidity.
6c1a7cb Cleaner interface for Config.list.
58ce7c2 Modernized.
85acfac bash.org changed their URL format a little
65c739d Reverted to the old tld mechanism since our regexps depend on English.
1f99790 Made info persistent as well as allowed reloading without resetting the license key.
5a43c37 That was a nasty bug and a stupid mistake on my part\.
6985fe3 Don't send empty queries.
e138211 Bugfixes and a test.
74763d4 Added exception revision logging.
2faa096 Added __revision__.
74b4628 Let's unschedule ourselves if we are told to die.
d22449d Fix0red an exception I forgot to catch.
8194cea Updated.
1f6c3c7 Updated for the new release.
61e09d4 Better handling of umodes.
0cd0a44 I honestly cannot believe that this wasn't caught sooner.
3aedb30 Fix for possible bugz0r with reply.withNoticeWhenPrivate.
8610646 Accepted Grantbow's suggestion.
70a9fdb Accepted Grantbow's suggestion.
a7379fe I should've run the tests earlier. Now adding the inital values to the db actually works.
9b00751 We must use our internal reply() method if we're going to keep track of whether we've already replied.
9fe9e14 Fix the problem with configure() mangling the nick
d7d1c42 Abstract registerNick and update configure() to use the abstraction
a8830b5 Why oh why don't I check my imports?
7aac173 Don't try to register SIGHUP on Windows.
8baa35a Consistent spacing
b111642 Let's properly mimic Infobot's stats command and add some initial items to a freshly created db.
f73acda Changed help for register to match the code.
af4f836 Added FAQ about channel-specific databases.
0c97cb4 debug log access level required from chanserv as well as some elucidating comments.
55a1e94 Time is on my side, oh yes it is.
8e84a42 Eat this commie bastard irc objects that don't want to die!
4609557 Add a period.
ffddc95 Let's try this for the connection problem bugs.
4d60937 Let's try this for the connection problem bugs.
1cd4b87 It's not an error condition, it's appropriate.
04ae1b9 Erroneous message (or so jamessan says ;))
32b3bce Let's die immediately if we've not finished connecting.
613a855 Changed some log messages.
d6e3f13 Elucidating comment.
78b9d0b Fix the auctionSnarfer regexp to be more generic and stop logging bad snarfs as an exception. Warning is good enough.
6bb8104 Anonymous.action
164f57a Add Anonymous.action as requested by malex
2333231 Let's do this a slightly better way that I saw in one of the src/ files
6b59933 Let's make sure nested commands don't immediately nest commands (aka using a nested command to determine what the outer nested command is going to call)
b6d28d7 Let's avoid an assertion error by making sure we don't use empty msg's
0349d11 Hopefully, this will fix the unicode issues we have with Amazon
eabb77a Bring debian/ files up to date
bd0d438 *Actually* not queue things on zombies now.
1c737a4 Try to make network stuff case-insensitive.
570b302 Should fix a reported bug. I guess db isn't always iterable.
6c9d74e Changed networks to be case-insensitive.
5f90e63 Checking for root doesn't matter when you don't quit afterwards.
5a18914 Added version check to the wizard.
8b73786 Made a generated debug value, useful for troubleshooting.
5d2b238 Added __revision__.
c6f3c50 Added copyright and revision.
003d7d4 Added a configuration variable for user modes.
c3b3214 Workaround stupid os.path.join stupidity.
bb3df20 Updated to work with non-absolute selfs again.
ae4b8f7 Allow non-basenames in dirize.
a30dd2d Initial checkin.
58c9377 Update to newer upstream, clean up a few things, and add a link to upstream's site.
fec25b7 Remove some unnecessary regexps
e11baf3 Stopped logging this at level warning, instead use debug.
2c3e9fa Fixed pluralize for words ending in x.
6f4ee57 Python policy says debhelper (>= 4.1.67)
b40fc68 Fix PySqlite stupidity.
f6fbe4e Made register more useful, should fix some Services.identify bugs.
5a1d9de Add the URL we found BS at for later reference.
ba2fa6b Use BeautifulSoup to fix Debian.version
a68f8ca We are so smart! S-M-R-T!
b2b0e26 Let's ignore things that look like karma adjustments
94c43c5 I like the looks of these regexps better and alternation is expensive
1ad9816 Tests for karma/infobot interaction.
5e00bd4 Updated.
9a7c64a Added clear command.
4c58c39 Initial commit, test for bug with sending more than one later note.
42f3e13 Reply's getConfig shouldn't be used on GlobalValues.
ca492af Fix for the TypeError bug.
5d837b9 Update our debian/ directory
b7307c5 Respect KICKLEN.
afce054 Added watch and caught some possible errors.
685eda4 Don't try to send messages to zombies.
c38ca4d Added redo.
4b24a3f Added the +cvs back.
d9bff14 Updated.
dae0d11 Updated version numbers.
9e97027 Debug log already opped messages.
8f3d390 Slight tweak to message.
b8d086d Let's add a note that they should read INSTALL first, and remove the addendum about local installs since it's now in INSTALL.
7e22b2b Added swap.
9c73c57 Channel sync logs and some other minute tweaks.
c2a61b2 Let's respect the server's nicklen and maxchannels parameters.
29a6c92 Added an optional pair to start the chain, tests, and caught some errors.
22c333b Handle the case where our pidfile is deleted early.
4c0e898 Let's debug log a 'Registered channel' message from ChanServ.
c939686 Bring CONFIGURATION up-to-date (as noted by Grantbow)
1b16413 Updated, thanks for discovering these typos, Grantbow.
bcae3b6 Slight fix.
4873b82 Better formatting
47dca21 Typo fixes.
98c0512 Updated, thanks again Grantbow.
049ff3d Fixed bug in default.
9708ddb Updated, thanks Grantbow.
0166780 Fixes.
b810f76 We'll fix this later, but right now let's be consistent with permban.
c0b3c93 Not-so-elucidating comment.
c11dba1 Added defaultcapability command.
f4c384a Changed supybot.capabilities to an ircdb.CapabilitySet instead of a ircutils.IrcSet.
f0a5207 Let's setValue by default, that's more useful.
f7094ae Added a few more little madoodles to supported stuff.
2c5276b Fixed help for enable/disable.
db23f4e Added sorcerynet support and refactored some other support.
b8ad661 allowRoot fix and some spacing fixes
e97c610 Possible fix for the allow-root problem.
00409b5 Fix for stupid socket module problems.
73686ae Attempt to fix an error in testing permban, but it doesn't want to let itself be fixed.
36d9b07 Rename ban/unban back to permban/unpermban and add the mode -b part to unpermban. I'll leave the addition of mode +b in permban to jemfinch since he'll probably factor out a bit of common code in permban and the new ban command.
b59eba8 Prettify the display of current value in Config.help
ae8af84 RootWarner is a ChannelPluginTestCase and should use assertSnarf* asserts
df5c1b4 Testing security
1621cf3 Reverted.
bf304b7 Update to reflect new style of log calls with 'import supybot.log as log' style imports.
d5aa3a6 Updated configure function to new format.
bd306fe Only firewall if we're not testing.
517a590 Removed a FIXME that's really just a complaint.
e1aa6ef Better fix for the bugs induced by this new firewall thing.
6381e2a Fix for failures induced by the testing switch to un-firewalled (I think).
f2fd7c9 oops, got this reversed.
ff7622b Added an extra try/except madoodle since what we expect to be firewalled (a plugin's invalidCommand).
533fbd2 Proper fix for problem URL tests exposed
a8584ba Fix for failing test in URL.
23eb75f Another bug.
86b49ec Bugz0r.
5f5e791 For some reason, when I searched for do353 earlier, it didn't come up. Now it turns out that it should've...who knows.
85355f5 We have to unAction or we get ugly replies
ba7b018 gotta explicitly split on ' ' since we use \n as a delimiter
bc40ff9 Rip out the stuff we moved to INSTALL
dbe1147 Initial Import
3635c65 Fix a bug with adding lasts. Add some elucidating (as jemfinch would put it) documentation. Modify the behavior of DbmMarkovDB.firsts and .lasts so they only report unique entries since this is how we used to behave. We'll still keep duplicate entries in the db because it affects randomness.
fbc1b04 Markov *finally* works again. Yay!
3313080 Fixed bug #1015151.
dbc3b59 we need the world
e0c5dba gotta stop being so greedy. it's not fair for everyone else
a8b36c9 Missing comma
b3dd326 Ripped out update code, it made maintenance hard.
ec55e86 Let's catch SyntaxError and turn it into an appropriate ValueError.
6b72890 Better error catching and print when connecting.
e4d77f4 Updated actually to work.
a0dbc91 *Really* make the disconnect message look good with twistedDrivers.
ee4900c This should be a fix for the inability to Ctrl-C quit.
614ed32 Fix for double-logging, to be sure...let's just hope it does something for the lack of exiting as well.
58176d4 Elucidating log.
d18250f Commented-out debug print.
53d3279 Neater log message.
9f1dd19 oops, forgot to return.
92b0d6d Added the unban and invite commands, as well as a better framework for detecting when a channel can't be joined and handling it.
24e0913 Allow numeric levels as well, so statistcs can be -1 if necessary.
275ba65 typo
f06b412 First version of an /etc/init.d/supybot script targeted at Debian systems. Additional checks will be required for validating that absolute pathnames are used in the conf file. This script should be considered experimental until the pathname validation issues can be addressed, perhaps with additional command-line arguments.
0143a41 Changed the topic command to be topic.set-with-no-number.
30f93fd Added the Topic.default command.
151d3b7 Topic.undo.
ad578a3 RecognizeTopiclen.
914ecdd Added 005 handling to IrcState.
b50be65 Updated to allow kwargs.
18dce89 Refactoring, added set, topic, and insert.
9f14d12 Let's notice when we can't change the topic.
547137d Give the original error a Raise argument.
752ae63 Fix for bug #1015159
e32fe3b Typos.
dccf91c Fix for RFE #1012383, RSS shouldn't announce announced feeds right after startup.
0d53db7 What kind of crack was I on when I wrote this?
acf0a3f Augmented the add method for Note.
00b8f18 Updated.
0acec85 Added some caching to the read/notified ids. Eventually, I imagine, this should be generically done via dbi.py.
f208939 Added URL to original Mozbot code per MPL 3.3. Original developer names are absent from the file itself. Sorry about the line length, but the URL is over 80 chars alone with or without the spacing.
22c2c3a Let's make ourselves able to trace to a file.
2ce58d2 Extra \n.
a4bb12a Added settraces.
4c30b3f Change the default for individualPluginLogfiles.
5fe709f Properly handle error messages from loading plugins.
87ff856 Change the default of allowEmptyOverwrite, because it's annoying.
8a352be Don't ask me why I was copying that list.
868a668 Removed logfile command, no one uses it and it's an information leak (channel logfiles).
9db025a Let's be cool, Twisted.
fa614b9 Oops, forgot to update this for the new networks getup.
a9b5197 Some updates, not nearly enough.
8410c09 Initial checkin.
eccb7ba Added good error handling in the case that there is no words file.
25b2189 Better.
b085ba5 HUP handling.
c5a4972 Fix for IrcObjectProxy.error not accepting a Raise argument.
50d0b8b A minor variable name change.
5861a5e Changed totalbugs/totalrfes to a single total command.
d28ddf7 Changed from INFO to DEBUG the 'Not snarfing' messages.
edecd51 It's handy to translate the user id to a name.
91c440a Disabled my timestamp editor feature so the SQL at the end of the Changelog is not mistakenly changed.
bfd4a9f Fixed a stupid error message. (Closes: #1009681)
977f3f6 Changed my spaced entries to use tabs like all the others.
23ead95 Changelog additions for Fun.eightball and supybot.plugins.Topic.format.
c05cc23 Cleanup.
852388e Being able to send a note using the person's current nick instead of needing to know their ircdb user name is good
67a79c1 Updated.
6e21d8b Made the test actually do something.
fae870c Updated.
b3ca5ed Updated the help for nickometer.
8f47f0b Updated the documentaiton.
ab35afa updated.
30c7082 Initial commit.
c4ea645 Updated for jamessan's bugfix.
96754b8 Add $today as advertised in Utilities.echo
b099b66 Bugfix for darelf's IRC server.
25efb6f Reverted Misc and updated STYLE to reflect what I thought I'd already documented somewhere.
61e471a Let's catch sslerror too. Why the stupid Python developers didn't make this a subclasss of socket.error, I don't know.
fbb348b Copyright updates. Again, more is left to be done, but this is my part.
853da22 Updated somewhat...more work still needs to be done.
0613146 We should call our parents more often.
b7e030f Elucidating comment.
5f24e4f Robustitude changes for testsupport.
1704fa2 Let's not connect multiple times to a network.
c038675 Moved the connect and disconnect commands to the Owner plugin from the Relay plugin.
53b9067 Stopped using supybot.networks.default and just let Owner handle that crap.
e757cb9 Removed the servers keyword to registerNetwork (it was useless) and added an append method to the Servers class.
038705c Some cleanups in preparation for being multi-server without Relay.
48f58cc Elucidating comment.
c63c7a1 Gave output an option fd.
920b4cf Make compact the default for stack traces.
b3ddef0 Style updates, basically, and some slight functionality changes.
2c05cac Fix the __authors__/__contributors__ thing.
1c5faf3 Moved the networks command here from the Relay plugin.
f467550 Added delayed death and fixed a bugz0r (die wasn't calling driver.IrcDriver.die)
992cbb9 Upgrade of Fun's eightball command ported from Tellbot, previously ported from Mozbot's MagicEightBall.bm module.
181f989 Use of (preferred?) format string notation.
b77d6d0 Make the error a little more descriptive
5390e58 Let's notice by default.
4371b4e Moved to the sandbox, where it more rightfully belongs.
ae048d9 Let's not bother getting database if it's not a channel. Good call.
ab6d167 Added a --clean option to setup.py.
21dea0e Allow revision to accept wildcards.
02cd153 Blech. I should reverse the arguments of makeChannelFilename officially, because I keep messing them up.
8936208 Bah.
f18f5a7 Typo.
091ff90 Added day and monthname.
fbd3f46 Forgot this import with the src/Owner.py import that supported it.
98062e8 Converted to an outFilter for greater efficiency (why send a message to myself at all?) and added a check for testing, because otherwise the tests break.
17c569b Let's have an extra hoop for people who don't want to load the src/ plugins to jump through.
4391272 Let's log what the actual message is.
9807624 Uh, one wonders why I didn't do this in the first place. Just fix the bugs that are already there, Jeremy.
96fa5e4 Added a wait keyword argument.
516d130 Retarded, I put the inFilter in the LogProxy class rather than in the Owner class\!
3010885 Removed a debugging line.
28e79ee Added a safety measure to keep the bot from looping message itself.
4a36ef9 Let's make sure is always in the string.
6ecf2ae Let's hope this doesn't break anything too serious.
62ff576 Slightly less verbose.
e9c59b1 Added punishment of other attempting relay bots.
966129c A docstring doesn't hurt much.
8c25795 Removed redundant at console.
5bb4312 Changed colorized to color to be consistent with other plugins.
0e9a7a7 New implementation of formatting; dropped unformatting entirely.
247f8f4 Using utils.stackTrace now that it has a compact option.
3bacc7d Attempt to document a bit better.
a37129a Cooler stackTrace.
2434bdd Better handling of gaierror.
98f0d46 Updated to be a bit more robust.
49c3f0c Better error messages and help.
43b8301 Fixed problem with multiple servers.
de1673e Handle the problem with Ctrl-C not working if it's done before any connections are made.
4027d2a Only try to close the connection if we ever got connected.
39b8372 Augmented upkeep to do even more upkeep, if asked.
81ca323 Test for case-insensitivity.
0f1842b Only do real variable names.
8a9ca0b New implementation of standardSubstitute.
288c678 Added perlVariableSubstitute.
df1a964 standardSubstitute on the default herald.
5c910c6 Updated.
a3c30b0 Beg for advertising.
aa40c90 Added networks command.
caa0790 Split off a test.
452f239 Changed defaultHerald to default (now that channel values can have children) and added a public boolean for the default herald.
bd3e056 Let's not try to queue our connect messages if we're zombie.
535d872 Information-gathering and robustitude.
af994cf Added a default behavior for Admin.nick if no nick is given.
eb60864 Money is a float not an int. Also, uber simplify Currency.yahoo since they provide a csv file. Yay, no html parsing!
eb23fa3 Fixed some space problems in Google.calc.
71c752a Added bender, fixed bugs.
fac96b1 Fix for problem with channelvalues not being removed on setValue.
dd45f30 Didn't convert this when I changed to _added.
a904f0e Oops, didn't think about daemons.
ed63bc5 I think there are bugs here, some tests are failing, but it's late and I can't figure out why.
852e1dc Fix0red.
5c30fe2 Added mroth's noJoinsUntilIdentified.
e97d866 Removed one hack, added another, though I believe we have a net gain (and the hacks are completely unrelated, incidentally).
4fce95e Let's give a nice QUIT message when we're Ctrl-C'ed.
2b4df1f Let's not die twice.
f914f5e Commented-out test that we're no longer worried about.
255125b Default user agent.
956a156 Added some underscore action to eval.
fd95937 Changed default for cycleToGetOps.
403afe6 Reversed the arguments to makeChannelFilename.
9d32018 Let's stop the double kill.
a4c8384 Boomshakalaka\!
102188d utils.nItemsify
d86ebf4 Updated calc.
06afd9f Switch back to profile. hotshot is wonky
cf124a2 mroth's google calc.
4e10d65 Not self.log, foos.
e844d9c This should fix the problems with children of ChannelValues.
54995c8 Yahoo does some funky stuff when you try to convert *large* numbers *cough*Vee*cough*
f901a87 Use MSIE user-agent, allow passing of headers in.
64b7d0d Quit messages actually go through now.
6d1d601 Fixed exception id 0x8a41d.
dec8c52 Fixed testChannel.
5be0b31 Bugfix.
fa84b0c Switchamabob
23c4267 Updated for the presence of User.stats.
715bdcf Made this work on boxes that don't have sqlite.
bfcff00 s is not equal to newS.
ad1b36a Added rescheduleEvent.
55f5f34 Documentation should stay current with the code.
268c317 Let's make this private.
e6fb52e perlReToReplacer.
d26b311 Let's make sure we unregister configuration-wise before we check to see if the plugin isn't loaded.
cc4b76a Updated to allow configuration for multiple nicks as well as to use conf.supybot.nick() by default.
f8d2230 Updated to rock more.
9c64990 Oops, forgot a state. It's like seventh grade geography all over again\!
9a4a6ad Forgotten imports.
13cca25 Initial checkin.
d36459a More spelling/capitalization normalization.
36418e8 Had a test reversed.
73a5058 Empty strings. Bah\!
890140d Forgot an import.
753a410 Some extra checks to make sure only useful strings are written.
501b642 Some extra periods.
4348b41 Style updates.
e11ced5 Capitalize supybot.
17ca364 Normalized our 'take no arguments' strings.
f4d6bac Joined extraneous lines.
3036e5b Updated help text of supybot.plugins.Bugzilla.bugSnarfer to reflect both URL and bug ### features.
4c459c3 Bugzilla.py enhancement to allow snarfing "bug ###". new config variable: supybot.plugins.Bugzilla.snarfTarget Uses existing supybot.plugins.Bugzilla.bugSnarfer boolean for activation. Includes update to test_Bugzilla.py.
f058b7e Add notation of whether a config var is channel specific
20fddb4 Slight style corrections.
d8b1ce3 Some tweaks to how strings are printed.
0f59827 Speeling fixes.
f75e934 Updated.
69fbcea Different way of output.
15e7c89 Initial checkin.
b04f616 Code cleanup.
dadc371 Another typo.
ae9d450 Finally, a working version
bb36f48 If wunderground finds multiple locations, let's return the results for the first location they list. Also, default Weather.weather to Weather.wunder
2e8bd9a Oops, typo.
820c6e8 Refactoring for improved handling of errors later.
107d237 Cleaner thread.
cd9ad40 Let's reorder this, in case it matters sometime.
e9142dc Style cleanups, some refactoring.
523204f Let's allow errors to raise their complaint.
85cbffc Tyop.
a1a4a77 Let's name the workqueue.
3c866dc Updated help string.
662a8cc Default dictionary support.
b876d79 Fix for ugly documentation.
027b73a Fixing the "I know there was something I didn't finish, but I don't remember what so I'll commit anyway" commit.
3ea150c Update to show config variables for each plugin
fd70657 Update with some handling of config vars
2be2b4e ly
44d9fbe Added wildcard support.
b22e3c4 Changed supplyDefault to _supplyDefault and added %s handling for supybot.nick.alternates.
1290d2e Added profiling information as well as the threads command.
72f36ef Fix some problems in Infobot.py's sqlite implementation and genericize some other errors to better fit in with db abstraction
376e67d Added ison.
0bdbae6 Make sure the MarkovWorkQueue dies.
451e083 Updated.
7855f61 Let's change this to a debug log.
b6f03a4 We shouldn't send a new nick in response to 433 when we've already connected.
d1bf6b5 New stats test.
e7daa3c Handle the empty value case.
e1cf38f Handle QUIT properly in IrcState.
fe139ce Immense improvements to recapturing nick.
3cf02c8 Better stupid nick resolution scheme.
c925b48 Slightly better error message.
f89bb16 Various updates.
c717024 Unused import
ff8edb4 Abstract Infobot's DB and default to SqliteInfobotDB over PickleInfobotDB
2ad62c5 Add conf.supybot.plugins.Quotes.requireRegistration and fix a bug with Quotes.random
0ee2ff4 De-uglified urllib2.URLErrors and cleaned up a couple blocks in plugins/Http.py
4a8e60b Add showLinks config variable and remove an unnecessary utils.htmlToText
5c32fc3 I guess not all items have titles
3d03d6f Allow notes to be auto-sent.
51d0567 Let's show the current value in COnfig.help.
7b75d47 Slight tweaks.
0f14557 Typo.
eff7489 Don't try to kick people that aren't in the channel.
edf7af7 Stats command. I'm obsessed.
1624561 It's possible that the Misc plugin isn't loaded.
7a65e93 Hax0r. Watch this revision, I have a feeling we're going to revert this change at some point.
dfd929d Darn, missed one.
0b699e8 Must...save...bytes...
5042f9e Use a global q so urls snarfed by another plugin aren't snarfed by later plugins.
3bd1e00 Lower the priority, so other snarfers run first.
4e53cfe Fixed bug #1009683.
d267fe9 Revert our directories.plugins defaults to the old behavior
46c71a7 Add dbi.NoRecordError and update Quotes to use it
57c2f26 Fix broken Quotes.info and improve Quotes.search by passing the predicate to QuotesDB.search instead of the regexp.
7b2cbd9 Fixed the user list problem mo betta.
1a6754a Http.cyborg now uses the user's nick if non is specified
176c71b Fix Currency.xe. Also, some slight reply cleanups and default Currency.currency to use Currency.yahoo
e7aa2ef Fixed the user list problem.
60a0810 Added change command.
7f9a95d Updated docstring for def rfes method to give Request For Enhancement acronym.
31b1bdf Changed an info log to a debug log.
c2d5ac5 Updated for database independence
3a949e4 Blech. Totally not literary.
f45c3f5 Default to msg.nick.
6964a64 Implement some of the hints from Bug #1007571 and fix Bug #1002363 while I'm at it. Now babelfish should be happy.
25858a7 Some slight adjustments brought about by investigating Bug #1002363
a1a703d Let's go to repr. Beware, people, this may invalidate certain databases.
1c69d97 No notes to self.
d64bc77 Testing remotely blows.
7f1c57c Testing remotely blows.
a6f03fa Updated as a precursor to making it database-independent.
3af85f3 Updated as a precursor to making it database-independent.
985eb7b Updated as a precursor to making it database-independent.
22ddd5c has, a counterpart to be.
bb0aa6f PyChecker updates.
1c84dd6 Renamed to _children.
a9ab896 Moved logfilesize to Status.
58e40a8 Small type change.
cafd724 PyChecker fixes.
efb7891 pylint cleanups
3e1be18 Let's not bold the options in expect()
86efb09 Since I don't want to deal with keeping the responses up-to-date, this is now a testNotError suite.
b3169b7 Forgot chanPlugin. Yay, PyChecker.
d762c1e Test fixes.
c59db0f PyChecker fixes.
775b542 Useless imports, a nice little bugz0r, found by PyChecker.
ef00733 Fewer questions, easier to use an maintain.
8a53eab Better error reporting.
0768ce1 Converted to use dbi.
77ce14f Better error reporting in assertAction.
ab29dbb Removed useless DunnoDBInterface.
12ee483 Slight bugfixes; returning from a remove is unpossible.
c941521 Converted to use dbi.
e5e98fd Initial checkin.
234d4d8 Cleanup for PyChecker.
759f38f Use makeChannelFilename.
e85388a Typo fix.
92a0492 Added a bit more flushing.
6bd8d43 PyChecker updates.
3f5cac2 oops, forgot parenthese.
c16bfcb Removed the default channel of #supybot.
7913e88 Oops, recent changes broke things.
9ceb89c Dumb, error.
1b10c0a Only write the file if we're monitoring words.
532ac41 Added includeNetwork.
e908b14 Added a field command.
975f698 Nesting directories is bad, mkay.
245c77d Made the maximum length configurable.
f8207cf Not finding appropriate commands is a reply, not an error. That's what apropos is for.
ad0ffd2 Let's make sure people can't run levenshtein (an O(n**3) algorithm) on large inputs. I gave it to lambdaman almost 10 minutes ago and it's still not finished.
2259e9d Added log.stat, supybot.log.statistics, and changed some statistic-keeping functions over to use log.stat.
a39ad7b Changed info logs to debug logs.
4e92a0d No => Neutral.
f19c98a Extra space zapped\!
b7bd3d4 Fixed weird formatting of colorized stdout stuff.
8a4e79e Let's try to respect some channel values, shall we?
5ec7923 Give an appropriate error message when trying to Config.channel a non-channel-value.
2ebbc80 Removed testing code, it's never used.
3fa477d Removed reply.withPrivate notice, replaced with two separate variables, reply.withNotice and reply.inPrivate.
efc3469 Added Note.reply).
127e9f3 Fixed a bug in stripFormatting.
3db50c1 Fix for bug about reply.withPrivateNotice overriding stuff.
16c832b Do we really need the timestamp here?
3d1bc55 These logs are prettier in the reverse order.
7dbb868 Fix the problem with wrapping.
52cbec4 Fixed some bugs with note orders, etc.
ec16cf9 New implementation using FlatfileDB.
a59ba25 Bugzor fix0red.
efc095f Broke user and last commands off.
ef9c94b Oops, did I forget to commit this before?
a290f4b Excuses are gone
3a916b2 Updated to allow a dirname, so I can use it later for ChannelLogger.
542a9a8 Not die, close. Close, not die.
42bd2d4 Updated to use FlatfileDB.
8a835a0 Removed configure and added a class docstring.
daf81b1 Added a registry variable for disallowed list --private.
b207baf Removed redundant nick. I forgot about the nick prefix when I wrote that.
afc21c2 Added a comment for something that's easy to forget later.
e26bd51 PeriodError.
04d0e5f Infobot is looking pretty complete!
2952ed4 Make sure we don't start a game if the file doesn't exist. Also, complete sentences are nice to have.
5728974 We only want to hide/count characters in string.ascii_lowercase
50c8cfa Unregister should remove the node from the cache as well.
3fc03d2 Fix for bug #1004002.
d134a2d Updated to use webutils throughout.
0bbd05d It definitely shouldn't be an error to not be recognized by whoami, that's somewhat the point.
f53058e User configuration stuff can wait until later.
c51a9db Updated to use the same scheme as Bugzilla.
69b6ee4 Slightly different wordings.
cf90f3c Later is now persistent.
26fcd9a Slightt update -- private implies not prefixName.
e729915 Updated severely.
b6a03d9 Proxy for Google.
0533fea callback => plugin.
766d77e Updated to be smarter, though we still need ctime watching.
64d5f53 Comment our use of sendMsg instead of queueMsg.
c08ee5e model Tail._send after LogToIrc's setup
f9e9677 Let's make sure the angle brackets don't change color based on capitalization.
55a38cb Fixed lingerinb bug from when random quotegrabs stuff was converted to config vars
35ab104 No need to import registry twice, and Strike can't even remember what that jab at me is for, so I'm removing it.
47a098e Ininital checkin of Tail.
2429c1c Added SpaceSeparatedSetOfStrings.
5dbb314 Bugfix in the add.
a5e473b Updated to make sure Relay doesn't break dying.
cb1cd25 Let's actually respect the channel-value-ness of reply.whenAddressedByNick.
a4fdb02 The default is not to limit the number of messages.
1f874cf We don't mind writing empty files if the original file doesn't exist.
8b780ec Added 'channel' command since we can now have commands with the same name as a plugin. This is useful for configuring ChannelValues.
3234af1 Fix for bug #998311; we should now work fine with channels with dots in their names.
7b07de9 Added a --network option.
5300aff Forgot to setDaemon.
0e70115 Better error message, bizotch.
d81ca6f New Markov implementation. It's still broken, but I gotta run, so I'll fix it later.
f44f541 Moved the do376 joining stuff to Owner so Admin can be safely unloaded.
654ae49 Don't let dumb people unload Owner.
220d4b0 Strike--
74e3cce Slightly nicer fix, I don't know why I didn't think of this before.
7834a2c Now registry.Regexp updates properly
20ebbc1 We have to add a non-banmask hostmask to match against. banmask hostmask is too general.
09c81c6 Update to use the registry for denying capabilities.
a927e5d Yay, imports.
d47d54b Almost out entire testsuite works, yet again. Yay!
b6ba795 With some clearer thinking, I believe this is the proper implementation of tmpDir. If there's something wrong with it, send me a note or write a test and it'll be fixed.
7c41187 Now that we have directories in test-data, we better handle that.
d573550 Fixed some bugs when using relative path names.
beb9e8c Better.
5a6cd1e Update to use temporary directory.
197238e Lucky should error if given no args.
2a61130 Added mores group and instant.
0fcb772 Oops, closed is reserved, apparently.
f349f08 Changed IrcObjectProxyRegexp to SimpleProxy to more accurately show what the deal is.
a2feec9 Added NonNegativeInteger.
b4f7b87 Forgot to prepend something to the tell.
4f248a0 Initial checkin.
ecd67cb Only rollback if we haven't closed.
823bfb0 Added utils.AtomicFile and converted our uses of 'w' to it. This rocks.
b2a9458 Added AtomicFile.
fe8a8ee Let's make sure our hashes are case-insensitive.
98b7917 Don't know exactly why this helps, but there ya go.
0412055 There's no need to test all of the tokens we're looking at. If the first one is a command, bail out.
c98ac36 Now we log connects in twistedDrivers as well.
20e972e Fixed bugs in defaultplugin.
d8bc23d Fixed.
9250d3a Tons of differences, moved some registry values around, also changed some internal attributes of registry thingies.
f3ed778 Refactored _getNextServer and friends as well as logging.
eeacd8b Fixed the issue with responding when he shouldn't be by making try:finally one fat bastard.
1cb576d Updated to include new status command.
115a3a8 move isCtcp to ircmsgs and fix up a couple things with Infobot
c31512d We can respond if we're addressed but there's no terminal question mark. Actions on the other hand are the DEVIL! They get banished immediately.
3bf798e Removed useless try/except block.
a3e04ea Handled some XXXs.
78b2fc8 Removed, our plugins version works a bit better.
f63f204 All your strjoin are belong to Format.
a421cbc No need to tag or's since you can't escape the |
c83c8c3 Fixed bugz0rs in URL, added vacuum (called on stats).
893727f Fixed some bugz0rs.
6f0309c Fixed some lacking imports.
565c6b7 Fixed bugz0rs in URL, added vacuum (called on stats).
7f11267 Added <action>, <reply>, and | handling
a8a95c2 Fixed the one-channel bug.
7328bd5 Added network-specific channels.
fb0a5dd Make sure we resetDelay so that reconnects don't take progressively longer.
e051e5e Fixed multiple servers.
a8a5d51 Another attempt to allow multiple servers in twistedDrivers.
c5325dc Updated to allow multiple servers.
2336af5 Updated to allow multiple servers.
544bfa3 Current temperature *in*, not *at*.
aeda083 Added a __repr__ for Irc objects.
2a17e0e Updated.
40ea535 Forgot to add rainbow to the filters list.
734b3c2 Let's reset only once, m'kay?
e714ede Oops, forgot this.
d6faaef Why not make this public?
30abebe Some random commits, NormalizedString, etc.
61793a4 Added the new buttkicking enable/disable.
17f15da We haven't needed this for awhile now.
b252ae8 Added a value option to registryValue to allow not getting the value (and just returning the group).
b26ef39 Updated forgotten % in Misc.tell.
5f1a08f Added error handling for a bad default network.
9bfb616 Fixed list bug.
0f59205 Updated __str__ for Irc objects.
a3f1362 Spelled publicly correctly, and moved the proper registration of the public attribute from Owner to conf.registerPlugin.
a7dcf76 Removed PersistentDictionary.
206d8bd Added the note ids that are unread to the notification message.
2ca4304 Updated.
bfa2382 Slight doc/style updates.
6886a88 Added KeepAlive.
7c71096 Changed the default for setValue keyword in setUserValue.
66bad99 Let's make sure getUrls doesn't return duplicates.
d594232 Reduced functionality, but I doubt anyone will complain. Much cleaner and clearer now that we're using flat files.
46383f9 Made --private only show private plugins.
79bb902 Bug in removing channels from supybot.channels.
73af1f2 Bug in removing channels from supybot.channels.
a42eb99 Bug in nicks.
f606c43 Let's remove stupid directories.
b9507c9 Updated.
0f12c4b Refactored a little.
230a050 Added DataFilename.
fb8fc70 Removed, moved to plugins/__init__.py for lack of a better name.
848303c Fix for world.documenting issue.
03b183d Some updates to work with the import changes and support module.Class.__doc__
d2ff10b Updated some logs, fixed a major bug with reconnecting in irc.reset.
8f72aec Fix for cycling bug.
65c8b48 We're probably going to use Joel's irclib.py, stripped for its DCC stuff.
35bd48b I thought *args would be a list. Turns out it's not.
cdd0de9 Updated Chat and Accept handlers
9b2b71a Ooops. Forgot to register configs.
afbeb4d Updated for XXXs down to unfinished reference code -- Azaroth
32ba3b1 Made crossword fail when an active hangman game has a solution in the answer set.
82161ee Refactored not to use SQLite; we lose anagrams, but crossword and hangman become much easier to use.
43013d4 Updated with a whole bunch of XXX commands for azaroth.
e6ff03a Updated with a whole bunch of XXX commands for azaroth.
6cc8c29 Added dcc, to build dcc privmsgs.
16ebd1c Initial checkin.
810a051 Removeed some useless imports.
fe55f17 Updated to use only the registry.
4b40f18 Gave the schedule driver a proper name.
5163921 Removed do001 because we don't need it any longer; the network is always set.
e393459 Refactored slightly, added some debug logging, etc.
01e3cba Updated, adding some logging, adding style dots to some others, etc.
50c650a Sample File server for DCC. Uses DCC Chat to navigate directory structure. Allows multiple configurable queues on multiple channels. -- Azaroth
726dc3f Improved DCC handing, including file send, file send resume and chat handling. See FServe.py plugin for sample wrapping code. --Azaroth
3f0dcf1 Let's handle old registry entries gracefully.
bb08574 Refactored a touch.
f9c030f Updated some stuff, refactoring for the the User.config command.
1ed71e9 It's nice when things work
70dc5c3 Updated.
53b29f1 Allow commands to be the same name as callbacks.
4352cfd Separate class MarkovDB.
0dc52d7 Updated.
7869413 Add a log.info.
2e4a8e3 Updated to use the helper functions conf.register*
3d039fc Slight docstring fix.
88b9663 Removed final remnants of bracketSyntax.
278310e Moved some commands from Utilities to Format.
f2ac57e Fixed the problem with prefixing the nick in private messages.
6fb53c1 Added revision strings.
3532fbb Added revision strings.
3be6659 Updated.
0c38398 Let's just make sure everythings a string.
370c30a Refactored, added moderate, unmoderate, and key.
f871d38 Added Channel.limit.
35038fd Added Channel.mode.
2369a1a Updated.
2ebbec7 Added format command.
28d702a Finished color command.
a4386a6 Updated to make mircColors an IrcDict, and clean up the limplementation of mircColor function.
3cb0cf8 It's good for things to compile.
f441219 Initial checkin.
c064aa1 Let's make sure to zfill those digits before we mircColor.
d7df686 Updated.
01435e1 Fixed some bugs, added rainbow, etc.
9e6a3ed Fixed bug #960696.
ce315d3 Forgot a #.
315810d yay! no more stray whitespace
27e3b07 Improved RSS.announce
9d4b715 Fix a typo and remove extraneous whitespace
70efdfb Slight cleanups.
a95f1bc Added resize operation to RingBuffer and make IrcState use it.
8282d3e whitespace and a forgotten conf import
093aa40 whitespace
44e8ff5 Added reconnect command.
39bf2e4 Minor updates.
3689583 Added aol filter.
2d11b44 Added aol filter.
95f8a74 Added Nickometer plugin from baggins.
3b74c01 Added http proxy support.
2b506b2 Made setUserValue argument order consistent with userValue argument order.
87d8d60 Oops, forgot to commit this with the Note commits.
b1db399 Updated.
35e2c45 Added multiple recipient support.
1cc62cf Added a list command.
6287713 Updated to reflect the new supybot.networks crap.
73cb817 Fixed TODO 124.
aad1d2d Updated to allow different networks.
b88dd0f Updated.
fd6cb44 Let's return the node, just in case it turns out to be useful. Of course, we know it turns out to be useful, or else we wouldn't be adding this...
83e16fa Added some help and Dunno.stats.
4a7e2db Example plugin helps.
2431ddb Allow help strings for plugins, except plugins that have an explicit command with their name.
70dd4db Dotted.
327254a Add Currency plugin and fix some whitespace annoyances.
2377a4a Automatically convert non-strings to strings with safeArgument.
aeb4707 Updated with a useless comment for people reading the source code. They won't think we're complete OO heathen now.
40ec693 Updated for some privacy issues.
e759547 Updated.
0585ccb Improve Weather.wunder's UV report and add heat index reporting
bc1027d Updated the function to match the help.
7bf740d Don't reveal the channel unless the nick command is given in it.
ecae9af Updated to handle 438.
c9867b2 This wouldn't work how users would expect it to work, so we're removing it.
efca378 Let's make sure to handle the situation when the Irc object isn't in self.connected.
7420801 Added RFE about connected time.
1d6d200 Fixed brain-o in error message.
91a440e Add rudimentary blocking of adjusting one's own karma
7fbb6da Revert the previous 'fix' since to can never be None at that point. Also, remove those evil lines full of white-space!
e5e1f2e Bugfix. I can't test this on my laptop, so expect a couple more of these.
8875162 Don't number if there's only one factoid, and added a factoidPrefix configuration variable.
cc193c3 Added lucky command.
79db100 Actual commit for the fix for reply.
e98daac Let's be more ASCII.
032fbe4 Added permbans command.
0937ba2 Added a channel-specific enforce value.
180d2e8 Fix some help messages
30a8c06 Misc.last --nolimit
d9d8c04 Slight bugfix.
dae0db1 RFE #952861.
ef91ae1 Add [<reason>] to Admin.part
5419ed0 Don't send JOIN if we don't join anything.
2b87b4d Grr.
b6fbfef Hate.
287f016 Hack.
b594ef7 Trying fix for lack of prefixing name.
fefe1f2 Who would've thunk ya needed utils
8472276 Fix some bugs I introduced with the conversion to utils.getSocket and improve DCC's error checking.
1383da0 Prevent scheduled downloads from happening when we're generating docs (hopfully), and fix a userdataFilename bug introduced in the earlier fix.
9d9c302 Add handling of opening sockets to communicate with IPV6 hosts.
17a4042 Removed mini-wizard.
233174d Remember the basedir when we prompt users for their directories and wrap the prompts a little tighter.
61d6e02 Move creation of userdata.conf to scripts/supybot just to ensure that we're not trying to create it before the directories exist.
18138da Catch some sqlite exceptions that probably shouldn't be happening, but I don't have the best of luck with sqlite.
2176493 Fix some typos in configure()
0721a70 Simplified the last fix and commented out the kban tests since they don't work properly
581a489 Changed the non-strictRfc implementation of isNick not to allow full hostmasks.
90a0529 Fixed a bug and caught some interesting issues with strictRfc. Still need to look into Channel.kban
d9d1aef Clarify the help for Channel.permban
2657257 Fixed a couple bugs and added tests for said bugs.
45b534f Make Owner.defaultplugin more robust in it's error detection.
6f336f2 Possible fix for the dumb bug from dumb servers who put dumb dots in the dumb channels's dumb name.
ed14dcb Updated.
eb2deeb isDispatcher stuff.
b2a70f2 Fixed bug reported by locsmif on #supybot.
d8b7254 Revert a reply() change and fix some tests.
06e92cd If an invalid password is specified *and* the hostmask isn't recognized we need to watch for a KeyError instead of assuming it is the owner trying to register a hostmask for another user.
32f39e0 Babelize wasn't properly setting the language when it terminated early
5633b9d Updated the tiny regexp to match the site's new layout. Added more checks for nonSnarfingRegexp. Lowered the minimum length we check for tiny URLs since they can be as short as 20 characters.
2bf2166 Changed a message slightly.
9b662b3 Made registry variables for the defaultLanguage and safeSearch default.
36e7931 A few small corrections
dcd5606 Tried to fix jamessan's dealio.
b77a16f hamweather changed on us
5693e0e Fixed some error reporting
14ae059 Help needed help.
d546f41 Weather.wunder
4479c43 Cleaned up regexp naming so that it is more consistent and easier to use with multiple weather commands. Added Weather.wunder.
34555c5 I didn't like the idea of supybot being able to time travel
d508b19 Evil lines of DOOM!!!...or just lines that should be empty but have whitespace.
f0c3cea Added a nice little finally, just in case.
24c2543 Fixed bug in announcements.
880bf85 Somehow this bug has been around since 0.77.0
ce8c77f Updated.
6bff999 Remove logging of eStrId.
65c9ebc Updated slightly, let's see if this helps.
9c4b80c Added sendquote.
b01ca98 Change to a sendMsg to stave off a possible loop.
06a8f68 Forgot an import.
ab51ed5 Added a 437 handler.
6d5050e Okay, total exorcism of the stupidity.
ebaecbf Okay, previous fix was super-dumb so for now I'm making it just not allow pipes in aliases at all, though we may decide to change that later.
98d03ad Initial checkin; possibly useful plugin for developers.
0972466 Fixed a typo in the Relay.join docstring.
c931710 pipeSyntax is now in supybot.reply AND it's channel-specific .. fixed addAlias to reflect that
8ab613d Remove bracketSyntax, make brackets channel-specific.
25ec8f7 One more little tweak. Five hexadecimal digits isn't too hard to 'get'.
fd5463a Changed eIds/eStrIds.
9100151 Added a nice little exception id system based on the idea in Mongoose <http://themongoose.sf.net/> for easier tracking of bugz0rs.
faa5a8c Removed old and busted; added new hotness.
5603c62 Maintainability updates.
f099a53 Moved the gc.collect until the end.
0c51ead Minor stylistic update (I think).
738546b Updateed to have a bit more personality and infinity percent more configuration variables.
2f2b7bd Changed supybot.defaultCapabilities to a space-separated list, made prefixChars channel-specific, and a few other quick changes.
741fc1d Oops, didn't anchor the no.
8dccee9 Unclaiming Note (sorry, ink), claiming Todo, fixing the other author strings.
e59ae37 Commented out some print statements, made the reply not prefix the name.
e3643e0 Complete rewrite.
b4f977e Fixed the wacky addressed problems.
a764359 Author strings, yay.
583f08f Ignore no user error when trying to set last location
145024a Updated
86451cc Added Sourceforge.fight
336fabe Fix bug #945522
3672f72 Returning after irc.error is good
2ebabe1 Hah!
d82c694 Reimplemented set to be more general.
6b3ed89 Minor updates.
ea90ba3 Added ignores.
6e6d619 Added a setValue option to setUserValue.
ae54251 Our first use of the userdata registry!
e3b690f Added userdata registry.
ab1b7d3 Initial checkin.
d43cb14 Fixed bugz0r with regexp.
5d10dc2 Oops, syntax error.
21b1acd Oops, forgot to update these for the protocols change.
3eedd04 Initial checkin.
4aedfc0 Initial checkin.
4fdc49b Forgot one more newline.
0c5aaaa Fix for toXml.
eaf40ce Added __author__ string.
c890018 Added reason to kban.
cf54ef7 Added reply and tweaked success.
f9442d9 Let owners tweak users to their utter enjoyment.
95ef531 Let's change the default for supybot.databases.user.hashed.
418e143 Told people who see garbage to file a bug.
b21b3af Genuflect before the master of anality (and rejoice that bug #944861 has been fixed).
550f6cd All hail the king of anality.
d9a580a Updated tell not to tell to channels.
dc1bc4b Updated a ton of configuration variables.
65ad15d Fixed bugs in zipinfo and netcraft
b5ad1be Fix for G-LiTe's bug.
3455bcb Updated.
1638a1c Fixed bug #941579.
2c2e21e Fixed bug #941101.
8274d5d Fixed strictRfc appropriately.
ef5e7c8 Fixed a bug that I thought was already fixed.
4a232f2 Fixed bug #941013.
20ac099 Add Http.zipinfo
7f87c1e Fixed some bugz0rs.
d59da5a New Infobot stuff... should actually work a bit, but still not finished.
7d35657 Mark the files that I'm "claiming"
e8470b4 supybot.plugins.Plugin.public.
349245a Fix a (probably) long-standing bug with Debian.file and pythonZgrep. Update Debian.version so that it uses the user's 'package' name as a subword for which to search. This better reflects the original behavior of Debian.version. Also added --exact option to Debian.version in case people don't want to use the subword search.
adad9c1 Updated.
cd30393 Added an author command.
daaf146 utils.commaAndify has new optional comma argument
481dd51 Add comma argument to commaAndify
a0e7bd2 Slight cleanup.
b952411 Fix for bug committed last night.
b7fb78a Slight optimization, finally figured out how to automatically intern all IrcStrings.
41a1c9f lock, unlock, restore.
4db5d0e Let's not synchronize topics unless we're actually relaying the channel, k?
fb46330 Allowed for strings in ircmsgs.mode.
50226b4 Added a log message when not answering due to supybot.reply.whenNotCommand.
623d719 Fixed bug #942506.
53ed45f Fix for uncaught KeyError.
27cd893 Make sure we don't take revenge on ourselves.
c63826d Better traceback handling.
bd1dedb Added toXml.
fbe9460 Oops, didn't think I'd need any changes here.
e2de278 Allow the empty string for supybot.brackets, so users can turn off command nesting.
7bee883 Updated.
2c1437c Initial checkin for Anonymous.
e50f3cc Added Utilities.last.
dfe1743 OoopsEXCLAIM
d2a8078 Should fix both RSS bugs Vee2d2 reported.
b5ac09b Oops, forgot to update these for the reviter=>reversed change.
81aff97 Apparently reply.whenNotCommand is False when we're running the tests
173af65 Update RSS.info to accept an rss feed name as well as a url
28fe96c Allow irc.error() to be called with no arguments and act as if ArgumentError was raised.
5915154 Let's ignore HUP when daemonized.
ea4259a Updated version number.
f701080 Made 'alias foo bar' work as expected.
c131313 Added a monologue command.
7b16100 Fix for bug #938377.
16b65f5 detailedErrors should be True.
ac67bb0 Added more daemonization code.
494352b Tyop.
d3d43f8 Various sorted updates (pun intended, punks :))
ed8df0a Updated sorted for 2.4 compatibility.
85807dd Fix for slashdot bug, I think.
9a90727 Changed reviter to reversed.
96838d0 Removed catch, moved curry to utils.py
69c7c76 Added another handler for daemonized...we're getting pretty close, we just need to actually daemonize :)
eee1f7c Added a <number of headlines> argument to feed commands.
850fdf2 Let's remember to remove the pidFile.
ca9f696 Weed out the last of the floating point COUNT bugs
42f279c Updated.
e6792f2 Updated.
313624c Improved error message for the 'preserve the configuration' load attempt.
6ef38bd Added pidFile support and a signal handler for SIGTERM (the default for kill).
e63dbb0 I really should test these things before I commit.
54cdfdb Let's make sure we wait long enough to connect.
48f2de6 If a project doesn't have any bugs/rfes/trackers, we should just say so instead of raising an exception and making it look like there was a problem.
8955f43 Added another translation regexp to fix bug #936790
201fb0a Usability enhancement: Added a note in the callbacks.Privmsg docstring which points people to getting the config values of a plugin.
086a2fc Refactored LogLevel crap.
437afe7 Updated with a little infrastructure for allowing daemonization.
4e5f79e Updated.
e3b1eb1 Fixed bug in test.
85d66a4 Updated.
8eb2022 Changed an exception raised.
119619d Updated to fix a bug in Config.help and a bug in the test for Config.list.
866e4eb Added the ability to have multiple targets as well as do some capability-checking on the targets.
1a40c6f Whoa. Long time no commit. Anyway, we make shelf dispatch to Shelf appropriately.
6504dfc Ooh, a better implementation. I rock.
1cb8cd0 Added RFE #900293.
b15b85e Changed the name from LogToChannel to LogToIrc and made it capable of message nicks and not just channels.
a4bf228 Updated help for echo.
7fa9f47 Updated timestampFormat to handle the empty string.
7bf8ba2 supybot.plugins.Weather.convert
403a561 Add supybot.plugins.Weather.convert, which determines weather or not whether will convert temperature to the configured unit.
5d8f015 Fixed bug #934240.
b829916 Updated the help messages for SyntaxErrors.
aea2f42 Updated a docstring and made sure to lower all the channel logfile names.
e127a95 Updated LogLevel.
132adef Updated.
e32b66d Fixed a boo-boo in the help string for fundb.add
72c0eb5 Added success.
d5ee023 Updated some design of the Values.
0027117 Fix some coloring/formatting bugs we had
e877874 Forgotten colon.
2e2e90b Reverted to 1.25.
cb97f75 Added the ability to auto-{op,voice,halfop}.
7aa3505 Commented a possible optimization.
7f6c401 Comment some of my intentions.
0758518 Add a heapify because our modifications don't guarantee that the heap property is preserved.
bea41b3 Fixed asyncore hogging the CPU on disconnect. Although this really looks like a bug in asyncore to me. o_O
03294c8 Same fix for asyncoreDrivers and a small cleanup.
ff3c996 - Prevent a duplicate INFO log message. - Forgot a return there, which would cause it to send messages on a disconnected driver.
1feffe9 That shouldn't be there.
edc6ea8 Fixed the socketDrivers problem (THANKS G-LITE{EXCLAIMEXCLAIMEXCLAIM})
1541f05 Seperated logging to channels to it's own plugin. (...and a couple of smaller changes to log itself)
9c26113 Added a test for notice and private combined.
e65a7ec Made it depend on sqlite.
6584790 Updated User.setpassword not to require the old password to be correct if called by an owner for another user.
e2f6cd1 Added a build-depends on python-dev, which is required for distutils.
d28d272 Improved error message for bad hostmasks in addhostmask.
e89827f Added support for logging to a channel.
63758a1 Updated version.
ac80e34 Updated.
f578485 Fixed a NameError exception
1f0e646 Fixed bugs in these tests.
ec0dd27 All in the name of case insensitivity.
0194abf I may finally have squished the most obvious bugs.
09f54f0 Updated.
f80cea1 Updated help text for notice.
44ab483 Slight update.
f8b83f6 Slight optimization, not that it matters, but it makes the code easier to read, too.
4354a79 This should be guarded by the network condition.
ee5afd1 Fixed some thingy.
8a979b3 Updated.
34ca553 Man, I really didn't get enough sleep last night. Let's try this.
f77f48d Added some lockingEXCLAIM w00rEXCLAIM LocksEXCLAIM
c198f79 Filter.colorstrip
b2153c8 unColor is now working. Added a colorstrip outfilter to Filter to close RFE #863599
7f6040a Refactored callbacks.{error,reply} and its friends; added supybot.reply.errorWithNotice.
47d7f5e Correctly get the disabledLanguages value (it's a ChannelValue, not GlobalValue) and update the tests to match the new failure string.
9d3c1e6 commaAndify(..., And='or')
c75e8b5 Updated version numbers.
60bdc8b Picked up a few more configuration variables.
3538dee Ah, a better way to do default normalization.
9eee85d I really should test these things before committing.
22fb1b4 Made the success message from unidentify more useful.
77f2c84 Made drivers.module use OnlySomeStrings.
4258435 Some users might unidentify without being identified.
8587c3c Added supybot.plugins.Babelfish.disabledLanguages to disable certain languages from being translated/spoken
106f957 Fixed string formatting bug
46a3f07 Made sure we can normalize for OnlySomeStrings.
c97d390 Fixed the non-quitting bug, although it's not been tested with twistedDrivers itself. It works with the other two.
9cfed8f Correctly handle the case where sys.stdout is closed.
5f53515 Fixed bug that cause RSS.announce not to announce in more than one channel.
93f64b6 Added supybot.reply.maximumMores.
ce75589 Oops, I meant registry.
6cddfb5 Added supybot.reply.truncate, to turn off the normal moring of things.
77e6aa7 Oops, syntax error.
b74cbfa Errant dot, begone why the FSCK can't I put an exclamation point in a stupid commit message? Bash freaking sucks. zsh handles this just fine. I can't even escape the stupid markEXCLAIMEXCLAIMEXCLAIM I CAN'T EVEN PUT STUPID PARENTHESES IN THESE COMMITS MESSAGES DIE GNU DIE DIE DIE DIE DIE DIE STUPID DOUBLE QUOTATION PARSING BITCHES
14ec774 *finally* got the Debian.incoming globbing fixed. fnmatch.fnmatch is wonky
7e7343d It's nice to have sgmllib imported when you're trying to catch it's exceptions
72462d8 Looks like I didn't finish a thought.
3e1521f Added slightly better handling of ImportError in do001.
d4c7db7 Began Relay.reconnect and changed names to nicks.
1d27db4 Fixed forgotten import.
e64ce62 Updated slightly.
1654a35 Added trueCycle in preparation for the new registry stuff for multiple servers per network.
cc9522e Slight cleanup.
71ea32c Added supybot.brackets for specifying what valid bracket characters are.
d9c535f Slight cleanups.
f166ce8 Removed ConfigIrcProxy, I forgot we didn't use it anymore.
346d0a5 your colon misses you, jemfinch
7d3c9ff Fix for fix for scheduler.list showing ran (but not removed) events.
c96065a Fix for scheduler.list showing ran (but not removed) events.
42301c1 Add a test for the recent Http.stockquote bug and remove testing of Http.weather (I thought I had already committed this)
ba31427 Tweaked docstring for flush and started stuff for online notification of exceptions.
f5365a6 Added channel logfile rotation.
07d10bb Fixed bug #923562.
97dde42 Switch to hotshot for profiling
48d6dc5 Add testing of units configuration
f130db3 Better error checking with Http.stockquote and remove Http.weather's tests.
a1e48a8 Make sure the Wind Chill and Heat Index temps are configurable in Weather.ham
73a9ffc Removed useless PluginDocumentation.
532db9c Added logging of version of plugin in plugin logs.
9dc2618 Fixed to use supybot.databases.users.timeoutIdentification correctly.
ae97d03 Added removeChannel to the SpaceSeparatedListOfChannels.
a898bda Slight rewording of log message.
4837707 Slight refactoring.
1545778 Change words from a channel value to a global value.
5765a34 Updated.
c697af6 Focused an else and added an assert.
a1e4b79 Handle actions correctly in last.
b7a70d2 Slight textual fix.
ea8c7dd Added timestamp configuration variable.
0575635 Removed leading spaces if the timestamp is set to nothing.
5b03c6d Just some extra logging in case a flusher fails.
adc046a Added flushImmediately and [nolog] prefix.
59e5a6b Fix for bug that rejects extraneous spaces in Boolean registry values.
22d484e YAPMR
90718f0 Hopefully this will keep us from having any new plugins with no __revision__ variable.
6a211ad YAPMR
3ae730a Fix the passing of quoted text on to Google searches ... again. This time it's correct. ;)
823c91f Updated Wordstats plugin to allow removal of tracked words.
f14f3ef I like webutils
4e7d862 Removing the "see foo" referencing code as it is error-prone (it's really tough to accurately track self-referencing leading to recursion and circular references leading to infinite looping) and I don't think it's all that useful. Fixing it would make the already-contorted code of this plugin even worse!
a79bc26 Updated Seen.seen to accept no arguments.
672b2e9 Revert the non-PRIVMSG watching until we have a proper mixin to be able to track part, join, *and* quit.
5718424 Adding DocBook meta-documentation, also redefined some of the entity classes in supybot.dtd to make them more "correct"
1f4cc2a yn returns a boolean already
eadfd71 Fixed some exception handling madealios.
601ea79 Some small cleanups
b6f2cef Added a revision string.
e31aa25 Don't respond with the units so as to ease nesting convert and calc
212da17 What's a leter? maybe I was thinking of lederhosen or something...
d3de7cb Remove replySuccess.
b9483ae Added itemgetter and attrgetter to operator.
e04489e Add matching of $randdate or $randomdate
4b32a20 Add Seen trackers for PART, JOIN, QUIT (and fix ircmsgs.prettyPrint for QUIT)
4db8096 Don't notice news to the channel with supybot.reply.withPrivateNotice on.
4b1e5b5 Don't display errors in snarfers,, mo.
700fe71 Minor update to cpu output, mithro said it was confusing.
48f40f0 Oopth, forgot to include this with the Big Fat Honkin Docbook Commit
d1bb8ce Bugfix with 433 handling.
151b2f8 The "DocBook is fun" commit. We now have a whole new DTD and stylesheets to use, as well as all the docs being in SGML now.
8ea62d2 I should get some kind of anality award.
aabd318 Let's make Heralds use standardSubstitute too.
fc71c53 Made echo use standardSubstitute.
5606fe6 weatherCommand -> command
8590bc2 weatherCommand -> command
31c8af3 Yay! Now Network.whois can retrieve information for any domain.
d2e1d80 Use plugins.standardSubstitute in supybot.replies.
0773359 Made urlSnarfer respect lobotomies.
90ace94 Minor stylistic updates.
de512b2 Guarded asserts with strictRfc.
8b23e0f Add a couple of convenience units.
0e574d7 Forgot something
e5ce3c8 A few more fixes/cleanups
ad1a23f Removed doindent and trap KeyboardInterrupt in supybot.
52230d1 Somewhat fixed.
295eafc Added weather command.
a8554a0 Check that we're not root before running. Not for security issues, but just because it causes so many problems with user databases and whatnot.
af442c8 I guess I should've used setValue instead of set for LicenseKey
6f24ebe Fixed some things with WeatherUnit and temperature parsing in Weather.cnn
d3b8c25 Added Weather.cnn, which retrieves weather from weather.cnn.com. Renamed Weather.weather to Weather.ham in preparation for jemfinch adding the ability to specify which service to use when Weather.weather is called. Added ability to specify default temperature units in which to report the temperature.
9f766c1 Added itertools.groupby.
d0547ba Added logging of invite.
1300548 We should also be catching timeouts on the read.
5deb991 textwidth=70 reformatting along with some documentation fixes that I noticed
940a934 Clarified the prefixChars help string
b8ff81d Shored up the finale a bit
61dbf12 Remove a subclass from test_Amazon. Only quote words in Amazon results if they are not being bolded.
9441f14 meta-changelog this is!
8b20ad7 Updated.
c563559 googleSnarfer shouldn't prefixName, and shouldn't come back with failuers.
fc93bb4 Minor doc fixes.
837ab99 Changed copyright date in template.
52da421 Removed addendum about registry; docs/CONFIGURATION handles that quite well.
9e51729 New DocBook file for the capabilities doc, updated the Makefile correspondingly, also fixed a few minor things in the capabilities doc itself.
bfea2fc Make Topic.add and Topic.change agree on how strict they are with users adding and changing topic items (i.e., they now both fallback on simply the nick whenever a registered username is unavailable)
0b48743 Added tests to catch the pipeSyntax bug and to test G-Lite's new bracketSyntax enabling/disabling.
708ee91 Actually, that is rather unnecessary. Sorry for messing up so bad today. :/
52e7551 Whoops, messed that up good.
f08f875 Fixed a nasty bug where pipe syntax would still work if it's disabled but the pipe character is spaced out, as in: @foo | bar Also added supybot.bracketSyntax; defaults to True, don't worry. ;)
ffe0c5c There's only one Config plugin that I know of
2747baf Fixed bug in IrcObjectProxy{Regexp} where actions weren't targetted correctly based on the to/private arguments.
70ce38a Added another FAQ.
a7d83ef Fixed bugz0r in the way stuff is printed.
a97c961 Documentation update.
faa27d5 Fix for bug #899271, as well as some other problems with the test suite and ChannelPluginTestCase.
dcf7d16 Fixed typo:
3128255 MoobotFactoids.randomfactoid must've felt so lonely not having anyone to test that he was ok. Add that to him having an unwanted msg lying around, and he must've been quite sad.
1ef5461 Fixed doMode only to do something when there are actual arguments.
c070e66 Fixed revision (again).
99926fd Added mode, and made sure to send one after joining a channel.
e609d5d Fixed the problem of having multiple upkeeps scheduled.
3851d1d Added amazon snarfer and price information.
7192e97 Added url to Ebay.auction as per RFE #896118
f1e34cc Added invite command with test, fixed docstrings.
976efd8 Added skullY's patches for Network.whois for .orgs.
6be8850 Oops, we use commas now.
a35e185 Just changed a var name to be more clear in _lock for MF, and finally fixed the MF tests so that they all pass (without removing test functionality)!
f3c481d Removed some catching of exceptions that can never happen due to MetaFirewall.
2dab520 Fixed the __str__ of some Value subclasses.
c0dad91 Updated.
32aa12b Finally fixed test0rz.
bef64f2 Should fix bugz0r with OptionList.tokenize.
465e12e Mess up in rewrite.
37247ad Rewrite of OptionListTestCase to actually test things well.
98cc71d Fixed quoting issues (permanently, I hope) in the tests.
952676b Fixed bug found by skullY.
497db73 Updated.
62f3242 I thought this already sorted by id...
ef550c2 Fixed bug lkn4it reported -- no doJoin.
c809cc9 Tried to fix0r the bugz0r that wishy and I are having with failures to reconnect.
f14341e Updated for the new release.
af9f1ca The start of my stuff on the Config plugin, was written before it stabilized so it may not be correct at this time, but it's better than nothing!
223ac90 Added logging of ERRORs from server.
de72ad4 Made a potential AssertionError not get raised.
6d117b2 Fixed bug #898028.
ced437b Change the default upkeepInterval to 1h instead of 5m.
bd7c758 Slightly fixed a formatting issue.
c5aa3f0 The documentation was wrong, not the code.
2fb2a6e Made us not respond in invalidCommand if the factoid isn't found.
f752ad5 Commented out some useless debug logs.
4f84303 Made an extra note about the registry.
e86fdd4 WordStats didn't have a proper __revision__.
48d6c98 Made a SupyTestCase base class to handle COOL STUFF\!
5c660fd Fixed's Strike's bug in Misc.revision. IT'S STRIKE'S BUG, MIND YOU\! IT ALWAYS HAS BEEN STRIKE'S BUG\!\! DON\'T EVER LET HIM TELL YOU OTHERWISE\!
bdbcd95 Put a note in the help for config about leaving off the supybot..
3566d94 Fixed bugz0r reported by gnd and lkn4it.
20b3b6a Hopefully fixed the persistence problem.
bfd5066 Added some more better handling for channel modes.
67ab9f8 Fix for 'revision Math' bug.
ff370e2 Who knows why I wrote that without a for loop before?
487fb3c Made separateModes int the argument if it can.
3bdef0f Change the behavior to match the naming and help.
23393ed Set licensekey registry values to private values.
2f470b3 Typo\!
d94b3f7 Use expandtabs instead of expanding by hand.
4a086e6 Geezle peats, I thought I fixed this already\!
68eb84c Better error handling on open.
3776788 Fixed bad configure juju.
fb59b25 Added the ability for configuration variables to be private so they can't have their values gotten by people who can't change them.
38cf55e Made the initial log message better.
4786631 Made title snarfer not snarf if the URL is in an addressed message.
af0a498 Made Factoids infinitely cooler. WE REFUSE TO BE A REDHEADED STEPCHILD!
0dcaf94 Don't change our nick on 433 if we're using our default nick.
6f8fafb Added error handling for nick changes.
6c88a6a Better error message in the cases where there are no commands.
8569d70 Fixed over-specifying test.
175c73d You gotta have an encoding, dude.
4c681b2 Fixed test, made sure that a failure in adding lookups doesn't keep the plugin from isntantiating.
f8f9773 Store the q on the function itself in case we want to debug with it later.
60bf8eb Fixed testPlugin.
1d53c99 Fixed test.
87f4d36 Fixed tests.
c68a801 Fixed failing tests.
1a62fed Woohoo, fixed the bug with register in tests!
74300bb Man, I must've been really sleepy when I 'fixed' that code.
e2795d3 Fixed the failing testAddressedReplyWhenNotAddressed test.
2806269 Changed slightly the phrasing of supybot.reply.noUser.
c916152 Clear the _mores when reset.
f2fc683 Added Herald.get.
681c091 Instead of asserting non-unicodeness, let's just encode it.
d3dcc62 Offer a reset method.
b5f48db Let's try this out.
2d79a47 Fixed problem with integer-looking ids in repeat.
af60780 Forgot an enumerate, man, that sucked.
3902e9f Sort plugin results.
e45ad03 Robustitude\!
7745807 Improved the help for supybot.directories.plugins.
cf4b0da Fix possible raised RuntimeError.
4396d65 Added docstrings for the class. Eventually help should show these instead of the dispatcher helps.
17d6c1b Made sure to handle the case where the driver object has no irc or its irc is None (like a Scheduler driver or something).
c65dfd7 Made sure the failure of one flusher doesn't affect them all.
31bb1ab Remove stupid alias crack...er...crap from Sourceforge.
66f12fa commaAndify list
b668da9 Removed stupid alias crap\!
09eae1b Make sure to catch amazon.NoLicenseKey and provide a nice "hold-my-hand" help message.
f364bb9 Added world.starting to know that we shouldn't flush.
69671d5 Handle EINPROGRESS more appropriately (i.e., actually try to work :))
157106f Changed from a warning to a debug log for unexpected NickServ notices.
dda081b Changed error message in the case of no license key.
1f9d794 Fix the Debian.version regexps and fully propagate the Zegrep -> Zgrep renaming that occured a few days ago.
bd4451c Made RSS.announce require #channel,op.
4a706a1 Updated.
f5d3b4b Fixed removecapability bug.
5d3a343 Fixed G-LiTe's bug with -l.
b96dab0 Made to remove the former installation to stop any confusion from occurring.
14ab800 Fixed bug #894619.
1264f21 Fixed supybot.channels to use an IrcSet instead of a list.
3b899fd Moved enablePipeSyntax to advanced and cleaned up some style stuff (the rest will wait until after the release is out).
cf1c3a8 Made Sen case-insensitive (again...)
139e1bb Stylistic updates.
78bf842 Slightly more pervasive logging.
8df8c27 Safety catch for inconsistent wordstats/users databases.
d077e9a Stopped trying to mess with stuff that we don't know how to handle; I'd rather have uglier log messages and a bot that I can figure out than otherwise.
c04d363 strictRfc added, off by default.
0c605c2 Fixed invite, thanks lkn4it.
75246f8 Proper ordering of options in Channel.kban's help
5aef3f2 Removed all instances of repr()'ing (or "%r" % ...'ing) factoid values or keys, as that mucks about with unicode input/output which is desirable to keep.
b15f121 Fix, cleanup... I'll let you decide. ;)
d2d5f88 Trying something out for fixing the Jawoota unicode bug.
ac74ef9 Fix for bug #893264; we can now discover what channels require registration and only go after we've identified.
d9f1c47 Fix for bug #893264; we can now discover what channels require registration and only go after we've identified.
71d0b03 Made Relay *actually* save the channels in the registry.
a1cb1ae Added ghost command, caught a few more errors in identify.
dd66098 Made Admin.part properly remove the channel from the list of channels to join.
abf56c9 added new test for longer numbers
5eac427 Changed float division to integer division
03ebdc3 Make starting the bot a little safer; we won't have to worry about trashing our registry file until around 5 minutes after the bot has started.
d6f79c4 Made a showDefault configuration option for deciding whether or not to write the default to the registry, and made registerPlugin set it to False (who needs to know what the default is for that stuff?)
20285ae Fixed bugz0rs in RSS's announcements.
0c2de45 Threaded RSS's announcements and made reloading/flushing work properly.
0098784 Small stylistic update (now it's a little more readable).
6ebc226 Reject invalid join commands outright.
ec8d1be 'nother buggeh that prevent my previous commit from working. :)-
85fc5f2 Allow channel keys in registry.
f186dd0 Small buggeh.
dcd87d9 Small grammar fix.
bc10f87 Fixed bug #893608.
53f9c0a Made an empty stings cancel out of the plugin selection.
b63fc24 Updated descriptions of how to re-enable commands.
5969fbf Make op/halfop/voice like de{op,halfop,voice}.
e3e896f Added proper detection of Alias plugin. Added addition of search aliases in configure.
0308406 htmlToTexted the team.
e6f1b6e Added a TODO.
c60664f Fixed bugz0r #893239.
de30db8 Changed the assert to a log.info.
a6b0c7d Fixed a SyntaxError.
ef31ca7 Made so there are no stdout logs through the wizard.
340d1aa Fixed bug #893247.
86eb377 Handle a possible suck-100%-cpu bug if drivers._drivers contains only the schedule driver.
f2bb0c0 Update to work with registry changes and add 'deprecated' warnings.
08158ca Added a __revision__.
2a586bd Change project registry value to defaultProject.
abd4eed Don't put a period at the end of the Misc.plugin output! It's useful to be able to do "@list [plugin foo]"!
1cffed1 I should commit the test, too.
8623e98 Yay, now we can convert negative numbers between bases
915d467 Added a try/finally block. The snarfer test still needs one added.
ea2f4a5 Fixed urlSnarfer bugz0r.
da209e5 Made enable case-insensitive.
72adc73 some :tw=70 gq fun and fixed a grammar mistake wrt when you should edit the users file
a178492 Made the interval between upkeeps configurable.
c290465 Fixed lots of stuff.
5239339 Changed the timing log from info to debug.
b5c52a9 Make defaultPlugins get automatically read from the registry.
15ae4d5 Man, I don't know where that extra line came from, but it's bothering me in cvs diff.
5bc79e2 Updated slightly to try and give a purer environment to tests.
e0e53b5 Updated to use makeChannelCapability, which is more appropriate.
40a0ed9 Updated test to match implementation.
54750f1 Fixed ignorant tests in Admin.
ca4a8dc Moved some error handling to a different place.
0ba2815 Added help string for supa1337.
96eecfd Fixed most tests and made some stricter policy changes, as well handled the case of getUserId returning several hostmasks a little better.
6051299 Fixed tests for BadWords.
5f18d57 Slight stylistic updates.
578eb26 Updated for the csv conversion.
645d654 Updated to use plugins.ChannelUserDB.
04b2ecd Minor updates.
3ca4b1d Updating version numbers.
244a0b9 Updated, mostly (if not completely) finished.
e1f3393 Updated.
36c6aa2 Useless comment removed.
6b6efcd Removed some useless debugging madealios.
34f4e34 Updated to a flatfile database.
eaade69 Updated.
679b4de Gotta give the channel and id in deserialize.
d451233 Oops, forgot this was a set, not a list.
f2f2680 Added support for groups alone having help.
2092fe4 Fixed the output of Misc.plugin slightly.
07e6482 Added Owner.defaultplugin again, we needed a better interface to setting/removing default plugins.
7df4875 Don't make directories, foo!
5d5bffe Made channels to be stored in the registry, as well as slightly refactored do376.
c9655c6 Added announce command.
c43947c Oops, forgot this guy.
0ab8675 *Really* fixed supybot-adduser now.
6072094 Changed ChannelUserDatabase to ChannelUserDB.
18fcfd9 Converted Seen to use the ChannelUserDB.
097d4e9 Changed Herald to CSV.
57454c8 Grammar proper good is.
416a177 numbers -> integers
ab26fbd Added tests for new base command
4d29647 Modified base command to allow conversion between non-decimal bases
6a2f901 Fixed bugz0r.
2022839 Gave replies the **kwargs.
0982ee2 Fixed bugz0rs in the new version.
169a692 Fixed.
94c16a0 Made version look online to find the newest version.
f65c0a6 Updated.
832165e Added cache command.
1a22cd5 Added two configurables to Note, thus closing another RFE.
9108591 Added isCommand to the firewalled methods.
b2efbdc Added RFE #871658.
0525b9a Ooops, thought I tested it, but it turns I had forgotten to install.
a32a263 Added RFE #890130.
b51961b Added supybot.defaultSocketTimeout as a configurable.
a0d830c Added a test for supa1337.
1c1046cd The bot won't de itself anymore.
aa6e663 Added Babelfish.languages (which we should've had long ago)
ede140b Added the supa1337 filter for complete unreadability.
a7c2f24 Added some subjects.
a20f742 liquidx is cool.
47d8154 Added log.firewall and log.MetaFirewall, and converted several classes to use them.
4fec15f Fix the cause of several exceptions being raised on loading of plugins.
9011290 Make sure failed loads of plugins don't prevent those plugins from later being loaded.
61e46c5 Try to fix target and prefixing of name.
d282b85 At least fix the formatting problem.
ea2f71d Safety catch to prevent a possible exception at dying time.
0784ad7 Changed replyPossibleBug to a channel value.
1f31204 Fixed bug.
6c968f4 Updated.
50b0957 Oops, forgot to commit this awhile back.
303bba2 Minor little tweak.
cc68310 Turned stdout off entirely.
b6c7fca Forgotto import conf.
c455642 Oops, shouldn't still require sqlite.
3dc5dca Didn't register the plugin :)
aff2e6f Updated. Not finished, but Vee2d2 needs it.
6e06230 Added output to the list of functions imported from questions.
3af53ac Converted to zgrep from zegrep; I thought I did this before...
dce0378 Updated again.
92a7ae1 Updated not to depend on the old ircdb.
21ef041 Updated to make case insensitivity with preservation much easier (based on utils.InsensitivePreservingDict).
8eeb9e7 Updated error messages.
9def8a4 Hmm, didn't define keys.
19a86f3 Added a raiseError optional argument to getChannel.
6771c24 Added InsensitivePreservingDict and made IrcDict a subclass of it.
0d2724d Fixed Dunno.change and added a test to make sure it works
a027966 I'm dumb.
2dbd144 Use dh_python as suggested by jamessan. Also make architecture "all".
07a50e7 Fixed debian/control formatting
3b1e4df Updated.
f9188e4 Fix the stupid 'I refuse to quit, even in the face of insurmountable odds!' bug.
c7e6e63 Added some info about me since jemfinch decided to remove me from the ACKS files
82b0bff Properly disable the commands. Also, the configure prompts still need to be updated to reflect the correct way to re-enable these commands.
82a4d96 Oops, didn't have an __revision__.
5e3fae4 Robustified\!
a7c7cc2 Minor stylistic changes.
952aa0e Fix0red the groupz0rs.
a4aff25 Changed --enable-eval to --allow-eval to mesh with src/conf.py
d009358 Fixed possible uncaught exception bugz0r.
fcb5163 Updated.
3d186a1 Changed not to use onStart.
3e08f7b Updated to use the registry and remove onStart.
bb104ea Removed people that are in DEVS.
4673993 Added descriptions.
be31cac Made lookups persistent with the registry.
03c6efc Partial conversion to registry, need to get it on my desktop box to test.
285ac5e At least import the plugin module, so configuration is preserved.
0d61366 Changed to use the registry.
96568b3 Debianization of supybot
ee6107d Added an extra caveat to the supybot.flush help.
9f33b4c Oops, didn't give the appropriate namespace.
5d98b1a Converted ignores to a separate file, rather than a registry value.
3deab7b Added a defaultplugin for ignore to Admin.
43af36e Strike's a tard.
988bf3d Fixed defaultPlugins.
b8b014d Output the default value into the registry file.
a15b87c Convert channel capabilities, too!
1663642 Fixed a tiny bugz0r.
4c8f3d5 Made the registry dynamically reloadable as well as added a supybot.flush configuration variable.
1df9b64 Got it back workin, mo.
27b24e1 Reordred some more, changed the default of prefixChars, and fixed some older-written values.
e853325 Reordered some more.
62d2c13 Reordering stuff.
0db9d6f Restrict Alias from making Aliases that coincide with plugin names.
9bf4f35 Refactored registry to remove the Group/Value distinction.
18ce33a Shortened upkeep message slightly so it fits in a single line with the timestamp.
fe71094 It doesn't fix it, but it's cleaner.
717ee92 Catch exceptions in dying callbacks so all callbacks get a chance to die.
393a5b4 Cooler upkeep logging message. Again.
c0f3c7d Cooler upkeep logging message.
e9aac2e Made into a flatfile, w00t!
0768926 Initial checkin.
40e3c86 Forgot to re-add the user/channel databases to the flushers.
1232cc0 Fixed tinyz0r bug in _canonicalizeName.
3bd50b1 Fixed testing, w00t!
cb3f763 Oops, forgot to %.
4b10780 Eh, those things didn't need to be where they were.
5264cfb Updated.
8f68371 Updated to use a cooler config file.
07ba0d5 Added some useless little facts on exit.
b9e611f Allow an implicit supybot.
c0ea69e Made the exceptions raised give more useful messages.
84b0295 Fixed User.list.
51a4db1 Converted Alias to use the cool new preserver stuff.
6c4fd0d Oops!
e8e5e11 Changed command to badCommand.
b119f94 Converted to a new user/channel database format.
7b8b1a2 Improve supybot's handling of PRIVMSGs that start with 'supybot'
4e6fb0b Initial checkin.
0830e57 Fix the output of doctype, I don't care if we're different from mozbot.
92b2bd3 Made stdout stuff dynamically check the value of supybot.log.stdout.
651db47 No need for user 0 now; just change it to None.
ad4b794 Fixed bugz0r in handling of nested actioning replies in tell.
096bbdc Added --{from,to} and --sent options to Note.list
b943f61 Updated.
33cafb8 We want to set the log level, not minimuPriority (which doesn't exist anymore)
4f9e63f No, it really is #channel,capability now.
23c4b69 Whoops. :p
5957eaa Lots of wizard updates. Still have to get rid of the onStart and afterConnect stuff though.
03c4644 Fixed tests.
b410a79 So begins the slow whittling away at the "Condense old notes" RFE
7f2578a Updated to make the tests pass.
4a4aa6e Hopefully this Amazon.books test will be more stable than the last one.
ec32901 Fixed the test.
2b93f02 Fixed test and the names of some configuration variables.
f3fd7da Changed num to stats.
f124b72 Changed a ChannelPluginTestCase.
17b32e8 Added nicer error handling if the user does try Note.get.
02e566f Added a TODO.
8e1b968 Fixed all tests for this plugin.
55c392f Fixed tests.
781ff46 Moved some seen stuff out of ChannelStats.
941d4e1 Updated to put just the domain rather than the whole url in snarfer replies.
c101fd1 Made globalValues a group.
9e9246e Updated.
4ebbf7b Fixed all tests.
e51b41e Split Seen out from ChannelDB.
356e32c Removed the configurable test.
42d80b6 test-logS gosh darn it\!
4c94713 Removed a useless test.
009b3b4 Attempting to remove config stuff from tests.
67a97fd Added getDomain and some tests.
b592ef2 Fixed test failures in Bugzilla.
487692f Updated for the registry.
463163d Removed defaultPlugin test.
d2c6d66 Fixed failing test for roulette.
2c5e616 This episode was brought to you by the letter 't' as in 'test'. More tests are good.
2d21655 blootbot-compatibility (and cool feature desire) - moobot factoids that are like "see <factoid key>" now actually return the value of that factoid key
2beb507 Fixed all current failures in the no-plugins test cases.
59d563f Converted supybot.log.minimumPriority to supybot.log.level.
da99f93 Added search command.
ef794ae Removed some debugging logs
1e76f3a Added vee2d2's Debian.new command
731c9f0 More bugz0rs fixed.
8aa74de Converted to work.
5b2d89b Fixed that one bug submitted by jamessan about plugin.command capabilities being unhandled.
3f4a429 Must've accidentally removed addressedRegexps during the conversion to registry.
6049e4c Added vee2d2's roulette w/out ops idea.
953e79e Changed a log entry.
6ecd46b Added modes to the Channel.
b01886f Make a backup of the registry file on startup.
43d0619 We don't use '.' as the channel capability separator anymore.
a4c9d3f Formatting.
1f934bf Removed line that wasn't absolutely necessary and seemed to be causing trouble.
ec28843 Finished fixing the switch to registry.
6362a02 Let's play it safe.
c9787b2 Fixed a few bugs in the conversion from configurable to registry.
f0097c2 Remove get/set, changed it to just config.
3de0f0e Updated, had bugs from the registry conversion.
3b17c81 Changing the name from ChannelDB to ChannelStats.
e399b22 Converted Relay to use the registry.
b4d327c Removed unnecessary __init__ and die methods
fac4c56 Removed any unnecessary configure methods (ones that only called conf.registerPlugin) and changed all other configure methods to accept the advanced argument instead of onStart.
17174d1 Fixed the configure() definition. Fixed Debian.file so that something like "@debian file ntpq" actually works without the user needing meta-characters.
9423cbc Adduser works again. :) (and a small wizard bugfix)
e0f1538 Bad indent.
7ebfa3f Since when is there a reload command in Misc?
0c53779 Fixed calc docstring that I inadvertently messed up
1ad8ba4 New tests for new convert command
bc11f76 Updated configure() to only take one argument (onStart) and switched all of the onStart.append('load pluginName') calls to conf.registerPlugin('pluginName', True)
7bdf821 Fixed a bug
4e5957d These don't work yet, but I need to be able to see my other diff.
f57ceba Make sure network is always present, even if unset.
c61e0c2 Converted to use the registry.
ca06e32 Removed! Bwahahaha! LONG LIVE THE REGISTRYcvs remove src/configurable.pycvs remove src/configurable.py
9cf39df Changed the help of learn to match the registry.
43c00a3 Added a network attribute to the Irc object.
755f2c3 *** empty log message ***
7f107ff Made maxSize a config variable, supybot.httpPeekSize.
b2f5fb6 Made hierarchical.
fda68a2 Updated to add a few more configuration variables.
1f60dc3 converted QuoteGrabs to use registry
0e3a4c3 Changed the capabilities separator to ';' since we use ',' in the actual capabilities.
3e2f3b7 Added tests to reflect the changes to pluralize() and depluralize()
214b796 Initial checkin. These don't work, but I figured I'd add them anyway.
a6e8685 Added blank line. I don't remember why, but I'm tired of looking at it in CVS diff, and I'm sure I added it for a reason.
aabb617 Updated the comment in the templated configure.
78d4c39 Forgot not to import configurable.
10afe5b Removed bestuptime.
e7c019e Updated to the new registry dealio.
3f310ef Added a Regexp type.
64f4013 Updated to use the registry.
a53819a Fixed some bugs left over from registry conversion.
0509705 Updated to use the registry.
0627cb9 Updated to use the registry.
ca09420 Updated to use the registry.
dbcbdb7 Huh?
1f76272 Removed a URL.
bd066d6 Made do001 more robust against failures loading.
3bac853 Some slight updates.
363fa7e Changed to notice, stuck an extra empty line in.
385d803 Fixed multiple logging of repr'ed msg.
048db92 Fixed no-help case in Config.help.
5b4b7f2 Oops, forgot a return.
46e6fda removed stupid print statements
69f4041 *** empty log message ***
778f382 Filled out the module docstring.
215a2b3 Changed to registry.
8100958 Forgot to set the default in GroupWithValue.
578fca2 Deprecated the Friendly plugin.
a54e5a6 Added --groups to list; more tests.
8f4483b Stop using cgitb because it's stupid.
1d43b84 Initial checkin.
ecf9ed4 Typo
3624267 Oops, forgot to commit this.
847b53d Fixed some bugz0rs.
26355a6 Spelling/grammar fixes.
ac2b048 Fixed a capitalization bugz0r.
1130baa Updated a whole lot of documentation.
b9abf84 Removed killProxy, which was never used.
b8f497a Removed useless comment.
73a6601 Added optional 'to' handling to translate.
64b3683 Fixed capitalization bug in @seen.
b94a7a3 Made defaultplugin use the registry.
977d7a2 First functional commit; units.dat placed in file & read with StringIO.
f36113a New convert command uses convertcore.py, plus updated units command. Additionally, _floatToString now slightly more lax in checking "near enough" to zero, and uses same check for "near enough" to int. This was done so that convert [calc 2*pi] rads to degrees equals exactly 360.
78eafe3 Fixed the sqrt bug submitted by kmj.
f3b49e4 Added cyborg.
75ef763 Factored out _floatToString.
fbf417a Improved the default supybot.replies.noUser.
4308350 Updated slightly.
7202aa6 Some updates.
c4bb732 Moved StringWithSpaceOnRight to registry.py.
e189ec2 Added some handling for 'try' in the pluralization stuff.
c62702c Foo!
89dadb7 removed the configurables I had forgotten to remove
d5bb45e Modified it to work with the new config scheme
3327eae Updated, fixed a bug, started on dynamic reloading.
734fc71 Made list not show the full name of the registry entry.
f1ac644 Small update to normalize whitespace of prompts.
8f1d5bb Updated.
b6dac88 Added a mini-wizard for people who run without a registry file.
108bbd8 Factored out _floatToString for kmj.
aa426ed More, better workaround for the mx.DateTime suckiness.
46ec7d8 Oops, missed a "return" causing "seen --user idontexist" to double-reply.
bdafdfe Cleaned up a few logging messages.
5ac4a56 Oops, wrong variable name.
87c26da Fixed capitalization bug.
bb92d8e Converted to use the new registry dealio.
e9b8c40 You don't need global unless you're reassigning the global name :)
27639a9 Added registerGroup.
ac8bb2e Removed the reset command. We can nest default, if we want.
8cc8bba Made do001 handle already-loaded plugins (like, uh, right after reconnecting...)
fea97c9 Handled non-existent helps.
52bdcaf Converted RSS to the new registry dealio.
1714359 Added an extra assert to testString.
0cb2be6 Updated.
58332ad Added several new types for better error checking, converted supybot.channels to be space-separated, and made Admin.{join,nick} Do The Right Thing.
bd47403 Made registryValue work with dotted syntax.
b2b9f64 Reimplemented CommaSeparatedStringType in an extensible manner.
4b8df59 Made to annotate by default.
114f9b3 *** empty log message ***
03e3ad4 Added a little extra error catching in irclib.Irc.takeMsg.
19e9d86 Added an annotated option to registry.close and a fullNames option (to be used later) to getValues.
0e1b692 Workaround for sqlite stupidity.
2963fd3 Add some tests for Sf.todo* and make a little TODO for anyone that's interested/me to remember
7336a4c Someone forgot to convert the testsuite when FunDB.num was switched to FunDB.stats. Took care of that and updated to use the registry.
75b6da8 Clean up the registry calls
e9f77d6 Clean up the registry calls
c3173fe registryValue was missing a little self loving
0cd95c6 Added supybot.reply.noCapabilityError.
e8bba56 Added supybot.reply.detailedErrors.
e88f2e5 Set defaultcommand for help to be Misc.
03647ce Added supybot.threadAllCommands.
4b10839 Changed channel capabilities to use commas.
23c2640 Made test-conf if it doesn't exist.
393dbf4 Removed Interactive driver (heck, I don't know the last time I even looked at that code, let alone used it).
7684da3 Added note about eval() uses having to be approved by jemfinch.
c98ac09 Initial checkin.
302f824 Made splits more flexible.
f161f9d More wizard workage. Seems to be working pretty well right now. :) Removed 'plugins' from the default list of plugin directories. Th's up to the user to decide. Also some possibly hackish use of the _cache again but I see no real way around it.
26c4bcd Juggled some parentheses around and added registryValue to callbacks.Privmsg.
da3c063 Changed eval/exec so that they never even get defined if conf.allowEval isn't True.
17fec22 Removed unum from setup.
39856a6 Tried to make sure Ircs and Drivers get nuked appropriately when they die sadly.
d77bd96 Oops\! Made supybot.replies.success into supybot.replies.error. That's one way to confuse people :)
67db74e Made sure to catch exceptions in takeMsg.
68c4ca6 Factored invariant checking into setValue as appropriate.
b8d73d9 Possibly a bit hackish, but we use registry._cache here to preset some registry variables so directories the user doesn't want don't get created by conf and log and to prevent log from logging anything non-critical.
7837ee2 name() is defined in IrcCallback, parent Class of plugins. Can't be used.
3936afc I don't know what the difference is, but CVS tells me something's different.
6748dc2 Converted to use a global value instead of a channel value.
201f11c Updated for the new registry dealio.
28a79d4 Whoa...really dynamic class stuff just to make sure a default-created-but-not-overidden value in a GroupWithDefault doesn't not get set blah blah blah...
5d21f69 Reordered stuff for the LogLevel change.
81a40ee Updated for the registry._cache change.
17804c9 Updates!
a3c1b87 Cache is not a public variable and should not be used.
894c9d6 Revert accidental rollback of name to username.
fe23675 Made setting supybot.log.minimumPriority set the actual level being logged.
9997042 Added Sf.totalbugs and Sf.totalrfes
144a5bc Made replyNoBugzilla a registry variable
886e447 env is your friend
5f82d72 Updated to use registry
0b11192 Updated to use the registry.
6831daf Brain fart
97eadb6 Can actually search with Google now that google.setLicense is being called. Also, maxiumum-results -> maxiumumResults to prettify the function calls.
006909b Converted to use the registry.
a7559f3 More work on the wizard. Removed allowEval. (somewhere else?) Still a couple of FIXME's. Added a function to prompt and set registry values to questions.py.
9ce0e7d Updated PositiveInteger.
a8c3d67 Convert Google to using the registry which required adding PositiveInteger Class to the registry.
bb97cb3 Updated not to set the supybot.plugins.Dict value when it registers the plugin.
cc672b8 Changed the order to its original order.
8228f7d Forgot to update when registerPlugin moved to conf.
4fa547c Updated the configure function.
fd132f2 Added setdefault and get to IrcDict.
0081c27 Check that channels are valid before trying to join them.
9c0b26e Updated to make setting channel values and global values easier.
946f686 Added an extra comment.
8424761 Converted Dict to the new registry format.
0b62247 self.open() needs to happen *after* self.filename is set
224cacc Fixed several bugs and added the replies rich reply method.
fca57c9 Unneeded, w00t!
24ff1a9 Except that registry has to come before conf
4ea29eb Proper ordering of imports
6ff6fba Made an error message a bit clearer.
c96b0f6 Reduced several log.infos to log.debugs.
4df1011 Added Config to the default list of plugins loaded.
dc87ed2 Added log.timestamp.
6950f65 Topic sync has broken one of our invariants.
fccf2c4 Modified supybot-wizard to work with the new registry... somewhat. It seems to work and generate the config file which right now defaults to supybot.conf in the current directory (which will be changed, ofcourse). Moved some of the wizard's stuff to questions.py and cleaned up.
9aede17 Changed not even to define eval/exec when conf.allowEval is False.
b63d48f Reduced maxDelay from 10 minutes to 5 minutes.
eb217d8 Changed num to stats.
9f2013d Changed username to just name.
bc789d6 Forgot to import ircdb.
f12c1ba Made tell not tell lobotomized channels.
81339b6 Allow no registry file to be specified.
6ca7892 HUUUUUUUUGE Configuration change.
b18ad35 Made a stronger attempt to make sure the registry file gets written.
5b120d3 Initial checkin.
79fb00d Fixed bug #878955.
7c96752 Case insensitive.
dddf1d2 Removed a debug message.
1572ccf Typo I presume :)
29426e2 Moved isIP* to utils from ircutils.
b2f23c6 Updated the rest of the code to use utils.changeFunctionName.
8a322cf Changed from being globally threaded to just threading the email command.
f5ec8f1 Refactored, and made sure Privmsg.callCommand doesn't catch exceptions.
27100c6 Fixed to make sure all spawned threads set the callback's threaded attribute in the meantime, as well as changed to use utils.changeFunctionName.
cd5a1cb Added changeFunctionName to be used elsewhere.
8f53601 Added test for no escaping WebError.
1e15c4c Partial fix for bug #877601, I'll do the rest in class.
8164f5b Partial fix for bug #877601, I'll do the rest in class.
38e8c33 Stylistic updates.
4cd70bb Added years and weeks to seconds.
fd294fa Added special 'me' handling to tell.
83cc313 Increase timeout to 2 seconds.
19a63ef Handled deprecation in tests.
942d67c Changed a %s to a %r.
69f8c40 Added deprecation support.
11908f5 Simplified quit.
a7ba5a0 Made world cleanup drivers, too.
63c64af Fixed double-killing ircs problem.
3c25e6f Make _make... __make...
da0cf9b Added a few more methods. I think we're going to have to make Group.__getattr__ return the Value holder, not its .value attribute.
d283985 Removed tempvars.
b072772 Updated, added a test for errorReplyNoCapability.
2a60ba6 Clear exception info to make sure things get collected, just in case.
74961db An attempt to prevent the ugly exceptions from being raised on quit.
69f61d7 Updated.
4a28fd9 Tweaked an error message, hopefully fixed the reconnecting problem.
cbb015a Handled the ugly "timed out" error message.
4db8dfb Catch an exception uncaught before.
d33c533 Removed set and unset, since they're not used at all by anyone.
a61b5b8 Added storing of the default value to Values and GroupsWithDefault.
fbcec1b Fix the 'No high bidder' bug (#876914)
9f1af0d Fixed quit to note that it doesn't *really* take an argument, and to say who the bot was quit by.
80da030 Changed the HangmanGame class a little and how a game works.
eee9b5a Made revision accept a .py at the end of the filenames.
d18d6b6 Committed the fix for the bug mentioned by Flumminator.
0ddb356 Changed the sorting function.
3319e25 Added writing!
fe0e5e9 Fixed uncaught exception on messages with just spaces.
8224996 Bugfix!
1a824e4 Added loglevel RFE.
2ea1810 Updated to allow help-getting.
2098484 Fixed a bug
18c49c9 Fixed case sensitivity on quotegrabs list. Again?? I could have sworn I fixed this already once! Doo-doo-doo-doo doo-doo-doo-doo doo-doo-doo-doo...
3d0b8dc Updated to let GroupWithDefault have a .set() that works.
f90adb5 Initial checkin.
8eb9eff removing debug code is good
6c1e115 Finally put a small band-aid on the sourceforge functions. Now one can specify the search type, but you'll still get an error if the bug isn't on the first page.
6a48344 I don't know why I named it _res in the first place.
bed5624 Oops, had to change a self.log to just a log.
94c2d9f Added bug #836270 to the BUGS list.
8039679 Added a dot.
9d7c1a6 Make it so that ACTIONs don't get added as factoids
13e0447 Added bug #874038.
75d5298 Remove some tabs.
65b139d Changed slightly to use nonCommentNonEmptyLines.
992781c Changed permissions
4452ca8 Added functions for reading non-comment or empty lines of a file.
90b4e8b Add me!
3c47dc9 I can't find why the hangman test fails.
5749355 YABF
9f96715 Fixed a typo in a variable which caused an exception
049839c Fixed broken URL.
27151f6 Fix for bug 873896
3e93599 Fixed bugz0r in errorNoCapability.
cb73cc3 Add some logic to the wind chill/heat index regexes so that they don't grab N/A and clean up the construction of the index string.
69aaea2 Moved base command to Math (from Fun) and added a test for no escaping ValueError.
626958b Change the path back to normal and switch irc.reply back to how it should be
585eb4a Oops, still had a msg!
e5689da Changed the logging of actual messages to debug, not info.
1c2bdcb TinyURLs are now 24 characters in length
db16ba3 Guess I should make sure I delete the debug line and not the code line
c6a6fd4 Teaches me not to compare strings like they're ints
57b038e Make sure seen doesn't warp the case of the nick given.
f453d10 Added a few asserts (the same one three times, actually) to catch old code with a clearer error message.
1c03464 Huge commit to finish refactoring of replies.
5700a69 Used Words dbHandler variable and fixed a couple of bugs
845142e Updated replyNotRegistered stuff.
2846b4a Updated more replies.
099b8bc Updated some capabilities stuff.
2591848 Moved a couple of methods from Words to HangmanGame
b44c7b5 Cleaned Hangman code: - Made it work with the Word db - Used a HangmanGame class instead of a dict for states - Changed lines that were too long
530aec2 Updated the reply infrastructure. No more msg, it's just not necessary.
1863c8b Nice ChannelDB...
731b95a Changed a few Nones to 'unsets'.
88cc041 Updated.
1132c63 I forget what I did.
ed77484 Fix for isIPV6 on platforms that don't support IPV6.
aa7408c Changed over to the cool new RichReplyMethods stuff, mostly.
2fce1dc Added a note.
ebacb99 Forgot to update for the Fun/Filter split.
6645679 Removed a flaky, useless test.
eb0251c Oops, forgot to remove stuff from Fun.
a6ab624 Moved Filter stuff out to its own plugin.
d5aeefe Moved Weather to its own plugin.
4b9c025 Oops\!
81202eb Fixed bug #871986.
d6e9eaf Don't call invalidCommand with CTCP messages.
58d86e7 Added Hangman
989783c Just in case, let's add a reset in connectionMade.
e9eaff8 Updated.
f4127b6 Added bold configurable
0d25243 Added configurables for smileys and frowns.
85e0783 Added RFE #871165, doInvite for Admin.
8d6956f Add a check for an int id so people who use 'note get' will understand the error message more.
553d7d6 Inital commit.
ce93c28 Oops, forgot to change the name of the defined function.
e8f3b64 Fixed some bugz0rs.
4dd0e26 Added configurable prefix to new news item announcements
626038f Yeah, let's make the RIGHT fix this time
12842c6 Fixed a boo-boo (missing ')')
72f2e66 Proofing docs/
09dfe24 Fixed bugz0r with nested commands in Scheduler.repeat.
17c6e69 Don't replySuccess from Scheduler.repeat.
f1a68ff Moved seconds command to Misc from Scheduler.
d9e4cef Initial checkin.
b2c1566 Fixed!
05ff7d3 Initial import to workaround the stupid __del__ methods.
8fc6502 Added a bit of extra protectedness in PeriodicFileDownloader._downloadFile.
332a182 Doesn't matter now, but just in case...
d27fa33 Added an extra assert.
80bab37 Oops, gotta self it.
ab27174 Essential canonicalNaming was not being done.
22767c2 Added an extra log message or two.
2dbbdb7 Changed the type of the topic-separator configurable.
a4507d0 Set dying during quit.
4e69914 Made to relay actions and away messages.
8260958 Updated.
881a2e0 Stylistic updates.
a10900d Made throttling work correctly.
bb74f51 Fixed several bugz0rs.
e989cd4 Added an additional logging message.
a5bfb61 Added RFE #799694, Automatic posting of new RSS news.
da1d09d Added a few more types, fixed help to include the current value again.
c88a7c3 Backing out canonicalName in isCommand.
9453c89 Removed some debugging prints.
ef4bff5 Made isCommand use canonicalName and added getCommand.
669ac89 Moved _urlRe to webutils as urlRe.
61eb55f Added checking for ops and actually being in the channel to getops.
f515bd3 Removed, it's not very useful anymore.
a065477 Changed get to just plain note, as per RFE #869628.
95c2098 Added some extra logging.
18b06db Fix for findBinaryInPath test.
c4a122d Fixed bug #869652.
7e4cab7 WHAT'S MAH NAME??
7c8892a Fixed.
44aebd9 Slight style update.
ed5f89b Added some extra logging.
1948402 Fixed a minor ui issue.
680729f Fixed bugz0rs.
b0559e3 Added server command.
14eff0f Fixed problem in do002, splitting the wrong arg.
e9c67b2 Finished the nuking of VERBOSE and PRINTF.
68591b1 Fixed bug #868338 (Relay.whois).
a0d2a9d Fixed bug #863808; added isIPV6.
8b6733e Fixed some bugz0rs.
a58e5b9 Fixed some tests.
7955f65 Initial checkin.
e869cf7 A little logging change.
542259f Added options to kban.
5502794 Added docstring to disambiguate, fixed some bugs.
4b3b245 Made addressedRegexps and Regexps not run if there was an error. Also slightly refactgored handling of errors in Privmsg/IrcProxyObject. Also fixed spawning of threads to set the callback's threaded attribute.
34d0cdc Added tons of new Types and globalConfigurables.
8a73924 Allow a comma separator in the en masse plugin addition.
e1b0d7d Removed printf and verbose. Just use debug instead.
1f441c5 Forgot to return the name in addEvent.
87f3c2a Added the --nonetwork and --noplugins flag.
1c05266 Initial checkin.
d5ed1e7 Guard against non-existent spell/fortune/wtf commands.
7cf2743 Be more appropriate, since not all OSes have child time.
dea580d Kill the empty line\!
a477824 Removed a (now) useless test.
bcbfd21 Made matchCase its own available function.
8366d74 Began **kwargs'ing tests (with getMsg).
c0e219e Initial checkin.
6393a0c Better handling of unknown memory thingies and proper handling of Darwin and changed memory to RSS and stuff like that.
526f8d7 Make sure to relay actions and away messages.
a247e2f Better error handling for calc/icalc.
2f55345 Added bold and maximum-results configurable.
8399529 Removed trailing periods in larts and praises.
8070401 Added learn-separator and show-factoid-if-only-one-match configurables.
c331bcf docs/GETTING_STARTED
5de5653 Updated.
a47a7de Updated schema and whatnot.
92ad8bf Fixed indentation bug.
629dd86 Fixed lack of case-insensitivity in randomquote
f886d65 fixed another .0 bug
6000b1c Fixed a few places where int()'ing COUNT result cols was required
bf3b4a0 Added test case for bug #866178 - invalidCommand called when addressed with nick for karma++
7b0af3d Fixed a _really stupid_ error message buglet. Man I suck sometimes.
cb5c22c Made pinging the server optional.
38b9cfa Adding a test to make sure that bad nesting errors out completely and doesn't call things like addFactoid.
29cdcfb Fixed #862667 - floats in 'karma most' output, also made the number of items shown with 'karma most' into a configurable and fixed a typo in one of the other configurable descriptions
1474c16 Fixed #862645 - unquoted spaces getting sent in HTTP request
b6c780c Updated to the newest version of feedparser (nee rssparser; we kept the old name).
36b6821 Set the default timeout for all sockets to 10 seconds.
e3661e3 Removed assertRegexps and assertResponses, added RFE #836316 (target keyword) and frm keyword.
bddac5c Oops, shouldn't have made self._whois an IrcDict.
b995b2f Fixed a kernel bug which only happens when either one of the stable or beta kernels isn't listed on the page and also fixed the geekquote tests to match the new behavior.
7ce4ab2 Added titleSnarfer (RFE #842238).
29b0e20 Added followIdentificationThroughNickChanges for RFE #845346.
3334180 Just in case.
bbafb42 Added conf.replyWhenNotAddressed for RFE #859183.
eca7194 Minor code cleanup.
d9fcd25 Oops, removed a log.
751090a Some kind of little cleanup. There was a pluralize call that used the wrong order for its arguments.
a3edca4 Workaround for bug in cgitb.
d413607 Forgot an import.
fd01a22 Changed some logging messages.
6df8eed Caught a previous uncaught exception.
7b983bc Added some better logging.
4a6ac27 Added a configurable to determine the number of things shown in the ranking.
a63d175 Added memoization of hostmaskPatternEqual.
4472822 s/callback/plugin/g
c1f8812 Added an assert.
a12c420 Forgot a return.
cf80ab7 Added Relay.command.
8636352 Minor changes.
7036073 Changed zegrep to zgrep -e.
bb4d9af Made more platform-neutral (ironically).
db8d18b Oops, forgot to commit this with the case-insensitive more changes.
54102ae Stupid vim! Didn't show my my syntax error.
d168314 Added a little better checking to the spell command.
6a67460 Fix for bug #859630
dfe9008 Oops, I'm retarded. f.func_name needed to be just name.
35ecd7b Closed #860139 - including wordstat count in stat output as well as rank. Also made it so that if your name already appears in the top N results that it doesn't append that rank stuff.
0002861 Removed legacy dependency on the debug module, following the example of the 1.21->1.22 changes in supybot-wizard
be44ed8 Add Bugzilla search
40cac59 Updated version number.
2b8bd98 Updated.
0fbfe32 Added an appropriate error message when acronymfinder.com cuts us off.
590c9c6 Made help handle defaultplugins and whatnot correctly.
e485984 Make sure the ban length is an integer
42ce8c3 Swapped the argument order for utils.{pluralize,nItems}
f4f91bc Removed --exact searching, made to search keys, not values by default, and added --values switch for searching values.
06c85f5 Removed --exact.
c922957 Changed got376 to afterConnect.
a551c32 Just an early start on the more complex stuff.
c432a93 Try to prevent the ping loops we got in earlier.
8f777db Fixed bug #858008, and a fix for another bug that invalidCommands that raise an exception stop the whole process; now it'll continue to later plugins.
627dd87 Now globs will actually be globbed
318b9d5 Added Lookup.search
e196650 Fixed some grammar errors
f592aab Fixed bug #857299.
b7fbaed Made sure it doesn't relay CTCP messages.
3f6d347 Added isCtcp.
2e5b900 Todo.remove stuff
0c3c37b Now Todo.remove can take multiple taskids to be removed instead of just one
c6d77bb Added a topic-sync configurable for determining whether or not the bot should relay topic changes.
7f7562e Allow ambiguous aliases.
94cdec8 Oops, should've used irc.error...brainfart!
da6743b Added appropriate error messages for Admin.join when the channel can't be joined. Also added channels command to see what channels the bot is in.
9678560 Made configurable.
5980afc Made URL easily changeable and changed it to advogato.
091be13 Spread out some tests, made action error on the empty string.
f989479 Topic.reorder, Http.extension, and Relay.whois info
3978be5 Fixed bug #856997.
ae44a33 Put the new module in sys.modules, just to be safe.
a609994 Fix for bug #857054.
b4ffe24 Fixed it to reload Owner and Misc as necessary.
8df0b38 Nicer error message.
3ef5f54 Clarify the docstring for privmsgs.getArgs
66ec4ab Improve some error handling and test some more uses
9ca2732 Just to double-check that indexing checks and unique topic number checking are done properly.
15a2b84 Yeah, for fixing code that wasn't the cause of the problem I was trying to fix. Lemme put that back to normal.
f4995b4 user->nick change for Relay.whois
76e20b9 Got rid of another urlopen call
05238bf Topic.reorder: Fixed some bugs found via jemfinch's new tests
88581d9 Added utils.sorted.
0aa5f2e More tests for reorder.
8fe7d7e Add identified status and away message to Relay.whois
03aad17 Added Http.extension
d91cc33 Added Topic.reorder
8fb158d Robustified.
c8da4ad Removed a conf.replySuccess where one isn't needed (in unban).
4c64ffb Changed some logging messages.
e770054 Nicer exit message :)
dbc7df7 Had to import log after we import conf.
088d350 Fixed bug #856621, fixed the commented-out minimumLogPriority question.
8997261 Updated.
588d8eb Updated.
ef3ea98 Guarded test_Amazon against not having a license key.
daf8177 headers conflicted with a command name, so it's now called trheader
ec16d3a Reverted a version.
5d9ecea Fixed bug in Poll.add, it didn't handle sqlite returning a string.
60797f7 Handle p.d.o being down gracefully.
1608d25 Make sure that {data,conf,log}Dir exist so that we can write files to those directories
2105be8 Fix an oopsie in the Poll tests where I was trying to close the wrong poll
533426d Let debug be gone, replaced by utils
6b5d32c Removed an old comment.
fe9bf97 Change changeusername to changename.
fc1fc32 Debian.incoming: glob is now required. Change glob behavior to match the rest of supybot's globs.
607793b Added Amazon.books and Amazon.videos so that users can search those products by keywords. Added tests to match.
946d9b2 Http.weather: Cleaned up some regexes and added proper checking to re.search result assignments. Added reporting of Heat Index/Wind Chill if they are different than the actual temperature.
d59b302 Added test for active/inactive in Todo.todo.
7d7e396 Converted to use a DBHandler.
836ef99 Converted to use a DBHandler.
028f25e Added questions for replyWithNickPrefix and replyWhenAddressedByNick.
31a5e2b Added an assert to prevent improper usage by inexperienced developers.
0719b5e Stylistic changes.
ead91da Tightened up the restrictions on User.hostmasks, also required privacy for it.
be7a292 People should be able to get a todo regardless of its active/inactive status.
2ec9748 Renamed replyWhenAddressedByName to replyWhenAddressedByNick.
2fea3e7 Fixed RFE #855159.
f6f46f6 Fixed bug #855014 and added RFEs #855453 and #855454.
8727e62 Fixed several latent bugs, made much more robust.
b91a1b8 Oops, shouldn't have committed, a stray underscore got here.
12fff19 Added a comment.
1dfca18 Added another case to except clauses for Connection Reset by Peer.
d064186 Changed \x02...\x0F to an ircutils.bold.
a36f81e Handled detailedTracebacks again.
a23fbcf Handled the case where nickmods got all run out.
bba1d27 Final changes in preparation for release.
aded21c Reordering in order of end-user importance in anticipation of a release.
99782d0 Added another check for setprefixchar to make sure it returns when it hits a bad prefixchar
2e4ecfe Fixed a bug in setprefixchar where things would get wonky when trying to set an invalid prefixchar
9269040 Added tests for multiple regexps and regexp+glob.
f26115b Fixed bug #853654.
5a6b532 Fixed bug #854232.
f8f0333 Changed the order of three statements so Owner can't get loaded twice.
40dcc0e Changed a log.info to a log.warning (more appropriate).
f85a069 Oops, the old logic for starting option ids at 1 was bogus.
ef6e12a More poll tests
c7f50eb Added some poll enhancements
9873981 Updated deop/dehalfop/devoice to work by default on the sender of the message.
56b68d6 Fixed bug #853904.
41fd7c7 Added icalc test.
3606658 Updated.
c8783e5 Added an icalc command for doing calculations with real integers.
e46765f Added a trusted capability (defaulting to off); made Utilties.re require it.
978fcc2 Added a commented-out test I never got to work.
417f57f 'Fixed' bug #853791 (really, just fixed the error message).
8242302 Updated the logging of various things that need logged.
5fb21b5 Eh, sorted some output.
5300ca5 Changed the format of Channel.capabilities to match User.capabilities.
fd97e8d Fixed bug in that you could add over top already-existing commands.
0857e3a with Sourceforge.bug and Sourceforge.rfe's powers combined, we have Sourceforge.tracker!
93d3d78 Commented out some debugging log statements (yes, I realize they were in a huge comment block already)
69ce95d Add a forums link to our navbar
fa1c70b Finished flushing out Amazon's use of the web services. Added actual tests to the test suite and updated pyamazon from 0.4 to 0.61
a74d1d5 Added a little extra logging.
1b462c8 Added a few more substitutes and allowed a few more names to be more compatible with blootbot.
cebcf5f Initial checkin.
4aa05c3 Added ping command.
3398f1a Made the error message better when people try to run a plugin that requires sqlite and they don't have it.
2aaca31 Moved Configurable out to its own module.
6925ecf New hostmaskPatternEqual that's a bit more correct and perhaps slightly faster.
1f38ac2 Removed timestamps from stdout logging.
95fc453 Added some tests for hostmaskPatternEqual.
05ab09b Fixed to re-raise errors appropriately.
bb154e0 Updated some format, didn't log some messages when the world is dying.
8fc9b00 Don't log the 'scheduling reconnect' message if the world is dying.
32eaa11 Some better logging.
bc70835 Make sure to normalize the whitespace on help.
e23bf41 Use items() intead of iteritems() because we're deleting from the dictionary.
8cbcb2e Added some informational logging.
7accc31 Fixed the 'Alias raises a buttload of exceptions' bug.
246afc3 Made it not depend on Alias anymore.
c6b232b Made to require admin capabilities to add/remove lookups.
ed5fede Added Note.unsend command.
43a890e Added kick command.
4726fdf Made sure the pluralized power commands don't get run with no arguments.
e4d9f6d Added some asserts to the pluralized power message functions.
b2f9825 Fixed bug in handling of pages less than maxSize but with no Content-length header.
39ab2b7 Added Channel.{deop,devoice,dehalfop}
7f3cafb Fixed ops, deops, halfops, dehalfops, voices, and devoices.
8e7416f Limit the number of mores to 50.
902ff30 Removed an extraneous __revision__ string and import fix.
890d2a5 Added an iteritems to ChannelsDictionary and made it into an IterableMap.
0f3dcf0 Added Http.size, Http.doctype, and Http.headers.
7b9c0cc Changed the name of WebException to WebError.
b6faf36 Added test for the wordstats-top-n configurable
42afa12 Time to *really* finish up the stuff in the RFE and not just close it without completely finishing it off ;)
31de7d0 Fixed bugz0r!
2046e63 Made to use the conf.confDir.
e9b20c8 Fixed bugz0r!
f8ea57b Added RFE #852937.
d4442a0 Slightly tweaked, added test.
fe9468c Always bet on black!
5dfb00f Added lobotomies command.
fd06e1c Changed to use DBHandler.
2f7d2d7 Gave DBHandler a .die() method.
77a8d8b Added swap to rpn.
1d54f0e Handle the case where the suffix is in the name itself.
882b872 Made defaultplugin show the default plugin for a command if not given a plugin.
ee5de6e Made sure to depluralize the command name.
6e46263 Cleaner line break
7a418a1 Damn, it feels good to be a ChannelDB
949ea7a Made utils.pluralize a little smarter.
9277d41 According to pysqlite 0.50.0 you can have a fractional number of items in a db :(
1ff4465 Intify the stupid help.
1b8d655 Added help strings to lookups.
64499fd Updated.
f9adc0d Made the separator a configurable.
ee8be5a Stupid SyntaxError!
b5f6155 Changed to be a ChannelDBHandler.
1f4c163 Should be able to reload Relay now, but it's untested.
8e624e6 Fix for bug #852350. This should work, and it explains why I've never encountered it myself: I don't have mx.DateTime installed. Now we just make sure sqlite thinks *everyone* doesn't have it installed.
2a9d9d1 Reworked so there's no double-import problem.
da92309 Fixed bug #851661.
f23d8b0 Added some extra logging.
bc56a8e Handle errors in getUrlFd properly in Http.kernel.
f370f1c Updated.
1aaf611 Made sure the fd gets closed in Http.kernel.
aaef8cd Webutilified.
5549322 Fix for bug #852422.
2f1c841 Added getUrlFd, used it in Http.kernel.
4e5e568 Fix for bug #852433.
b473532 Made last default to the current channel.
f65b3cd w00t! we have more than 1 command
9fe682f I have the *power*! ... of webutils
1fa9e8c sockets, they do a body good
53b9a47 I canno' do it capt'n. My irc.error doesn't have a msg
a0b0999 Apparently the pigs at hamweather think Tsra == Thunder Storms. I didn't find that to be very obvious, so I added a little .replace() to be more friendly
b1f0bbe Shouldn't have taken out the callCommand when I converted to webutils.
8d9ed6b Added webutils module; used it in Http.
17d9a59 Used cgitb instead of the default exception printing.
9264b63 Added most command.
b39e123 Added __iter__ to UsersDB for a cleaner interface.
e34d9de Fixed RFE #851183, ircdb.users.numUsers.
71bd9ed Fixed RFE #828722 and removed Lookup's dependency on the Alias plugin.
602f926 Fixed RFE #828722 and removed Lookup's dependency on the Alias plugin.
c8de1e8 Made the string of flags that require an argument an optional argument so you can parse the flags for some other purpose.
3179a8d Fixed the case problem in User.list.
9788815 Added tests for globbing ability.
8ff3472 Added User.list command to list registered users.
97b8bab Added User.list command to list registered users.
4c4fbac Added User.list command to list registered users.
23d81ec Removed pydoclink (whose idea was it to add that useless command anyways?) /me hides
b6dd266 Re-added colored stdout logging.
f240115 Changed the name of cpustats and netstats and cmdstats to remove the stats part.
35df9e1 Added test to make sure overlong regexps don't slip through.
3aa6faa Some code accidentally code committed, a useless function.
24f95e6 Small efficiency/readability fixes.
efa81e0 Fixed SyntaxError.
ca6ebdc Added some extra logging of eval'ed expressions.
cada17e Added logging of the regexp and originator, in case of abuse.
fb2d9b7 Various re fixes, including bug #850931.
42e4353 irc.error()'s need a msg
b0fa844 Added pydoclink, a command which returns a link to the current documentation for the specified module
76c4dfc cleaned up a couple of pylint warnings
3adad29 Removed extraneous paren
7bdf105 Added test for reasons' period not being kept in the actual lart/praise.
068003c Added tests for Bug #850931.
72f9361 Fix for bug #851254.
e15d15f Made sure Http.title doesn't read infinitely.
0b0d10f Removed periods at the end of the reason.
a40742e Added the id of the just-added todo to the reply.
b0fa390 Added the number of people to Relay.names.
13b718f It's probably a lot more useful to list the most popular options first in the results.
ea23b47 Did a complete rework of the poll plugin.
d5c9873 New logfilesize.
8ee09a0 Set the minimum priority.
e187479 Fixed crossword bug committed by Xylo.
41ab058 Changed the priority of the ignoring logged message.
d9cac7b Removed.
48166f4 Huge update to the logging infrastructure.
c97fe5e The configurable help message now includes an example.
1999cb4 ddipaolo-- (hey buddy, next time you might want to actually update the configurable item's help string when you copy it from another module)
89857d9 Made Karma a configurable, added the 'simple-output' option to forego all the 'increased/decreased' output when requesting something's karma and to just return the name and the total karma.
8dc24b2 Implemented usability fix (RFE #849691) where if listkeys returns only one factoid key, it should just return the value.
d64f531 Fix for bug #849619.
23968ba Fix bug #849302.
a524d72 Removing our custom urllib2.py because the python2.3 urllib2.py apparently fixes the bug that was holding us back earlier.
130f30c Completed the implementation of handling google groups URLs with 'prev=/' in them
d7dfff7 Added __revision__ strings.
c151c77 Made Admin the default for {add,remove}capability..
e6ec71c Added some comments, updated for the change of anticapabilities from ! to -.
574c861 Fixed bugs with stupid contractions in NickServ notices.
a763674 Added server attribute to Irc objects.
e4db34d Twisted driver had no die() method.
adfb3e4 Oops, had msg instead of response in the verbose printing.
5564e43 Added ability to configure showing of ids on or off.
4770ef1 Added the to= keyword argument to reply.
e65dcaa Allow more time for connect than for normal reads.
77393f8 Fixed bug in identification/doNotice code that would cause an infinite loop if the stupid services on the stupid (coughoftccough) network use a contraction.
533b6ae Updated.
2c779bd Changed Alias.freeze to Alias.lock.
6d3cb48 Fixed uptime sorting.
a3aeaee Updated tests for another unavailable game.
28cd12a Updated.
3e5ff45 Oops, $ is parsed in the ChangeLog :)
86524fa Added revision command for finding out the revision of supybot's files.
210809a Fix for bug #848475.
86b41dd Allowed escaping of colons in supyfact files. Didn't allow escaping of backslashes, yet, but that's less a worry, I think.
4cb4960 Stopped listing the plugin dispatcher command in the commands list.
a4284e7 Added __revision__ strings.
1687b3f Wasn't using an IrcString for the chanserv nick.
5f4a541 Added __revision__ strings.
6ce845f Updated to include strings in @objects output.
4e273a2 Fixed some use of regexps, commented out a test that was failing because a game expired.
a966513 Changed commit behavior of UsersDB and ChannelsDictionary to commit on setUser/delUser/newUser and setChannel, respectively.
1507ff8 Updated.
79e28d4 Added a test to test_Http.py in the weather section that I forgot to add with my previous commit.
aa19f78 Fixed one s/needed/required/ in EXAMPLE and updated example.sgml to match the current EXAMPLE file
0a13904 Added an additional check to weather. Fixed getting a single argument that coudl not be found properly.
f53c92c Fix for bug #847950.
2cdd239 Fixed an UnboundLocalError caused by forgetting to assign a default None value to some vars.
dc2c9c5 Made __iter__ equivalent to iterkeys in IterableMap.
bd15dad Initial checkin.
d338789 Fixed bug in acronym showing the header, added a test.
d05a9a3 Updated for newly tweaked acronymfinder page.
d1bbb01 Poor attempt to fix the 33 years bug.
f7d5be5 Explained the sf alias and its usefulness.
45de360 Added note about included botscripts.
d618e9e Fixed logic bug in prefixchar questions.
e6ad161 Be more lenient about non-existent pluginDirs.
dfadfe7 Made Configurable store its data in human-readable/editable form.
1d95410 Fixed introduced bug in that callbacks.Privmsg.handled wasn't set appropriately when a command was called.
6ae0a0b Made configure handle comments and empty lines.
27ce1d3 Fixed an uncaught exception in configure.
877d376 Restricted the characters that a prefix character can be.
7642def Don't bother asking about Alias if it's already been loaded.
f44a155 Updated.
dcac677 Initial commit.
748a818 Updated.
f79aafa Fixed to run on systems without sqlite.
41c2ead Changed to be a Configurable, fixed a few possible bugs.
b1f424d Handled Windows' timeout number on socket.error.
0b9d7bd Fixed bug #847032.
37c6516 Fix for bug #846065.
0e88918 Minor stylistic fixes (I thought there'd be more, but I solved another problem without messing with this plugin).
7784d21 Fixed the bug in acronym for the change in format and tightened the test to catch such changes.
4ed97b0 Changed to use a DBHandler.
f2f61fd Configure question about snarfer should be for all users
6b5ef88 Added some debugging printfs that may be useful in the future.
7b26501 Some small fixes to Poll.
e7fd4ca Fixed a bug in ChannelDBHandler that *somehow* would cause a wrong database to be returned from getDb.
d83cf14 Fix for bug #846714.
966a094 Fixed bug in isAction.
0cc2c2f Fixed html entities in rss titles.
10fe799 Fixed handling of timeout on socket in Debian.version.
cdda36f Fixed the self-lart bug.
581dcda Tweaked output of seen.
e9b8158 Fixed lots of raised exceptions because I had the wrong number of arguments.
b3aade6 Cleaner output for nonexistent entries.
308ae55 Fixed bug #846053.
0da5c27 Fixed bug #846332.
43c5946 Fixed bug #846220.
6f93426 Minor style update.
0ab9d4e Do sorting the right way (not only are cmp functions slow, but with nicks you need to sort by ircutils.toLower, not str.lower).
c283ca7 Yay! Full navbar on all pages
e3b0974 Now we can sort names independent of case!
8b9f5a6 Fix the Google Groups snarfer bug and added appropriate tests
8854363 Cleaned up the generated source some
6bcd109 Added navbar
539b307 Typo fix reported by Stuka.
288c281 Added tests for the weather errors-that-shouldn't-be-errors.
e21d710 Fixed the problem where country abbreviations that match USA State abbreviations will never be found.
6106f27 Some more cleanups
a561767 Updated.
8b3afe9 Fixed the links at the bottom, which I broke.
8a850e7 Ask first before calling getpass.
de81be0 Slight efficiency/readability fix.
0f19c10 Minor stylistic updates (I missed two strings using triple double quotes instead of triple single quotes)
b8c6b37 Minor stylistic updates; also made plugins.html and commands.html go to docs/ and link to docs/plugins/__.html
484bb71 supybot.css is in supybot-www now. Major overhaul to docs generator
a178090 Made into a ChannelPluginTestCase.
00985ab Updated the test for the new snarfer default.
5fe1aee Updated the test for the new snarfer default.
05390b6 Updated the test for the new snarfer default and renamed the general test to 'test'.
fb4a4ff Changed the default of the snarfer, added a question to configure.
2a5cc04 Finished the alias sf question in configure.
738d1bb Removed addbadword and removebadword; changed the name of addbadwords and removebadwords to add and remove, respectively.
e20f692 Handled empty lines appropriately in supyfact files.
c17f85e Fixed escaping IOError from add command.
909597b Changed the name of the commands in Markov and added a test (that currently only tests documentation) for Markov.
dd6cbef Reordering in order of importance to the end-user.
429c90a Added __len__, __repr__, and a useful __init__ to IrcMsgQueue.
9a7de79 Made removeHostmask remove all the matching hostmasks.
0b90d80 Caught the right error.
dd9bd35 Changed to handle non-installed sqlite.
e5d71ac Changed the Lookup test to run even when SQLite isn't installed.
baaa017 Made the help messages more inline with the other channel-based command helps.
fa7a05a Fixed a bug; s/exclamation point/dash/
7dd1f4d Removed example string from the template in suypbot-newplugin.
15639d8 Multiple choices for polls. Still broke.. needs tests.. etc etc. Work in progress :)
0c4a60c Consolidated the renaming of plugins and described the exact changes.
6e79848 Updated.
13ee678 A few changes.
1b0082a Formatting blarg.
b745b65 Oops, some of the recent additions were redundant. I kept the one that sounded better.
179eba5 Added a ton of plugin changes to the changelog in preparation for release.
23db0b7 Handled the case where one factoid is returned from Factoids.search better.
8a2e50b Should fix jamessan's bug.
9d44399 Fixed an uncaught exception in Debian.version.
f66c567 A few more refinements to the documentation
20674ea Updated the plugin docstring.
2cbcddb Caught the LookupError raised from a bad encoding.
d7e95f5 Tightened the check for a proper auction id and refactored _getResponse.
7cd2844 Cleaned up commands.html a little bit using some suggestions from ddipaolo
f57f57c Fixed some bugs in Bugzilla and added some tests to try and catch more problems in the future.
5cfe9ff Yay! We finally have a threaded Markov plugin
8dbaae1 Added a configure() question about aliasing sf to Sourceforge. Updated the snarfer configurables so that they default to off and made the configure() question available to all users. Updated the snarfer tests to ensure the snarfer configurable is true before starting the tests.
31c0577 Update configure() and configurable default states so that the default for snarfers is off and all users are asked whether they would like to enable the snarfer
f6e8485 All tinyurl related commands now query the local database to see if a tinyurl already exists for the url that is being snarfed/passed as an argument. If not, tinyurl.com is used to generate the tinyurl
2909c4a @ebay -> @auction
f7e44d8 Better error message and make sure an int is provided when we need it
47817f8 Updated error message for overflow.
76f4a8f Forgot to change configure to reflect the revenge update.
e054269 Converted revenge to a configurable; still considering ChanServ.
27cb6d5 Set the defaultplugin of capabilities to be User.
8dea8d4 Changed snarer to auction-snarfer.
c37b775 Prevented a possible raised exception in IrcMsgQueue.
688013d Forgot to do a % in the debug.msg.
a2a97c1 Um, made urlSnarfer do what it was actually intended to do :)
7cbec39 Added a test for the configurable.
6e1704a Needed to catch the possible KeyErrors in config.
a5627c3 Made the 'add any more commands' dealio a little more intuitive, I think.
df06523 Fixed help string for alias add.
3a571c3 Updated to thread tinyurl (there's still an un-passing test, but it seems to work on the bot itself).
23fa15f Made urlSnarfer thread the snarfer if the callback isn't already threaded.
889ed86 Bugfixes (and removed threading).
92ed968 Made password getting more standard.
398045b Commented out a debug.printf.
8ec0a35 The configurable key wasn't updated properly.
b6efb5c configure() should append 'load Dict' to onStart, not 'load Dictionary'
4459b3c Updated examples.
320d6b0 Fix for bug #842414.
27ce432 Made ChannelDBHandler threadsafe, and wrote a DBHandler for threadsafe non-channel-based databases.
dc93f86 Changed some maps/filters to imaps/ifilters for efficiency reasons (I was bored, basically).
eb6e112 Changed some maps/filters to imaps/ifilters for efficiency reasons (I was bored, basically).
28d371a Fixed spell problems; stopped caching spell fds (it's not called often enough to care, or go through the trouble).
a8f3136 Changed last to be slightly more effiicent; changed a map to an imap.
0e01a1d Sweede is a fscking retard.
296af52 Removed some old stuff related to superReload and made ircs die before shutdown.
720c725 Documentation pages now link to each other. There is also an index sorted by plugin (index.html) and an index sorted by command (commands.html)
1ef8b60 Fix for bug #840908
f8e920e Added some pickOptions tests
d4e5047 Fixed bugs in option parsing.
7a9482a Let ++/-- regexps have whitespace on the end
882652a Style changes
557e518 Of course I can't reproduce the bug when I'm testing the fix for it, but this should take care of the bad error message.
fba0e90 Backed out the last test addition.
11da098 Added a new test for the OptionList stuff to check to see if parsing is working as expected.
f3e2e2a Added a squish command/outfilter.
93b16b7 Made the bot refuse to kban himself; made him not use a banmask that would ban himself.
563e5ad Style updates.
9b20e1d Fixed a possible uncaught KeyError, and added the ability for a kban to work on the person requesting it (so we can put it in aliases :))
6004181 Fixed bug in banmask when the host doesn't have a dot in it (rare, but possible).
7b86dfb Made $nick the same as $who.
d496328 Fixed bug in formatting of pydoc.
02b2edd Multiple bugs that couldn't be tested while the dict.org server was down have now been tested, found, and eradicated.
b40a7e7 Oops, if you remove a switch, remove it in the help :)
da3be6b Made sure the bot doesn't clobber an already-existing user in the user database when it changes nick.
e48569b Changed addcapability to reject all attempts to add the owner capability.
66061f6 Fixed the formatting problem in expect.
08244ff New test and fix for the associated bug.
965d8e0 The dots need to escape from tinyurl
4ce677b Slight syntax fix for @weather reply
512319c Style changes
6892709 Update the tests to match the changes in the plugin
988ac32 Not all tinyurls end in 4 random characters, so I shouldn't be looking for 4 characters. Switched to \w+
e4f912f Made Aliases disambiguate themselves, and made that API in Owner public.
b8c9459 Updated to the new version in preparation for the next release.
2f2d813 Forgot to update the configure function for the new Configurable-ishness.
760483e Converted to Configurable.
dd4c09e Updated to include timeouts on the connection; changed name back to Dict.py.
bb231a1 Removed --fancy option; made True the default.
d1e049c Stylistic update.
e828c33 Need a return after the dispatch to _oldnotes.
d60df81 zeropad the color code used in colorize so that we don't lose characters, at least any more than we already lose to the irc character limit, which will be even more now that we are zeropadding...
e9b64d4 Add support for plain-text google groups links.
2b55842 Fix the help strings for the bug{,s} and rfe{,s} commands. Remove the generic Exception catches. Give a better response when bugs and rfes receive a bug number. Add various tests.
5149d17 Made Configurable persistent.
028b23d Allowed abbrev to accept the dictionary object (good for passing in shelves or PersistentDictionaries).
94041ac Changed to use utils.abbrev to allow any unambiguous abbreviation.
e0cfe72 Added an assert for easier debugging.
2e0b225 Changed the needed= keyword arg in privmsgs.getArgs to required=.
86e2110 Changed the name of Notes to Note and changed some command names in Note.
0ca1511 Made Aliases persistent.
225ee0e Oops, SyntaxError.
fdde275 Reordered superclasses so the proper die() method is called.
0a3b05f Moved action to Misc from Utilities.
7549788 Give a proper error message for possibly uncaught exception: bug #839653.
3b6b478 Moved action to Misc from Utilities.
405f4ab Fixed bugs #833206 and #837628.
c50e27a Fixed bug #838900.
4cc9579 Fixed bug in tests; it was caused by the prefix character being snarfed in along with the URL.
8c10948 Fixed bug in tests; it was caused by the prefix character being snarfed in along with the URL.
bb9cb5d Fixed some bugs, tested some more and fixed those two. Boomshakalaka!
473ce16 Added more tests for the lexer, to make sure stuff within dangling parens is left alone.
9d8d47b Fix the @seen --user bug and add a test to keep it fixed
8f1329b Refactored a touch.
973cc66 Didn't have a .users before the getUser.
2c78876 Add a url that tinyurl had some problems with
9dd2680 Fix for bug #839053 (parens without bars not handled correctly).
8303015 Added ignore, unignore, and ignores to be complete with Channel.
afeba84 Added a test for a bug I thought was there but turns out isn't.
717fcab Removed the 'chan' from commands.
8580b6a Made Owner complain if there is more than one src/ plugin with a given command.
4b94ebe Add handling of 'Invalid Item' pages. Update tests to check 'Invalid Item' handling and to parse another active .ca page
234728b Changed to Configurable.
783b56b Removed Toggle stuff.
9b6bbd5 Forgot to commit this for the Configurable update.
0435ff0 Added ConfigurableTypes.{str,int}.
024f462 Converted to Configurable.
6519d08 Removed the Toggleable subclass, since it wasn't being used at all (accidentally committed earlier, I'm sure).
3275859 Converted to Configurable. Also reverted the _urlRe back to the old version, which works better. I don't care that parentheses are valid URL characters, they simply never happen in practice. Practicality beats Purity.
c434925 Updated to use Configurable.
f2d3e99 Converted to Configurable.
3ed58d9 Updated to use Configurable.
64e664e Converted to use Configurable instead of Toggleable.
367d561 Removed the test for ToggleDictionary, pending the complete removal of Toggleable.
2058d50 Converted to Configurable.
5fb5533 Hopefully fixed bugs in Unix.spell once and for all.
4711e22 Fixed a few more metacharacter DoS bugs.
e5249c8 Updated to use Configurable.
b4e12a1 Fixed some bugs.
1432951 Updated.
362ca56 Fixed some bugs, added a test for ConfigurableDictionary.
248312f Added a test for lithp.
cbe13ab Added a ConfigurableTypes class for various type converters.
69adce4 Added Configurable class and changed Ebay to use it (as an example).
901a225 Added safeEval.
900f2a9 Make sure '@action' works
646cbe4 Fixed stupid syntaxerror.
ee7ce27 @echo should reply with help when it receives no arguments
ca8ed72 Added a colorize command
df88fc9 Removed an assertion that was asserting a condition that didn't need to be true.
9b6dce4 Committed partial Configurable implementation (gotta go back home and hack on it more later).
7d5a7bf The purpose of help has changed and morehelp is no longer a valid command. help -> syntax, morehelp -> help
c32939f Using 'was url)' caused problems since () are legal characters in a url. Switched to 'was <url>)' for tinysnarf replies.
25aacc3 Add name ordering and mode-characters for relay names. Name ordering is also done by mode (ops sorted, then voices, etc)
4200349 Forgot to actually creat the _snarfedUrls attribute.
867814e Oops, forgot to commit this.
5dd35ea Untested, but I wanted to get urlSnarfer in there.
b4a5605 Added some much tighter error-checking to the spell command; also used select to make sure the file handle is readable before trying to read from it.
54aec8d Added hostmask and added_at to the 'get' command, to reveal impostors!
abbe99f Fixed bug in seen regexp that would catch the old GK rating, too.
3f1296a Fixed some text to read a bit better. Still doesn't look quite perfect though
2a33262 Converted to be somewhat clearer than _mostDict.
12c5280 Default displaying of usage examples to False until we put the example strings back in
5a6f3ee Removed the example strings until we figure out what to do with them
3995cc3 Switched to assertError for when no factoids exist and added testing of author ordering
e00852b Updated wordstats to default to checking for a word first instead of a user in the case where there's only one arg supplied.
ea81e96 ddipaolo suggested switching from a tuple to a dictionary to make things more intuitive (if we even decide to keep this format)
ac97573 Well, now @most has one set of commands that it will run, but it required a big dictionary.
6ea38ae Changed wordstats to use accessor ircdb.users.getUser instead of accessing the ircdb.users.users data structure directly.
adc9e05 Overhauled 'wordstats' to handle a plethora of argument combinations and wrote some naaaaaaaaasty tests to make sure they work as expected.
f051166 Added a "quotegrabs get" command to get quotegrabs by id
c746f94 Optimization to hostmaskPatternEqual.
a46476a Remove @url get. Add the snarfed url when replying with the tinyurl. Tests are updated accordingly. @random will display the corresponding tinyurl when someone decides on the display format
84bff2f @tiny should be specifying cmd=True when I call _getTinyUrl. That was the whole point of having a cmd parameter.
b14ee76 Added 'chanignores' command to list current channel ignores.
6de6fb8 Changed the initial value of threadsSpawned to 1.
1a4780b Added an addword test and fixed the wordstats failures.
5081016 Added some wordstats tests.
9e94295 Fixed possible raised KeyError.
5d45c92 Fixed the stupid DOM Element output, added test.
76ad289 Fixed the stupid DOM Element output, added test.
ed94dd4 Fixed freshmeat command, changed it to use xml.dom.minidom. Also removed example string.
ce212fa Fixed bug #835786 -- case insensitive now.
71791ab Added wordstats and whatnot.
c803edc Added substitution and fixed ' returns the same thing all the time' bug.
57e0e75 Finally caught Bug #835371. Also refactored the plugin and added some tests
09a64b7 Bastages changed the format of their page! (fixed a regexp for getStats)
f6c83b3 Fix insult so that it doesn't reply to the person that called it. Also fixed the instult tests so that the check the entire response, not just a regex
4a1a662 Add a better help description to identify
863aeb3 Only throw a recursion error if the command matches the alias name exactly
8b6783e Apparently NoRecurse only failed when the word for the alias was a subset of the command word.
8474b10 Made Relay not ignore, and added a check to Owner.doPrivmsg to make sure commands can't get called by ignored people (even if noIgnore is True on the plugin with the commands.
5f2f970 Test to make sure recursiveAlias only errors when the full word matches
1558635 Added an assert to verify that a toggle without a specified channel only toggles the value of the current channel and not the default toggle.
4d8e880 Fixed karma response in the case of absolutely no karma.
afa0cb8 Fixed bug in relay whois; chopping characters off the end of the channel rather than the beginning.
a456c5e Changed the name to URL.
d548447 Moved Karma off into its own plugin.
93f02aa Added curry to fix.py, converted some code to use it.
c1e9205 Stylistic update; there are things better than lambdas...
2875385 __parented some classes.
65e469b Removed crazy-buggy rate limiting stuff.
94e3726 Added a checkIgnored to Owner.doPrivmsg.
91b01f9 Reduced some lines to fewer than 80 characters.
b35501c Commented out a test that was causing several other failures.
3757892 Fixed bug in test suite.
8e45f35 Refactored a bit and allow 'pydoc copy'.
3f8c149 Fixed major bugz0rs with IrcSet and IrcDict.
6092ce4 Added the 'list' function, added code to prevent duplicate grabs being added to the database.
def70e1 Make different randomdates and randomints in the same string give different values add tests to make sure it happens
ff57e4b Made proper super calls.
944ef33 Fixed the reloading sets.Set bug more cleanly.
c362784 Added a comment regarding a current bug in @bugs and @rfes
aae6f52 Fixed bug with reloading of sets module.
33775ae First bit of quotegrab testing, just tests existing functionality. More tests to come when functionality is added.
be3e5e4 Changed magic numbers to variables.
5fb5241 Fixed a few bugs.
3fde50e Initial Checkin.
bc5529c Forgot to update the second call _disambiguate to the new interface.
66797de Changed the name of the quote command to get.
cc94948 Fixed greedniess of a few regexes and did some associated fixes.
bf12760 Added tinyurl stuff
6b4d03f Made it always default to src/ plugins unless explicitly overridden.
0de26af changed factoids to use irc.reply(..., action=True) instead of queueMsg
526c4c3 setdefault -> defaultproject defaultproject without a project name clears the default project cleanup bugs and rfes a little (although they aren't working in the case of 'bugs #'. must use 'bugs project #')
72e5543 Added support for more countries (should support all english-speaking countries) and added support for ebay.com/.*?/ws as opposed to just ebay.com/ws
96f299c Included plugins.standardSubstitute in factoids parsing now
68d36db Snarfer cleanups and toggle tests
d74a59a Cleaned up the snarfer
f27ba11 Added test to make sure reloading sets doesn't kill the subclasses of sets.Set (which may in the future not be subclasses of sets.Set.
077fcd8 Added logging of regexp cache size.
d816bc6 Added selfstats toggle; Fixed karma to be case-insensitive but case-preserving.
4d77ffc Added the ASPN Recipe snarfer (RFE #831028) and tests
5f55e2b Added a test for randomnick and fixed the bug it found.
e46e248 Added a few more tests, and one for the case-preservation characteristics of karma with multiple arguments.
31ef30d Changed the name of some variables ('whore' doesn't partse as 'who re{gexp}') and added tests.
0adde0c Use randint instead
d557443 Make Dunno use standardSubstitute
51f8010 Added $randomint
82d2d81 Fixed a bug where addFactoid wasn't splitting on the first "is"
1d1d7a8 Lots of changes to make it follow the format of a typical supybot plugin
fcd4919 Fix the snarfer re so that it does match extraneous text
15b18ed made karma case-insensitive
07ef648 Made the tests for callbacks.addressed more extensive.
4e48550 Forget to catch the actual exception instance in callCommand.
9e7a37e Test praise for good measure
d50d435 For some reason I was replacing the bot's name with the user's name
8c93488 Fixed Bug #833786 (spurious brackets not handled correctly).
ca8b17f Made join default to admin.
c3d7efa Fixed bug with reload not working with non-canonicalNames.
c318d5e Added the "action" command and associated tests.
9ddc7c7 Somehow messed this one up.
895ecf7 Fixed bug #832590.
b0fd3f5 Move ircutils.standardsubttext to plugins.standardSubstitute, make it do case insensitive replacement
06ce1bc Added change.
af32b12 Added some asserts to prevent bugs like we had earlier.
3f081ee Added some error checking to join and part.
bc6f4bd Converted to not use the new module but the types module instead.
8d04bdb Refactored some stuff to be a bit cleaner.
50c18a6 That's some ugly output there, buddy.
51c5d53 Added defaultplugin.
f4e4233 CanonicalNamed the toggles.
1280dbd Added test, fixed a bug it found.
288dc6c Changed repr to pprint.pformat.
8819240 Added a few commented-out debug printfs and set self.__class__.toggle instead of self.toggle.
47a9d24 Changed setconf to show what the value of the variable is if we don't give something to set it.
83e16b0 Fixed Google test.
29d20d2 Changed the color command to a toggle.
b14bc6e changed testEmptyNest a slight bit.
646e41b Changed the regexp for sfSnarfer to make it a little easier to read.
2ed2f6a Used the wrong variable in assertNoResponse.
138c87f Changed to a ChannelPluginTestCase.
58cf080 Fixed the nesting bug with testEval and testCalc.
e556e78 Moved ambiguous command handling to Owner; fixed handling of empty nested command.
0011fff Changed all %d's to %s's
e5e507f Added adminition against using %d.
afc74b9 Fix replacement of my/me not obeying word boundaries. Also created tests to ensure it stays fixed.
8cc9620 Fixed ordering by priority when requesting todos for a person (or self)
70be390 Add standard substitution function
bef71df Added a test to make sure I don't make that stupid mistake (not including "msg" in irc.error) in the same place again.
3b0276e Fixed a dumb dumb bug where I forgot to include the "msg" arg for irc.error
2a0687e Fixed AttributeError in seen.
2b68eb9 Make seen not error if it doesn't recognize the user.
50e1690 Added test for empty nested command.
afbf513 Changed not to use the deprecated new module.
08f5adf Ew, ugly SQL!plugins/Quotes.py
bfdbda6 Changed karma pluralization to use utils.pluralize() and fixed the tests to avoid erroring due to ambiguous commands for 'stats' (since 'User' is also loaded for the tests)
0400f02 Added the Toggleable.__init__'s and therefore the help commands
6d36432 Fixed __init__ and its error with instancemethods not having adjustable __doc__ strings.
535cdde Switched the togglesnarfers to the new Toggleable mixin
f0b8501 MoobotFactoids should be pretty dang close to finished now. Got the "_is_" syntax working just fine.
0c96bf7 Made replies all one message
cd42709 Made toggle require either #channel.op or admin capability.
5617dd6 Added some commented out tests in case we decide to change the interface of ToggleDictionary.
acd36c8 Added toggles for auto-{op,voice,halfop}
372d22e Fixed bugs in Toggleable.
4f67318 Added Toggleable mixin.
e49e5d0 Changes to ToggleDictionary.
2757f23 Added solaris to the list of supported operating systems for memory stats.
05f8d6a Added "todo change" and tests for it.
f9d97c9 Overhaul of Todo, somewhat. Made everyone's todos accessible by anyone, either by id or by username. Also, made it so todos are never deleted, just set to inactive.
2527f47 Punctuation ("?!") is now stripped from keys before insertion into the db
d174226 Added the ability to do hashed passwords.
8ae5984 Fix some typos I thought I had already committed
9825356 Cleaned up error message when exceptions are raised on loading the plugin module.
b63f217 Added a saltHash function.
80deb23 Fix for relay whois bug with the reporting of status on channels.
186239e Fixed an infinite loop problem in the new invalidCommand code.
a34589c Completed the removal of callbacks.Privmsg.doPrivmsg.
b5f7bec Gave up on responding with *all* the nonCommands in a message.
63c86ec Removed a test that was left over from the unified Dunno/MoobotFactoids module
0a34794 Small stylistic change and removed the returns from invalidCommand.
86a3746 Added a finished variable so we don't have to rely on return values from invalidCommand.
7703e3f Typo fixes.
ef4aed0 Just some slight style things (I'm committing because DannyB will be hacking on it later).
c2f179c Fixed some bugs and cleaned up the test suite.
084fe18 More MoobotFactoids/Dunno separation fun and fixes
3db33b5 Removed the replyWhenNotCommand machinery entirely.
b9fb362 Oops, not self.msg.
eaa1586 Made sure commaAndify raises TypeError when it's given lists of non-strings.
5750480 Forgot to set the prioirity appropriately.
9dc16ee Changed the most recent title test to use the proper URL.
e0f617a Beware the Dowloading!
faea5a5 Split out dunnos from MoobotFactoids (into Dunno.py) in anticipation of the invalidCommand infrastructure addition.
ad022a8 Added ToggleDictionary class and modified the tests to better model the specification
e03c65f Changed the whole handling of nonCommands and ambiguousCommands and whatnot. Now plugins can define an 'invalidCommand' method to be called on invalid commands.
114909f Fix a silly line-continuation error
7ae53ef Added loss to the plurals dictionary.
6e91113 plugins/Gameknot.py: Add replyPossibleBug string to 'page format' error src/conf.py: Fix a typo in replyPossibleBug string
d370c48 Fix a new bug where a person not having a 'seen' status wasn't properly trapped
ed44f00 Missed an 's' in there
61576fd Reworked the togglesnarfer stuff
1e4879d Reworked the togglesnarfer mechanism
8ff643d Added a test for a website that causes @title to break
fbb3702 plugins/Sourceforge.py: lots of cleanups to the code. Also changed how togglesnarfer works. test/test_Sourceforge.py: updated to follow the plugin changes
19f50ea Added test for toString output when a channel is specified.
206de8d Initial checkin; has test for ToggleDictionary.
5ace5a4 Some fixes to Poll, removed delete command, added example.
9caaf8f Loaded Misc in every test because that's just plain neceessary, what with replyWhenNotCommand and all.
f2ab257 Unloaded Misc before testing for no response.
c150567 Misc includes a version command and is now loaded by default, so I had to disambiguate the version test.
aab9d8a Made the output of gkstats a little prettier.
fc11ff4 Handle properly the case where no matching commands were found.
a1c911e Added the ability to see notes you've sent yourself.
ebcc9a3 Added the ability to see notes you've sent yourself.
fbd08fe Added the plugin name to the command if the command is abiguous.
7ba9a85 Test for gkstats Strike.
6077e28 Cosmetic change to a variable name.
0f45fe2 Fixed bug in testGreet.
218e53b Removed the die on the IRC object in relay disconnect because that makes all the plugins die.
3934930 Changed the way the plugin name is reported in help.
dd673bc Changed splitting on None to pull off the nick to splitting on ' '.
f83b2fb Fixed Added at: format again.
3538f2c Made outfilter channel-specific.
5ae13a9 Made the bot keep stats on himself.
fa5ac0a Fixed test to match new output.
5ddd26c Fixed a bugger in Misc.py.
a666edd Added RFE #827538 and fixed the help test.
42795d3 Removed the percentage thing, it's not entirely useful.
9320ad0 Long live unicode! :D
143448c Made sure plugins are sorted in error messages.
388da45 Fixed failure (used testHelp) and added an encoding so Python doesn't complain.
094bdee Fixed bug with commandsOnStart not being called unless they were already canonical names.
8d9eb27 Initial version of the Poll plugin. Still needs some work. (RFE #715810)
d85c8c5 Added plugin name to help output.
aa088ef Added memory reporting stuff to cpustats.
6acd477 Geezle peats, still didn't get the channel thing right.
df3602b Added another field (Submitted by) to the snarfer. Centralized the re options for the parsers
c9a6f88 Updated for the new assertError/assertHelp.
ff8159c Made only-syntax return without the parentheses.
83c0d34 Changed to match the new behavior of assertError.
80777b9 Added assertHelp to remedy the fact that help strings now count as errors.
f8da745 Updated to consider getting the help string an error in assertNotError and assertError.
af402fd Added a configuration option to show only syntax on ArgumentError.
660ba14 Fixed some failing test cases.
4422718 Converted ChannelsDictionary to use a PersistentDictionary.
7d960ca Added PersistentDictionary.flush.
b9434a2 Added PersistentDictionary.
fa589ac Fix for bug #829353; added a test for the remove command.
300004c Fix for bug #829300
d54ec97 Fixed bug in CVS.
8229759 Added 'setpriority' and tests.
c1ee1b8 Cosmetic fixes.
051928e Added locked_by back ... to stay, now admin/owner people can lock/unlock factoids that they didn't create. So it'll be nice to be able to see just who locked a factoid of yours.
1b25a20 Made MoobotFactoids case insensitive, and added tests to make sure that case-insensitivity works.
f0574da Fixed the 'title' regexp to be non-greedy, in case there's a </title> tag within the document itself. Also put a test for this (which will hopefully be a permanent link... not sure though)
aa05fc1 Made it so admins can unlock anyone's factoids.
68dd30c Made stats default to the name of the person asking.
6d9aea2 Missing conf import
85e863f Parse 'my' in @lart and @praise (Closes: RFE #828950)
aa09eb1 Forgot to set the probability for NO YUO
7fd9859 Switch irc.queueMsg to irc.reply
7e01b8a Convert irc.queueMsg(callbacks.reply to irc.reply
8b200ef Removed bug.
cbbc281 Changed an irc.queueMsg to irc.reply
d608f82 configure() was still adding 'load IMDB' to onStart instead of 'load Movies'
6cae1b5 Rewrote @insult and cleaned up the tests for all of FunDB so that they are more deterministic
dd40523 Added the note id to the response to sendnote.
589172a Removed the never-should-have-been-committed connect/disconnect commands.
f847208 Updated docstring for dispatchers slightly.
3944b00 Updated.
0ff6b89 Fixed a bug introduced with the utils.dqrepr'ing of channels.
2ab2afd Updated configure to be more descriptive about disabling progstats.
179f994 Added description of the separator in the channels question.
9ed6c5b Fixed missing backslash.
b3a95c3 Updated to reflect the change in name of the wizards.
600f2e6 Removed the Python-commented version of the LICENSE.
10c7b7c Made sure no messages longer than 512 bytes every leave the bot.
7bf4149 Fixed pluralization bug in info.
1168251 Removed shrinkList and privmsgPayload.
8914543 Made <number> optional in convert.
65b87f8 Fixed bug in info; returned n+1 factoids when there were only n.
e255ef2 Made local plugins to be ordered before global plugins.
8a37860 As part of the renaming madness, removed any ^db prefix
c14decf Updated wording of the irc server port prompt
0b380f5 Add --id option to geekquote, make it always allow multiline quotes
de63973 Angle bracketed replyPossibleBug URL.
84690d5 Fixed escaping ValueError in soundex.
9a5cb77 Fixed escaping ValueError in soundex.
5c1fc01 Added optional <id> argument to FunDB's excuse
f7caf3f Updated jeffk and lithp.
b03e561 Added configure() prompts to automatically disable the snarfer
1657339 Fixed some help strings.
e39a8c4 Improve the error messages returned in a few "except" blocks.
615ed5c Made sure the snarfer doesn't respond if there's no license key.
d60b3da Made error message better for dispatcher commands.
6cf0005 Put "prefixName=False" in a bunch of the irc.reply()s so that things like dunnos wouldn't look stupid.
6382e75 Forgot to import socket.
93f1949 Could have sworn I committed this already... turns on globbing by default (I think .. too lazy to diff and see if that's what changed)
89e5a4a The snarfer wasn't quite fixed. Should be fixed for good this time. Also added a test to make sure that a bad url isn't snarfed.
d55f5c4 Add snarfer toggle
0ea2f22 Made the environment slightly cleaner in PluginTestCase.setUp.
52bd330 Made the environment slightly cleaner in PluginTestCase.setUp.
f967783 Fix import as stuff, add URL snarfer, add test for URL snarfer
657df52 Fixed search to put the word between stars if it doesn't have any globbing metachacters.
1879f07 Slight code cleanup and catching of timed out connections.
8f6adf6 Add dberlin's friendlytoofriendly patch
dc9acab Improved the snarfer re and added the 'Buy It Now' price to the list of things which are snarfed.
f57aba4 test/test_Souceforge.py: Removed the commented out tests plugins/Sourceforge.py: Reverted the snarfer RE back to how it was, with a slight improvement. This should make it catch more URLs without having all the negative feedback the last RE produced.
f9bd4db Made the wizard and Relay.configure utils.dqrepr their channel names.
689c464 Made --from use ircutils.nickEqual.
9240ca8 Slight modification on exclaim.
4be5758 Brought BadWords up to the times.
13c10c8 Made outfilters stackable, added md5 and sha as outfilters.
e502432 Lowered the plugin's priority so it makes its decisisons about whether or not to relay something before anything else has gotten hold of the message.
d28b015 Added an apropos command.
e8284ca Fixed os.path lookups.
e189603 Fixed multiple-karma responses in the face of no results.
8ebef1e Commented out most of the https tests; made the regexp that the snarfer matches on much less complex so it would match a new URL that it didn't match before (and won't be so complex to maintain, to boot).
bd87b8b Eh, just some more error checking on a broken command.
9c2a812 Fixed bug in isNick.
f09928e Fixed RFE #827285.
0769c0a Added special handling to make sure reloading Misc doesn't kill MoobotFactoids.
be97120 Made the hostmask command default to providing the hostmask of the person asking giving the command if no nick is provided.
cad2269 Made ordering in PrivmsgCommandAndRegexp depend on the list of regexp-methods.
9cb41e6 Made ordering in PrivmsgCommandAndRegexp depend on the list of regexp-methods.
7a1130c Made it so only one method will be called, unless a plugin specifically declares a command to be alwaysCalled.
e298f33 Fixed problem with new.function.
232c634 Made to load Owner by default.
86b633c Fixed MoobotFactoids tests to jive with new "glob by default" behavior.
ec7644f Better message for failed assertNoResponse calls.
98a13e2 Fix multiline geekquotes
52d4767 Added a period to the invalid alias complaint.
388fae0 Made the snarfer remove the parentheses from a URL.
d472938 Made the ambiguous error message when multiple commands are ambiguous a little prettier.
3c4a53c Slightly changed the error message to make it sound better.
7d3d501 Added the Ebay plugin and tests
8521e23 Changed the name of the class to match the name of the plugin class
4690740 Switch Sf back to Sourceforge due to a conversation I wasn't aware of where they reversed the naming-decision
d959f84 Got most of the dunno stuff in place.
a67748e Changed --id=<id> to just <id> in praise and lart.
69c2147 Fixed a small buggeeeeh where lart and praise work without a victim.
5b1026e Added --id=<id> to praise and lart (RFE #827075)
71c7941 Modified the snarfer so that it recognizes sf.net URLs. Also updated the tests to check that functionality.
e4909c5 Switch the Sourceforge plugin name to Sf
d2b993d Fixed the tests to match the change in Debian command names
617b492 Doh!... again. Seems I left listconf in in the previous commit.
c67a3ea Fixed ambiguous error handling.
ec62689 Generalized the command names.
cc41299 Updated the wizard to specify which join it's using.
72402b9 Removed handling of ambiguous commands in IrcObjectProxy; Misc is the only place where it's to be handled. Also fixed bug that a dispatched command raising callbacks.ArgumentError results in the syntax for the dispatcher.
3ac622c Fixed a few bugs arising from the switch to generic names.
7593ac1 Fixed up wizard to match the new names of the src/ plugins.
79d455d Changed the default minimumPriority.
0c93c80 Updated to use more generic command names.
e767feb Updated to use generic command name and to require privilege for licensekey.
aee6579 Still catching remnants of the FileLookup switch.
15b6767 Made output in case of Ctrl-C prettier.
2175bd7 Oops, had one remaining ownercommands to deal with.
d8187d4 Removed the .py for eventual packaging in Debian.
baa9922 Sorted the names so they'd go in a predictable order.
ab2bea5 Changed the names of the src/ plugins.
8150a36 Moved to sandbox.
0349f7b Converted to use more generic command names.
c4b8388 Oops, didn't quite finish.
48737f2 Made command names more generic.
1037ade Changed to more generic command names.
907979b Changed command names to be more generic.
0f30bbc Fixed bug in MiscCommands.replyWhenNotCommand that it would respond to unhandled CTCP requests.
9ca4050 Changed to use more generic names.
5bae246 Made names more generic.
2b212bb Changed to use more generic names.
1bd48bf Changed names to be more generic/consistent.
3310e0c Converted to use generic command names.
62f371d Converted to use generic names.
26d41da Forgot to normalize in cases of type.method.
0da50a6 Added some actual Debian tests
1b1fe44 setconf can now list conf variables and tell which type they are.
776bad5 Fixed bug with pydoc logging.Logger.
e1eb6cf Fix for bug #826612.
4a8b627 Added the outfilter command, great fun.
ef4efab Forgot one password -> serverpassword change.
a73f4bd Doh!
33e6bf3 Removed the remainder of the Moobot plugin.
f1e915b Add new bugzilla module
ce88b05 Added @disablesfsnarfer and its test
f6088d5 Uncomment the urllib import Update the usage example Fixed a couple bugs in debversion regarding number of arguments
2117d66 Dropped an extraneous paren
281926b Updated the class names for the table rows
3beb83f Added cleanConfDir and cleanDataDir to PluginTestCase.
c8fd603 Added 'non-secret' to the 'isn't on any channels' response in relaywhois.
7180f8c Changed the name back to Lookup.
645302a Added handling for ambiguous commands to doPrivmsg.
3212ece Finished 'big change' to allow dispatching and stuff.
55ccb85 Removed the syntax command; changed interface of callbacks.findCallbackForCommand to return a list of the matching callbacks; fix help to handle the prefixing of the plugin name.
112303a Updated jeffk.
e12f69b Added conf.replyWithPrivateNotice and 'notice' command.
b02cdef Added the option to turn on stderr logging.
173f99c Updated jeffk.
4040b24 Oops, committed a failing test.
0ab3347 Updated ChannelDB to use user ids instead of usernames.
0b6c208 Fixed handling of callbacks.ArgumentError in PrivmsgCommandAndRegexp.
7815d2c Added code to make dataDir/logDir/confDir directories if they don't exist.
0409c4f Added an example.
05d8514 Moved FreeBSD to the sandbox.
2d56e72 Made pydoc accept methods on builtin classes.
e760320 Changed to use the repr of the last message.
c81170b Added a jeffk command.
1ddc519 Fixed bug in list, was using .startswith instead of == for the plugin name.
3fb2795 Moved the more useful Moobot commands to Fun.
eb31db6 Added memoization optimization to tokenize function.
68fd496 Added memoization optimization to tokenize function.
06cd9ae Added memoization optimization to tokenize function.
8fc200a Removed premature optimization of using the regexp to decide when to tokenize. We'll optimize when we have to, likely by making tokenize memoize.
ef7cd08 Fixed testHelp to control its own destiny.
53c37af Added an update to UptimesDB in __init__.
207ac96 Updated some tests somewhat.
c9e6f77 Restored the original conf.replyWhenNotCommand value on die().
c75e124 Updated some tests.
fd39c59 Wasn't setting world.startedAt.
5a8714d Updated tests.
8e9f4fa Renamed to test_Fun.py.
621c920 The owner user password was shadowing the server password. Fixed.
2505376 Oops, typo.
1509219 Removed stuff about PyChecker.
7b8322d Changed the name back to News.
17e555c Changed the name back to Google.
ccad26f Added a more descriptive return message on KeyboardInterrupt.
b727890 Made sure the wizard doesn't allow bad prefixchars.
d21a99a Added stripping of prefix characters from help argument.
1eb2a38 Changed ChannelTopic back to Topic.
f57a523 Oops, forgot to update the privmsgs.thread.
7f05bcf Changed the Lookup plugin to be FileLookup instead.
4b4ae20 Changed the Dict plugin to Dictionary.
08fa5e0 Changed the name of the FunCommands to Fun.
86b60e0 Small stylistic/formatting changes.
487ac95 Fix for a few exceptions escaping, bug #826177 in partciular.
37b796a Oops, forgot an 'or'.
f917053 Didn't update nickmods to match conf.nickmods when Irc.reset is called, in case we're on a dumb network like Freenode.
e1d1343 Using utils.depluralize now instead of my previous hack
29a3264 Added more information to the snarfer and cleaned up the related tests.
aab016d Changed the name of the Google plugin to GoogleTools.
f92d03e Changed the name of the Topic plugin to ChannelTopic.
4928999 Changed the name of the Topic plugin to ChannelTopic.
84fc2b1 Changed the name of the News plugin to ChannelNews.
7ca4070 Changed the name of the IMDB plugin to Movies.
fa8fc4a Fix for bug #825749, improper relaying of relay of kicks.
9966fc7 Made Status update the uptimes database on every message.
e69d8a1 Added some tests to catch an re m// bug
2221ace Hopefully fixed bug with empty word to define.
edab9e5 Added a scramble command and accompanying tests.
4c8bb93 Changed bug to reportbug.
6e728e7 Improve the snarfer re so that index.php is not required
3dac2d9 Escape the .'s in the urls for the snarfer
a2c6084 Replaced the old-style irc.queuemsg with newer irc.error
5ff7093 Oops, forgot the docstring.
2ffe5a1 Added depluralize function and fixed latent (untested) capitalization buggerishness.
121be3d Made the constructor take dictionaries.
f392696 Added TwoWayDictionary.
b2dd349 Fixed all the #! lines to be consistent and a couple formatting issues with the copyright
a6ddd48 Fixed the order of arguments on debversion and made it only do one package at a time.
1e00aab Updated.
d307421 Added QUIT statkeeping.
422bc27 Updated.
683ba63 Fixed bug in IrcState.copy -- it wasn't doing deep copies.
ee24acc Fixed bug in default argument for IrcMsg.__init__ -- args should default to (), not None.
b6185c4 Fixed problems with cpustats on Windows; at least now an error is reported.
c40f5e6 Fixed problems with cpustats on Windows; at least now an error is reported.
d6faad6 Added server reporting to the Relay.relaywhois command.
3c676f8 Removed the OwnerCommands.say command; it wasn't useful enough.
06a45ff Eh, just made the formatting of assertActionRegexp different.
889e99c Fixed an invalid irc.error in the part command.
2ddb080 * added assertActionRegexp (semi-tested, not thoroughly tested)
a63ee1e * Decided to ditch the "_is_" syntax. I never liked it and implementing it may prove to be difficult here. It may find its way back in, but there's no point in having it in there now when it doesn't work right anyway.
aee5c6c * Finished up MoobotFactoids, I think. Added delete, augmentFactoids (foo is also bar), and replaceFactoids (no foo is bar), as well as cleaning up some of the regexps that were there (we allow spaces in the factoids, dummy!), and also made the addFactoids regexp more accomodating to other phrases with the word "is" in them :) Also, updated the tests for it, of course.
ea024de * Fixed some quoting issues in list*. Adopted the practice of repr()'ing all factoid keys before displaying them (idea stolen from searchfactoids in Factoids). Also fixed them in the tests as well as adding a test to insure that it's done right. * Added the listkeys and listvalues commands.
fafa016 Add some more tests to verify the depluralization efforts. Also split the http and https snarfer tests into seperate functions.
a428c6f Add slightly better handling of de-pluralization
ddfd7e1 * LOTS of updates to the MoobotFactoids test suite, parts of which aren't ready yet, but the test targets should be pretty static from here on out, except adding new tests. * Fixed up lock and coded unlock in MoobotFactoids (actually, factored the common code out into one helper function that each call). * Added the changeFactoids (=~) portion. * Changed the table structure again (should be the last time). Locked_by was redundant if we're only going to let factoid creators lock/unlock. Removed it.
f567f36 Fixed a bug with debfile so that it doesn't error out when there are no arguments
1a51ced Added support for environment variables in pathnames.
63135c4 Removed a debugging print.
ba9e9f4 Max out the recorded uptimes at 50.
f987a6e Removed several instances where it would raise exceptions the message after parting a channel.
bd7f1f9 Fixed the snarfer to allow https links.
b6fb71d Added one minor thing so *all* unexpired news items aren't shown.
5be65f1 Added changenews and oldnews.
ed3d757 Made perlReToPythonRe always raise a ValueError instead of re.error.
388e171 Oops, left some debugging prints in.
0ac86a7 Made sure ChannelPluginTestCase only reworks the message if its command is PRIVMSG.
6476e63 Added an unban command.
db720ce Added verbose command line option.
1edbaab Removed a comment.
6712760 Added test to make sure MODEs came before PRIVMSGs.
50d777e Added test to make sure unban worked.
0385b71 Updated.
cb4b357 Fixed timeouts.
41f1cdd * Fixed INSERT query in addFactoids to mirror the changes made in the table structure a few revisions back (oops)
27796b0 * Updating MoobotFactoids tests to include more tests (testGetFactoid)
cabfab3 Only swap the background color of the td if we know for sure that we are going to be displaying one. Fixes the problem of blocks of tds that are all the same color.
0064748 Whoa, that was some old code -- written before IrcMsg had an __len__, apparently.
79ea3b1 Moved bestuptime over to the Status plugin.
e4c64ec Made *everything* case-insensitive.
76c4b7e Converted the Irc class to use IrcCommandDispatcher.
b515336 Added commented-out test for log with multiple arguments.
66d0198 Minor changes.
b692681 Found bug in utils.sortBy, mentioned by Tim Peters on Python-dev. Fixed, and tested.
2bb8f95 Updated.
8e37d2a Made loadPluginModule case-insensitive.
56016de Added more information to the load help.
8fd6a09 Made the help for wtf more descriptive.
cfb4a0b Added assertAction to PluginTestCase.
6150a21 Added an assert to unAction.
aa1b992 Added error reporting to regexp-based callCommands.
a5042e2 Oops, debug.reset opens all the fds into the same file!
3ae8136 * adding MoobotFactoids stuff as per jemfinch's request - though it's not quite done yet
578eac1 Updated.
90717d2 Updated.
f706191 Added test for rpn 2 degrees and fixed rpn to pass it.
33cd4aa Updated.
1d5dfa0 Added an optional key argument to cycle.
6c3e193 Fixed bug found by G-LiTe and added a test.
68a84e1 Changed date from 2002 to 2003.
a0fe541 Fixed bug in perlReToReplacer where escaped slashes would stay in the output.
367569f Updated.
a1dc346 Moved setting of debug variables earlier so nothing would print when debug.stderr is false.
9eff6d9 Removed/commented out some debug.printfs.
697b7d5 Added a necessary global statement to allow bolding.
9d30ca3 Removed stuff about PyChecker.
84f931b Lots of pylint cleanups
2acf59d Added a urlsnarfer and the appropriate tests
c202848 Lots of cleanups. Added a generic _formatResp that works with both bugs and rfes. Renamed _*Opts and _{bug,rfe}Re so that they can be used with both bugs and rfes (since they're the same for both cases). Bolded the description when requesting a single bug/rfe.
eb2db79 Fixed error messages in timeout cases to be more understandable, and added platform-independence in the -e option.
aabe07e Stupid me forgot to import sets.
7f4e457 Changed a slash to a backslash.
22fb0ec Added a note for Windows Users about the placement of supybot-wizard.py.
f8377f0 Updated.
9988f9d Baseplugins -> plugins update.
5c1ecc2 Better error messages in addAlias.
4cb7c18 Fixed tests for all; added additional test cases for the empty sequence.
da7e321 Updated.
f41a802 Removed possible double-listing of plugins in getPlugins().
2140a8a Fixed bug in test for variable.
7528215 Fixed handling of secure flag by IrcUser.setAuth.
6406e29 Updated.
eb01a8e Removed pi -> 3.14 capability.
5e3c5fc Faster implementations for all/any.
701380d Updated version.
d6057cb Updated.
e9bcf8a Should've been removed a long time ago.
6fa0ef0 Cleaned up the usage example
3c5978a Added the Sourceforge plugin (which has the commands: bugs and rfes) and the accompanying tests
ecbdb0b Made the bot not relay his own TOPIC messages.
48f71bb Made to relay topic changes.
7fe7c03 Removed the whole dealio with PRINTF and whatnot.
9f2352f * Fixed searchtodo * Wrote tests for Todo.py
1e8de55 Fixed bug where factoids would raise a DatabaseError when there were no arguments given.
d9d141a * Added the most horribly named command ever - utils.ellipsisify
88f33ed Added test for ellipsisify.
5793283 Tyop.
816d59b Don't bother with the questions about the info alias. No one cares.
2afb4ef Fix for bug #820810: Don't ask to load Alias if Alias is already loaded.
5d24cbd Changed channel from #sourcereview to #supybot.
bc3ec9f Fixed pluralization bug in stats command.
18a8f81 Fixed bug in list where _exec would show.
b7f4cbe Added fix for msvcrt.heapmin not working in Windows 9x.
8df7fb6 Added timeout and plugindir options.
30b054c Fixed several bugs and added a test to make sure they don't happen again.
155aeeb Added dccIP and unDccIP.
fc24f3d Made seen case-insensitive.
7973dc8 Fixed bug #820259, where he was killing himself if his nick didn't exactly match in case.
8eed3f0 Stupid __eq__ not being used in __ne__...
ce0002f Made IrcString more efficient/better, added a test for it.
2f8b537 Updated.
aee2b15 Fixed to handle secure flag properly.
7b28cab Converted karma stuff to use addressedRegexps.
aa7efcb Fix for some bad tests; added support, fixed a long-latent bug that I thought was being tested for but wasn't.
b637309 Added a simple test.
7943351 Added a missing commit.
e96c135 Added addressedRegexps set to PrivmsgCommandAndRegexp.
d376476 Added karma tests.
657db2c Changed the uses of queue to a smallqueue.
ae61e17 Added reset() to smallqueue.
b0f5674 Fixed bug #820262.
e903411 Forgot a parenthese.
4b0ecc9 Changed __all__ to the empty list so people won't misuse fix.py.
1065149 Fixed Debian to use fix functions appropriately :)
d1bc7d4 Fixed bug in supybot-wizard; exception was being raised when modules with no configure function were added.
8eaf73a Made sure profiling data is logged to a file.
18d52f8 Needed to import fix and call fix.rsplit instead of utils.rsplit
0d8ef3e Tests for the whatis <x> <num> functionality.
b719ab6 Fixed bug in looking up specific factoids.
206e14f Oops, didn't check to see if the file was there before stat'ing it.
8b7b4d9 Added wildcard support, as per RFE #817309
5275742 Made sure debug.PRINTF was True.
2fb9273 Fix for RFE #818993, smarter PeriodicFileDownloader.
f28bed5 Fixed bug in relaywhois response.
e0184c5 Added some more error-checking to the addAlias method.
28fb603 Added some more error-checking to the addAlias method.
1099ca0 Changed whois to internic.
e25f065 Fixed MiscCommands.doPrivmsg to use an IrcObjectProxy when sending stuff to replyWhenNotCommand.
f93b1e3 Optparsified, and added the -e option to exclude certain tests.
1c96752 Changed the pass statements to 'raise NotImplementedError' statements so the new changenews test would error out more quickly.
9f2d619 Changed the pass statements to 'raise NotImplementedError' statements so the new changenews test would error out more quickly.
c5a7573 * First version of the Todo plugin, simple but functional enough for the most simple of uses.
de5202c Bugfix.
8fba4a8 * Fixed a little buglet in the debversion output where the "Shown" count would be incorrect for any time nothing was found.
1a594b6 Use ircutils.nickEqual instead of ==.
1e28e4f Changed msg.prefix to msg.nick in the self.chanserv comparison.
9e0ab0e *Trying*, as hard as possible, to be nice to Windows.
b1977a1 Can't use ChannelDB, it requires SQLite. So we'll use Gameknot.
6bbbede Ugh, Windows.
0c303de Being even nicer to Windows.
0f350ee Removed, since they're practically useless. No one's going to write their own conf files by hand.
b1495a1 Added a docstring.
1fa9f79 Changes to be nice to Windows.
6107000 Slight formatting changes and whatnot.
c32a207 Updated to allow flags to be specified in assert{Not}Regexp, and to default to use re.I.
a79674c Updates.
d83cc90 Slightly changed the format of cmdstats.
498682d Changes to be nice to Windows.
d3a9a46 Changed email addy.
59977f7 Initial checkin.
7399537 Updates.
2a727d2 Updates.
ef51751 Removed star imports.
ec0de64 Changed baseplugin not to require 'from baseplugin import *' because fix is now munging builtins.
0a46f90 Renamed baseplugin to plugins.
970c819 Changed fix.py to munge __builtins__ rather than requiring a "from fix import *" statement.
5576661 Forgot the example.
6320511 Added a few more asserts to *SetTestCase.testReprEval.
9fe8ed1 Forgot an import.
8ef808a Some bugs were being shadowed for some reason, and there were bugs in the handling of the owner privilege that hadn't been found because those tests had been shadowed.
d5c4b15 Forgot an import.
66fc538 Changed the anti-capability prefix to - instead of !.
cb7ffa4 Changed another error to reply.
2fd902c Forgot sweede, dude!
fee74e9 Moved some stuff to the __main__ part to make sure it's called only once.
2cd657c Made sure ChannelDBHandler is before callbacks.Privmsg* in the inheritance order so self.die() is ChannelDBHandler's and not callbacks.Privmsg*.
151657f Changed an error to a reply.
5025f20 Broke reset up into two component functions which will have to be called separately to fix testing in Windows, I'm sure.
e5525cd Incremented version number and added two docstrings.
bbf367f Added __all__.
606ac05 Added docstring, imports.
6eff484 Slight indentation fix.
9ef4ea2 Forgot some imports.
d0c7d47 Some slight regexp updates.
84b7454 Forgot sets import.
4b228c9 Initial checkin.
93cc17a Updated to make sure the test doesn't run if sqlite isn't installed.
3af3b4c __all__'ed baseplugin.py, updated other plugins to reflect that.
53c6542 Added docstrings and removed an unused import.
69493eb Added docstrings.
d4ba047 Added smallqueue class.
0ffaa5d Removed some useless imports.
72af23b Added docstrings, removed ny.
325e751 Added a docstring and doctested nItems.
18a8725 Fixed a latent UnboundLocalError in setsecure.
5de5a56 Minor stylistic updates.
8046f76 Forgot two imports for the bug command.
6ad95c5 Added docstrings.
6bd138c Added docstrings.
d079777 Deleted a few variables that shouldn't have been exported.
1a07e42 Added module docstring.
2db6584 Extra docstrings, and indentation problem fixed.
43e41f4 Minor updates.
71fcfb8 Deleted a few variables that shouldn't have been exported.
f580738 Removed unused import atexit.
9053310 Added docstrings.
b9d265c Added docstrings, removed some unused methods.
6261036 Added docstrings, fixed some weird indentation.
c1a2f1b Added docstrings.
5b5f8a1 Added docstrings.
8d62020 Added lots of docstrings.
bc195a6 Added a whole lot of docstrings and such.
8134584 Converted to use callbacks.findCallbackForCommand.
195dc20 Made quotes.randomquote simple dispatch to a quote with a --id option.
9543859 Changed searchfactoids to default to a glob search; --regexp and --exact searches work with specific options.
bbbc97c Added fix for possible bug in re.finditer.
9f24c13 Moved the list of commands from cmdstats to the commands command.
46ebfce Fixed ambiguous error message when some other module is causing the import error.
4a45951 Fixed stupidity with printf (boolean) and printf (function). Changed the boolean printf to PRINTF.
3be0c26 Syntax still said --url instead of --fancy.
5f15fd8 Removed the cvsup command, useless with global installs.
d6f5bd3 Made register command guard against people with matching hostmasks trying to register again.
3d99059 Fix for escaping ValueError from ircdb.checkCapability.
046be17 Added unum subpackage (and unum.units).
12e5658 Added unum subpackage.
baf5da1 Added 'private' command, to reply in private.
1e8f8f6 Updated testConvert for the new output format.
b100ceb Updated example string.
29825d7 Forgot to update help for the new indexing.
1e64fad Fixed replyNoCapability messages to be in private.
36984d3 Added RFE #801859: no-hostmask (secure) option for users.
9cbc766 Fixed to kill bold much more accurately.
81e1c09 Updated debfile to default to glob, but allow regexp and exact options.
d52c8b9 Test for multiple regexp matching.
cbc109a Getoptified debincoming.
ff2e043 Added docstring for rsplit.
ff6fdf0 Added convert and units command.
41bacab Accepted RFE #812257: Multiple regexp matches in one message.
cecb130 Added disablegooglesnarfer command to disable the snarfer.
4bda1fc Bug fixes for .so modules.
ac78a1c Stylistic changes.
88b3d63 Made to index from 1 instead of 0.
4eaec74 Made to index from 1 instead of 0.
746e292 Made to index from 1 instead of 0.
a8d7de2 Made indexing start from 1 instead of 0.
747b20d Moved from scripts/plugin-documentation.py
f1e1589 Optparsified.
eb3be4c Optparsified.
fd22981 Made it not raise an exception when Ctrl-C'ed.
6fdde22 Added filename option for specifying what users.conf file to use.
76febf4 Optparsified.
da38a7b Changed minimumDebugPriority to minimumPriority (since it's set in the debug module now anyway).
898a4e2 Added an assert to banmask.
32eb85e Fix for KeyError escaping from stats.
de7da5a Fixed --user to actually work.
3d0bc9f Moved the bug command to AdminCommands to reduce abuse.
4fc4df9 Forgot to update the test for the new seen behavior.
dcffc5d Minor change: names -> nicks in @seen help.
0e0dad2 Added additional help for karma command.
f9a7bf0 getopt-ified seen to use nicks by default and users only if given the --user option.
3891360 Changed irclib.Channel to irclib.ChannelState.
2ea1052 Forgot to update this test based on the move of cpustats to the Status plugin.
538a262 Moved {zen,pydoc} to the Python plugin and {whois,dns} to the Network plugin.
1c2a090 Added NICK to high priority messages but not PASS. Baaad.
f843450 Fix for bug #815242, pydoc fnmatch.fnmatch fails.
2821527 Made NICK a high priority message.
5627f63 Updated the Amazon Web Services URL
bc5ec5d Fix for recent discovery that some misconfigured servers will send 422 instead of 376.
d013623 Added fix for servers with a missing MOTD file.
a714fce Fixed cmdstats to make sure only canonicalNames get in.
b9a81a3 Added 'individual' to commands processed.
8b04e1c Added cmdstats command.
ce3043a Initial checkin.
b5c5262 Added ~ handling to getDirectoryName.
4ccd229 Added ~ handling to getDirectoryName.
df1a269 Added a bit more error checking in the case of bad arguments.
31d4189 Typo: you -> to.
dba6ae9 Made addlookup ignore comment lines (designated by initial '#').
2da90c9 Guarded IrcState.doMode to work only with channels.
6169822 Guarded IrcState.doMode to work only with channels.
1410d1a Added the ability to handle multiple karma items in one request, like Moobot.
20107fb Updated for the 0.72.0 release.
d88b7e9 Added a check to template.py that makes sure it doesn't run as root.
29fd291 Cleanup of debincoming (also made sure to thread it).
1470d80 Oops, said before instead of after, duplicating a question.
2b6eb66 Fix for bug #813150.
14459d0 Commented out new.function stuff for later when new.function actually works.
d0f9e11 Fix for bug #814149, bad error message in relaywhois.
a91c55a Updated to use checkChannelCapability.
6429a00 Made sure to reset the debug file descriptors; fixed logfilesize test.
f6ccc12 Added debug.reset, necessary for helping out testing.
0843710 More complete tests.
6e23e1d Made sure ChannelPluginTestCase actually joined the channel in setUp.
fe4af22 Added op/halfop/voice handling in IrcState.
8e45ffc added debincoming command
9f8db6e fixed string formatting in final output
b71787b * Added a required per-channel news capability * Fixed tests (syntax error, tabs/spaces) * Updated addnews to use new persistent userids
2682670 Added test for the recent bug fixed in addressed.
31b1aba Forgot to change an IndexError to a ValueError.
60c0054 Fixed Strike's bug: <jemfinch-nw> angryman^^^^^: list would elicit a response from angryman.
d7812d7 Added a note in the helps for commands that accept passwords that they must be sent privately if they include a password. Also, one command wouldn't return conf.requiresPrivacy if it was sent in a channel with a password; that's been fixed.
6904309 Oops, forgot to not set minimumDebugPriority if it's the empty string.
359ad14 Updated for the help/morehelp -> syntax/help conversion.
407ac34 Fix for RFE #811970, generalized not a command response.
b1f0cb6 Removed a gratuitous world.ircs.remove, probably fixing bug #801438.
c3e9c38 Changed @help to @syntax, @morehelp to @help, and changed the output of @morehelp to be prettier.
6061513 Fix for minor lack of period, and update to not limit own results (now we have more :))
923a38b Fix for RFE #811853, and fix for bug where @voice would actually try to give halfops (good thing no one ever found that :))
ad78a34 Fixed bug in the test.
873fbe2 Oops, removed a not-so-extra non-blank line.
12e9e03 Removed an extra blank line.
d3a21e2 Added an example string.
d9ebb5e Made the template have a hole for the python interpreter, to be filled in with the one the script is called with.
2c8dee3 Fix for configure bug.
949f744 Added a debugVariables hole in the template so we can set debug variables.
757f1aa Fixes to expect, some to the way it wraps, etc.
eadc1bc Various fixes.
eeccf84 Changed some quotes so emacs would syntax-highlight properly.
343fd76 Removed unused variable.
707b55a Oops, forgot to change the last string.
0f3f152 Added test for the Python version so people could understand when their bot wouldn't run. Now it won't even install :)
4a6dd97 Fix for bug #812099.
6690b08 Changed the name of the generated file and made sure to os.chmod it if we can.
1e736dc Various minor fixes.
a51deb2 Remove OwnerCommands from the list of plugins and made the output for configuring plugins a little bit nicer.
6928a3a Fixed an uncaught exception in Lookup.configure.
38aad75 Forgot to from fix import *.
67d0e2f Forgot to map to strings.
06be2a6 Used a single-quote when I should've been using triple quotes.
e4eafb9 Updated for distutils and added supybot- prefix to prevent confusion with normal commands.
5d31e2a Moved to tools.
a13c8ab Removed the old sys.path-munging code now that we're disutil'ed.
0bbaa4a Updated template for the new distutils install and gave it the ability to run on its own.
d97698d Missing a return.
474e611 Initial checkin of the distutils stuff.
351b2e6 Moved such functionality to supybot-wizard.py.
84ccdc2 Moved to tools/, since that's what they are.
01ee116 Forgot to return after an irc.error.
309a5df Updated.
b41d953 Initial checkin.
b0600cb Added supybot- prefix to make them distinguishable from real commands in a global install.
9a83f90 Removed, old files.
f08bc70 Removed, old file.
1c86e6f Removed shrink command since it's mostly unnecessary since we got the mores.
05eddc7 Fixed to use the proper irc.reply arguments instead of callbacks.reply.
12d707a Updated IrcObjectProxyRegexp.reply to match the interface of IrcObjectProxy.reply.
23453ef Made the game snarfer not prefix the response with the the nick.
bb9c956 Made sure there were no problems in __call__ if it wasn't started.
06e2e05 Added some guards for self.started to make sure certain commands aren't run before the plugin is started.
fcab1a3 Added a try/finally statement like ChannelLogger just got.
3f78522 Made sure the error message is correct when a user tries to removeCapability something that isn't there.
b50a01d Made sure IrcUser.removeCapability raises KeyError on capabilities the user doesn't have.
b1654bd Oops, accidentally committed a tyop in a comment.
a6d7177 Added a try/finally statement to the addMsg in __call__ so lastMsg will still get updated if it raises an exception.
20e5bdb Added a try/finally statement to the addMsg in __call__ so lastMsg will still get updated if it raises an exception.
6084d00 Added __slots__ to IrcDict and IrcSet for optimization purposes.
7081d64 Added test for IrcSet.
e4143b4 Added a bit to the morehelp for calc to explain floating point inaccuracies.
fa11153 Removed possible UnboundLocalError that would (a) crash the bot, and (b) never be reported.
14f008d Made debug.py make conf.logDir if it doesn't exist.
d57c173 Tiny update to the lithp command.
b4b2b2b Added --with option to quote command.
e40183f Fixed stupid verisign bug.
3e28059 Fixed bug in genre pluralization.
644eb1c Removed inapplicable comment.
015bb9e Fixed bug in addPeriodicEvent with a name.
8680d46 Miscommunication between callbacks.py and MiscCommands.py over what the boolean in Privmsg._mores meant.
f325de3 Thought of a bug, wrote a test, discovered it was a bug, fixed it.
29d297a Oops, missed something that should've been in the test case.
b1b0040 Changed inFilter to __call__, since it doesn't do any filtering.
41d3039 Removed some debugging stuff that never should've been committed.
9092fb7 Fixed bug with lines not ending in \n because of the optimization added earlier, storing the original string form as originally received.
d39475b Made sure PluginDocumentation didn't check PrivmsgRegexp instances.
d2eff8f RFE #810366: --private option to MiscCommands.list.
3a329b0 Added the uptimeEnder to world.flushers instead of just running it atexit.
a1da1ba Made IrcObjectProxy.error respect conf.errorReplyPrivate.
babe4cc Added documentation for the interface to the IrcMsg class.
e75b928 Fixed bug with channel capabilities for channels with . in their name.
1ac029a Added rsplit function.
cae8905 RFE #807340: OwnerCommands command for setting conf variables.
f137b21 Added extra logging to Enforcer in the case where it's not started.
90d1a55 Had an addCapability where I should've had a removeCapability.
fd568a7 Made echo not prefixName.
f13aa41 Added error reporting for unmet capability checks.
d685435 Added error reporting for unmet capability checks.
287c902 Forgot a return after an irc.error.
a02282c Changed how logging through the debug module is handled.
1ad12d2 Fixed an oversight.
76cb2a0 Added test for behavior.
f4d7b28 Added test for unregister.
ce293a3 Added second test of 433 response.
4ab9dc7 Added changeusername command and fixed the framework so tests could run.
476ef32 Changed conf.py to remove some useless files (rawlogfile and ignoresfile weren't used) and changed ircdb to do the os.path.join itself.
3af8f1c Added private and action keywords to IrcObjectProxy.reply and converted FunDB to use them.
0a2539c Fixed bug where ChannelPluginTestCase would try to chop off the first word of an ACTION.
40de833 Converted test framework to use the new functions in OwnerCommands.
ab302e5 Oops, left a random.choice with the arguments of a random.shuffle.
a16bb77 Extracted loadPlugin{Module,Class} behavior into separate functions that can be exported to all modules.
a765308 Extracted loadPlugin{Module,Class} behavior into separate functions that can be exported to all modules.
411289e Made privmsgs wrappers stackable.
fad77c9 Forgot to change a topicget to a gettopic.
d227111 Added privmsgs.name, privmsgs.channel, and privmsgs.checkChannelCapability. Converted the Topic plugin to use some of them.
fd1aacb Fixed snarfer for drawn games.
70b80f0 Added configuration variable to determine whether pipe syntax is accepted.
1c99146 Added some try/finallies to make sure replyWhenNotCommand always got reset properly.
41339e8 Added an exception for malformed IRC messages and a little more error checking to the string parsing for IrcMsgs.
5ace516 Reworked some callCommand stuff to centralize some code.
457de48 Made sure no information is leaked with last being able to return private messages.
71bba5d I was setting the prefix for the message to be added to the IrcState object, but I don't know why. We'll find out soon enough.
288f617 Fixed a bug in the handling of the msg keyword argument in IrcMsg.
e02589c Added small optimization.
bd80036 Made sure to canonicalName the capabilities that are added.
2bc60c9 Added some stuff, though it still needs much more.
3016b98 setdefaultcapability and unsetdefaultcapability were behind the times.
b95985c dbchange now updates the added_by field
292bb25 Removed requested_by and use_count from {lart,excuse,insult,praise} tables
32b0b65 plugins/FunDB.py: added support for dbchange test/test_FunDB.py: added testing for dbchange
aee02dd Fix for jamessan's bug.
e368e90 Um, yeah...strings are immutable in Python. I should know that.
66b64bd Oops, forgot to remove this before committing :)
1abddef Added upgrade script to upgrade old botscripts to the new template.
35e7d40 Reorgnized template in preparation for the upgrade script.
148746c Make sure it doesn't allow plugins that don't start with a capital.
467688d A bit of cleanup work, mostly on the python zegrep portion of debfile
6c898a8 * Initial import of DocBook conversions of documentation
894b213 Fixed typos and grammar errors
679b8fb Fixed output in the face of a single responding dictionary.
3da65af * Beginnings of news stuff, yay
feb8538 Made usernames case-insensitive.
df9ce1b Added note about examples/Random.py.
24e26dc Updated EXAMPLE, finally :)
2d0671b Changed delhostmask to removehostmask and fixed a bug.
0293a2b Fixed bug in addhostmask.
e729b43 Updated for the new ircdb.users.
644fd69 Changed random.sample(seq, 1)[0] to random.choice. Completely forgot the name of the choice function.
b497acb Removed the URL from the snarfer output.
7be6ce5 Forgot to convert back to the one-name system.
3616399 Added documentation.
9e042c5 Added reconf command.
9f51a69 Moved calc and rpn from FunCommands to the new Math plugin.
b34b6ef Fixed to use the proper nick.
d2ec31c Fixed bug in removeAlias that it wouldn't clear the frozen set.
c232a31 Converted to match the new ircdb stuff.
a5199c7 Updated for the new users.conf format.
8cdb3dd Added support for bulk plugin addition.
9c7b851 Added RFE #805372, question about usage examples.
e31d2d8 Added unregister command.
358533b Removed deepthought command now that we have a supyfact for it.
caa099d Added RFE #804955, lookup should return a random key: value if not given an argument.
fb60da1 Added ability to specify optional arguments in aliases with @\d+.
5a15783 Made sure chanop capability supercedes everything else.
d3a8168 Made sure the default plugins aren't listed in the plugins list.
2e82a85 Added hostmask command.
92369c6 Changed logging of ignorance in PrivmsgRegexp.
41d266f Updated ircdb to have persistent user ids.
a0e0ca2 Forgot to check if conf.replyWhenNotCommand is True before deciding not to respond if there's a non-command in the dealio.
417c1f3 Added a 'from fix import *'
fac2343 Switch whoami to use conf.replyNotRegistered
f524ec0 plugins/Quotes.py: addquote now announces the id of the new quote test/test_Quotes.py: updated to reflect change in plugin
91274d3 addquote now returns the number id of the quote that was added, i.e. Quote #4 added
0aa448b Added keyword option And to commaAndify to allow specifying a word other than 'and' as the last separator.
a169b64 Registered upkeep with atexit.
da8ee2a Fixed bug where the bot would respond with 'there is no such command' if it wasn't the canonical name.
407da29 Made more help a little clearer.
0041814 Forgot to handle the case where there wasn't any command in morehelp.
47ea9b8 * Fixed Debian's debfile command to work properly
9eb08fa Removed length restriction from deepthought.
7dfeb8d Added necessary imports to configure.
60dc669 Added special handling in the case where the bot is kicked from the channel.
bafc23f Added configure questions.
e6556ec Removed zipcode stuff.
74a9964 Updated PrivmsgCommandAndRegexp to also sort its regexps by their method name.
99f88bd Added DCC CHAT support.
ab88ee0 Fixed bug where he'd reply that a command didn't match when regexp methods matched.
ec1e60b Updated test to reflect new msg.nick != irc.nick guard in doPrivmsg.
77ff4f8 Help updates, updates for metagoogle, and a change in bolding.
7605f65 Initial checkin.
273e4a7 Added removeAlias method for easy access from within other plugins.
dca6951 Extracted alias-adding functionality out into a function usable from within other plugins.
30bedeb Oops, broke something, and didn't fix anything.
7dfdef7 Made the bot not respond to himself when he gets something that's not a command.
335addc Had to move baseplugin.py to src/ for supporting multiple plugin directories.
d46f649 Made --url into --fancy and made simple URL responses the default.
176b9b3 Fix for RFE #801934: Response in case of non-commands.
ffefdf1 Added new pipe syntax to check for recursive aliases.
e0fae30 Now allow multiple plugin directories, RFE #802614.
73986cb Fixed new assert in testTitle.
ecc820a Fixe for bug with titles that spread across lines.
f95a804 Changed asserts to show the repr() if they fail.
580edc3 Added a commit to doPrivmsg.
949deee Added RFE #802856, so regexps aren't required by searchfactoids.
073040d Fixed bug #802804 about the bad appearance of [not an acronym].
d68c426 Fixed bug #802801 about calc exposing too ugly error messages. Added tests.
9bca5d9 Fixed bug #802826, --safe wouldn't work.
6716483 Added version check to the template.
e386518 Fixed escaping KeyError and added test.
2719812 Fixed bug with ACTIONs and added test.
8e44660 Forgot to change the --url results based on now getting the id from the database.
071f391 Most IrcMsg.__hash__ were returning 0, because I was using & instead of ^
cec0f77 Changed unlearn to forget.
3625d98 Removed extra dot..
0c3e75b Added #id to lasturl.
61a0142 Added functionality to protect private commands from being @more <nicked>, and fixed the fact that it doesn't work across the Relay.
89d5f7a Make sure the urllib2 file gets closed properly in pgpkey
cc07bc1 Switched pgpkey from using .read() to .readline() since there's possibly a large amount of results.
b00743c Changed tests to work with new name for unlearn (forget)
d9e3a19 Removed the trailing ' :: ' from pgpkey
ecdcc63 Switched a couple error messages to use conf.replyNotRegistered
f8c85b0 Fixed doPrivmsg and added more useful error messages
43fbbb9 Changed to use callbacks.reply again, now that we have the prefixName option.
9d8aa07 Added pgpkey and a test case for it
6b3600c Added replyNotRegistered
f818efa Added better logging of message times and prefixName option to IrcObjectProxy.reply.
7ed1791 Fixed bug where it doesn't respond to non-registered users.
6aa3e06 Raise ValueError in the case of bad input.
66b62a4 Fixed calc command.
4bb8d6a Fixed xor test case.
6b72288 A little more error-checking can't hurt.
da6f429 Made a do376 so it authenticates (hopefully) before joining a channel.
315d871 Added pipe syntax.
c07468e Added test to make sure .sendMsg went before .queueMsg.
4ca8f91 Added WHERE clause for making sure started <> 0.
c2f73da Made @bug send an email to a private mailing list.
45044c5 Made it copy the list of messages when <nick> is used.
017ddb1 Added optional <nick> argument to more command.
e53d4e7 Removed less command.
e3148c0 Removed foldoc command (it's markedly inferior to Dict.dict).
a08c1e2 Changed the stylesheet. Matched the new class names in the generated html.
cfa737d Changed limit to 100 instead of 10.
b699315 Converted not to care about how long its messages are.
8dc4579 Added a bit better diagnostic to IrcCallback.__call__ except clause.
d11d24c Fixed a bug in testExclaim.
61ad6c7 Fixed bugs all over it.
b68908e Convert not to care how long its messages are.
7571543 Added first exception for pluralize.
d3f1ca7 Convert not to care how long its messages are.
3161bb5 Converted to not care how long its messages are.
3ba5942 Added test for more command and framework.
01d71dc Changed maxHistory to 1000.
5ef3d7c Moved tell and last commands from FunCommands to MiscCommands.
5db67b0 Changed (more) to show the number of remaining messages.
0c3cb05 Converted to not worry about message length.
92b745f Added bold to the (more) that gets appended.
723ff12 Fixed bug in more stuff.
3873b35 Added the more command.
bb42905 Initial import
50c1749 Made the pages HTML 4.01 strict compliant. Changed the path to write out the documentation
392113f Fixed single-quote-being-quoted bug and changed directory to docs/plugins, and removed some old debugging stuff.
c711dc9 Fixed commented-out test.
8a70f15 Fixed bug in aliases with no arguments and added test for it.
e01d52b Added less command.
c662da1 It actually works now, but it's ugly.
2266fae Fixed enable and disable not to allow ValueError through their makeAntiCapability calls.
5296d51 Changed some asserts to raise ValueError instead.
63403e6 Fixed documentation bugs.
4dfa786 Added tests purely for documentation.
b0ccf44 Fixed a documentation bug and changed startnickserv to startservices.
5ea31bb Added PluginDocumentation tests.
0c9efdf Wasn't calling setDaemon on threads spawned in PeriodicFileDownloader.
526ac1e Added URL for codecs module to encode/decode morehelps.
91de0b0 Fix bug that didn't allow commands without arguments in onStart.
8fa457e Guard TwistedCommandsTestCase against not having twisted.
c0eb527 Uh, why did I raise? I don't know. Anyway, handle write errors correctly in _sendIfMsgs.
0314133 Added a few more hints.
1ad2652 Updated.
74d3b78 Added PluginDocumentation to test to make sure all commands have documentation.
7023b25 Added tests for the longest, stupidest bug in existence.
1ad3ec9 Fixed some bugs with removetopic when the topic didn't match topicUnformatter.
1795229 Added dup to rpn and fixed bug with calc and rpn commands that they couldn't do negative values.
0bcffe0 Changed morehelp for translate.
6d9cf3e Added test for empty topic in IrcState.
e039633 Made outFilter handle empty TOPICs.
7d01f9e Made IrcState handle empty TOPIC correctly.
9249df4 Made to ignore empty TOPICs just sent for information.
5974639 Made Enforcer send an empty TOPIC to each channel when startenforcer is called so there is no exception when self.topics is empty.
3eb86b8 Made PRIVMSG and NOTICE low-priority so TOPIC would happen before them.
c45e38b Added ability to send empty topic messages to get the current topic.
b3253df do332 wasn't guarded by self.started.
be45eb2 Reordered some statements.
184e9be Added another tiny test to Notes.
15c115d Added a sanity guard to finalEval and changed a debug.printf to a debug.msg.
8f2766b Fixed UnboundLocalError from a variable name change in debfile.
da329a3 Changed priority of OwnerCommands to make sure it's ***always*** first.
5bc445f Added docstring for CapabilityCheckingPrivmsg
2484ce9 Bold, for Strike. And also a bugfix, so it's not an entirely useless commit :)
7f77e68 Added a test.
9ddc8b2 Forgot a format.
559bd74 Added a randomdictionary example and changed the no matches output in the case where a dictionary is specified.
7501b3a Moved dict stuff to its own plugin.
e59f076 Forgot module docstring.
21f0cb8 Moved babelfish stuff to its own plugin.
49ef542 Added --url option to lasturl.
0719bde Added priority stuff for RFE #799899
0f843dd Fixed stupid failed tests in Notes. I'm retard.
dd6f5de Minor cosmetic changes.
5bcd98e Finally found that crazy KeyError exception being raised, I think.
57146b9 Added tests for src/ modules.
7e80782 Added a test to make sure JOINs happen before WHOs, and changed code to make that the case.
f1a9b3f Added a sleep to the spinloop so it doesn't suck up 100% cpu.
fed6273 Make mention of <snip> in morehelp.
b682b8c Bold <snip>.
39a5879 Fixed docstring for last command and change the way dict shows chopped entries.
0c77571 Added test for searchfactoids.
85fad59 Added whois test.
5944282 Added more example.
dc2e207 Added rudimentary whois command.
596958c Added beGracious, changed to raw strings for regexps, and created test.
d02b425 Added a test for empty [].
3be6255 Updated example to have searchfactoids.
5fbba15 Converted searchfactoids to accept a regular expression.
7b3a62e Fixed bug with empty [] in command.
b2beec0 Forgot to remove a format character after the last commit.
15f4ad8 Converted timeElapsed to use nItems.
2003681 Converted uses of utils.pluralize to utils.nItems.
28b0fdb Made sure to close file descriptors in debfile.
d43b1ea Added dictionaries command and changed the order of the arguments to the dict command; also added --fancy argument to last command.
ea74e4e Fixed bug with multiple criteria in the last command.
b1a40f1 Rudimentary key searching added with the searchfactoids command.
55e3478 Uh, I thought I committed this already...moved functions from fix.py to utils.py.
bef838b The setattr of the _exec function wasn't right.
dd27e3a Forgot to import utils.
1208dd8 Oops, forgot a parenthese.
1d70b27 Added a die method.
f65829b Moved several things from fix.py to utils.py.
708e8e5 Forget docstring and to remove the old regexp.
64459c9 Fixed unColor to be right.
fff4a7d Made a set of the dbs that responded so each db only gets listed once.
9a2f80a Forgot to commit from chemistry.
062231b Added code to allow removal of all factoids associated with a given key.
dab57f3 Fixed bug #800165.
3fb9798 Removed the crazy topicPrefix stuff, it was pretty useless.
d0b7d59 <Strike|work@oftc> I like the extraneous '.' on the end of the factoids.
f719009 Fixed something, although by now I forget what it was. Ah, the doTopic stuff. Yeah, I fixed that.
339375b Made to work again.
fa878a9 Fixed bug in doKick.
dfb1b26 Added a doKick.
a002393 Added test for pydoc assert.
2e23c68 Just chop off the extra if everything is too big; also allow specification of the dictionary.
56e6fbd There is no more BasePlugin.
4200b4a Updated doJoin to use utils.nItems and made it doPrivmsg instead.
bb91ade Updated world.upkeep to return the number of objects that have been collected and updated the upkeep command to return that number.
0791d9c Changed last/lastfrom to the new method as per RFE 798374.
9256468 Changed maxHistory to 300.
67d5465 Changed an if to an elif in lasturl.
1da0f30 Small change in order of sortBy and shrinkList.
c98a25d Oops, forgot the '% word'
f06a552 Fixed bug in socketDrivers and made it less likely to happen with a fix in drivers.
25aca81 Added warning about blocking in the morehelp for cvsup.
0a2d173 Updated module docstring.
f0816d5 Changed bold and mircColor to use the right ender \x0F.
fd57203 Changed a something to an anything and looped until a valid key is given in configure.
4c980ae Added nItems.
5857a17 Added dict command.
9a1959e Made _checkNotChannel return False if it's sent in a channel, and checked that return value in the resulting functions.
a764de5 Added sortBy, which uses the decorate/sort/undecorate pattern to sort by a certain criteria.
64c97a7 Added morehelps for some functions.
7bbb893 Fixed bug where 'alias punish lart ' would make punish raise a 'cannot nest' error.
236582f Changed a popen2 to popen4.
9b2a114 Changed the name of the uptimeEnder function so it shows up more clearly in atexit._exithandlers.
8f475fd The command finder function (I forget the name) would find serendipitously named methods in PrivmsgRegexp, and that's bad. Fixed and added a test for the known case of it.
92b2d19 Made seen command handle actions better.
15fe20e Newest list of stuff for beta release.
9a11e2e Updated.
a846928 Added wtf command.
83707f8 Added normalizeWhitespace.
ebc00fe Fixed logging of ignores to actually say who's being ignored.
5c92c85 Changed socketDrivers to be the default Driver.
9600ada Oops, thought I tested, turns out I didn't. start -> started.
a2d9e58 Changed format of reconnect scheduling log.
1cf1e02 Removed some debugging stuff (clearing msg.prefix before sending it) and added logging to match asyncoreDrivers and twistedDrivers.
2b6f989 Removed useless line.
2bd4a88 Made it reset the IRC object before reconnection, and made it catch connect errors.
57b21b6 Added line for socketDrivers.
ee8dece Cosmetic; semicolon instead of comma.
3fd0463 Attempt to solve the atexit-closed-database problem.
8b1a47b Attempt to solve the atexit-closed-database problem.
35aff3f Added a sleep so we don\'t spin if we're the only driver.
38d1896 Changed to make sure every SocketDriver times out in a conf.poll length.
5313428 Initial checkin.
6c81eb9 Made 'import this' not print.
862489d Modified a docstring
78d32f1 Forgot the world.upkeep periodic event.
85caaf6 Fixed bug in automatic canonicalNaming of non-commands.
aa9f8a9 Added new lart/praise functionality. Now accepts a reason for larting/praising something
38f801f Added thorough testing of new lart/praise functionality
7ae25e4 Removed stupid for loops that I forgot to remove when I removed the debug.printfs.
d1677d4 Changed regexp in Privmsg to be more flexible.
e6bfc72 Minor changes, added some (commented-out) debug.printfs.
0fe7b81 Guarded inserts into sys.path.
011ebfb Made output somewhat prettier.
44972da Cleaned up makeDb.
30d3747 Added utils.pluralize.
1461535 Added test for no reason other than to make sure something worked before suggesting it to someone.
01adb33 Fix a typo
0061e42 Added tableDict, tableExists() and createTables to clean up/fix makeDB()
5c034ea Fixed the onStart load string to match the module's name change from NickServ to Services
07d4628 Fixed a missing parameter to an irc.error() call
488fd6d Forgot self.
cc2689d Forgot to import world.
883287c Added bestuptime command.
c891592 Fixed bug in strlen where it didn't account for spaces.
ea34e11 Added some more description.
35cbbf7 Made RSS docstring more appropriate, now that help works with modules.
7795e6b Fixed help to work with plugin names.
26f28e5 It doesn't work, but maybe someone can find the bug. I can't.
bf5d0aa Updated example.
7290221 Removed the title line from zen's _these.
36ecc4f Added zen command.
442392b Guarded inserts into sys.path.
7a51fcc Removed some debug.printfs.
cdd180a Forgot to move test over to Http with the kernel command.
d0d95cd Fixed odd error in findAliasCommand.
1cd7ccb Found bug in perlReToPythonRe and fixed it.
167acef Guarded against crazy win32 boxes.
21879d0 Turned off color if on a windows box.
b2436f4 Changed %70 to %68 for safety and lining up reasons.
5841566 Docstrings updated.
dfc9f2f Finished change to Services.
97d5ee8 Tyop
f3b2ea9 Fixed our code that caused a bug in textwrap.py.
e623d2e Added docstring and guard for lasturls.
736d46c Forgot to close the file object from urllib2.urlopen.
7911d0f Moved kernel over to Http as per the wishes of the kernel.org folx0rs.
8f40c90 Fixed new pluralization bug in cpustats.
f4fb779 Added docstrings.
5538461 Converted schedule over to heapq from bisect.
f70919f Added a missing import line
ac8a5bf Added question about example and pager functionality.
06f7fef Stupid missing import...
f87eb2e Tyop.
b2d7893 Made self.channels an IrcSet.
b29da50 Hopefully got the prefix thing right.
feff6f7 Added eightball command.
465ab3a Added test for case-insensitivity in key lookup.
953fe86 Made error messages more elucidating in PluginTestCase.
2e4c943 Changed topicUnformatter regexp slightly and fixed shuffletopic so it wouldn't send a repeat topic.
e1e2605 Added question for prefixChar.
900fa49 Changed default on allowEval to False, for safety reasons.
89a0d12 Added tracking of how many commands have been processed.
295c5d8 Added example.
e48024f Added a (almost useless) test for ChannelDB.
fcdcebf Changed the name of NickServ to Services.
2c2031e Made randomfactoid more useful and fixed a bug in unlearn.
60c598b Wrote tests and fixed lots of bugs and usability flaws.
22fcd45 Made sure the data directory is pristine before each test. And fixed a typo.
37f88d5 Added more tests and the lasturls command (and --nolimit option to the lasturl command.
376e404 Added commandsOnStart to make PyChecker happy.
6d7e68f Added tests, fixed the bugs the tests found.
6066376 Handled more user-friendlyily the case where they forget to make plugins a tuple and just put a string in PluginTestCase.plugins.
b6b47b5 Added example string.
4763cb4 Made expect even prettier.
1b2b18c Added new options, more user-friendliness.
3c8a7c2 Used textwrap to make things prettier.
63eb848 Added tests for error conditions.
336108c Added example string.
b6a70d0 Tested basic functionality (not )
83d587b Changed some bugs in configure.
f1d8762 Added module docstring.
740acc5 Brought up-to-date with current plugin template.
f4a057c Changed binascii.hexlify to encode('hex_codec').
c81c452 Added expectWithDefault.
db5c58b Added test for bad modified date.
2935c16 Added example string.
a0bf562 Redid startup/configuration junk.
5860657 Added 401 to the commands that result in a 'no user on this network' message for relaywhois.
aabd095 Moved world.version to conf.version.
50d1b9b Forgot stupid utils import.
d21d868 Added hexip command.
550f0fb Forgot return after irc.error and added test for non-existent location.
ce67b6e Added better error reporting.
c8b09bd Added configure function and example and module docstring and more function documentation.
9d51e99 Added example strings.
5c86cd2 Changed template to wrap lines in example.
b572562 Added utils.wrapLines and wrapped the lines of each plugin's example.
8d66947 Added assertNotRegexp to PluginTestCase.
5756569 Fixed bug in weather, added test for it; added example string.
adbd4fd Guarded the sys.path.insert.
bb1bdd2 Added tell command.
9550971 Added ability for commands to raise callbacks.CannotNest if they are not nestable.
fff9952 Added example template to template.
f9fee97 Made channels description in relaywhois slightly more descriptive.
52dba88 Made much more efficient.
51a474d Added verbose log for spawning CommandThreads.
6b0fbdc Had translate instead of babelize in testBabelize.
8f4bc0c Fixed possible error (uncovered during test) in Irc.die.
6d8a9e9 Changed 'no notes' message to be more natural English.
8f33ff2 Made --at option for lasturl be more natural with domains.
19a9804 Added a test and fixed several bugs it found.
5491d97 Gave a proper error message for a relaywhois is a nick that isn't online.
58d444b More documentation.
09c77aa Can catch re.error instead of sre_constants.error.
3dd176a Updated a whole lot of stuff.
898b219 Unified the ircs' histories, making lastfrom work correctly.
b1a392c Made the driver reset the Irc on disconnection, not connection.
c380995 Made IrcState keep history persistent through resets.
b1e6cc5 Added a reset method to RingBuffer and queue.
ed92fca Changed to make 'too long a message' error messages less inaccurate.
ab56241 Added getopt.GetoptError to exceptions to return help on.
b8550ab Made the driver die in Irc.die.
906b83f Added example.
28d81d6 Made it handle improper arguments correctly; I never noticed that it wasn't doing it already.
c954693 Removed id number from randomurl output.
84c028c Removed id number from randomurl output.
871d685 Added an example and changed the regexp not to allow <> into the URL.
79b199c Removed list of commands in module docstring.
0cf3145 Fixed ugliness (tons of returns?) and SyntaxError (missing parenthese).
cfe4ce1 Fixed ugliness (tons of returns?) and SyntaxError (missing parenthese).
5289f6b Renamed conf.timestampFormat to conf.logTimestampFormat and added conf.humanTimestampFormat.
23321ca adding Notes test case
79fe7d8 Added thread, to make threaded commands in an unthreaded module.
edebbe4 Removed some debug.printfs.
95d6890 Raised the debug.minimumDebugPriority so output during tests isn't so ugly.
b397650 Removed spurious blank line.
075af09 Commented out some debug.printfs.
5eafec7 Made morehelp better for dbadd.
7932c60 Added example, and made dice commaAndify its numbers.
5630782 Made CommandThread work with non-instancemethods.
e30cf69 Added privmsgs.thread, and so nuked ThreadedFunCommands (subsumed into FunCommands)
17f00fb Updated PluginTestCase to allow asynchronous test cases and added test_TwistedCommands.py.
84959a1 I can't even tell what this change is, but apparently there is one.
ad81597 Added fortune command and some more tests.
56117a0 Made the error message in the face of problems connecting much prettier.
eb7b696 Made increase/decrease karma stuff work more like moobot (i.e., require a prefixchar and disallow spaces)
d73abeb Made @karma++ not return [karma++].
a92798c Fixed relaywhois to not require the network if the relay is only relaying between two networks. Also fixed a possible later UnboundLocalError in a few places.
c6f1d74 Tested to make sure capitalization didn't matter.
ebabf61 Changed Candler to delete the database as well as commit/close on die()
18260e9 Removed arg, strsplit, and fixed re to handle s/// regexps too.
c9c77f9 Fixed mime/unmime and docstring.
12ec2a8 Initial checkin.
5bf5938 Initial checkin.
65af254 Raise exception in PluginsTestCase.setUp if no self.plugins.
0f83505 Initial checkin.
3ae2f79 Forgot to reply with actor stuff.
d7ec79d Initial checkin.
6cc3103 Added PluginTestCase.{getMsg,assertNoResponse} and a timeout option to some commands.
7851f3a Added test for Utilities module.
98b0acb Made karma return the highest/lowest karmas when given no arguments.
577e751 Made the output of osuemail a little bit cleaner.
3071126 Added osubuilding command.
5536e21 Added module docstrings and changed argument order of osuemail.
5b2cc92 Weather now works. This is gotenks2's commit.
5234c73 Converted states to lower before checking for membership in the set.
98011fe Added docstring.
63fafdc Added bwp's weather module
5769e4d Updated ChannelDBHandler to always return a new database if self.threaded is True.
ade0976 Added an item.
38e63c6 Fixed exceptions raised by relaywhois.
e18bc38 Fixed asserts to use the new 'all' predicate in fix.py.
a7826bd Added any/all sequence predicates.
6c26e4e Made the response of the upkeep command more useful.
8b05ce6 Fixed inability to find out the specifics about 'die hard'.
57b0c23 Added strlen command.
68b9b5f Guard against an error on exit.
f0b5330 Added a return value to shrinkList, the number of things removed from the list.
320f1d2 Made imdb handle people properly.
f35da83 Added rating to imdb output.
5d554a5 Initial checkin.
53d8837 Added unCommaThe function.
17478da Began some swithover to the new method; mostly I just needed to try a commit.
0743b3e Moved commandArgs outside of __init__.
3fe81eb Added docstring and configure function.
bdd66db Removed comments; removed zipiter (no one used it, and itertools.izip is available now). Added docstrings to all remaining non-docstringed functions.
b86205a Changed out some try blocks for if/else
749003d Removed configuration-related stuff.
f941312 Satisfying PyChecker is my life's goal.
57cc661 Should be able to reload Relay module now too.
147d5cf Finally got the persistent configuration working with the Relay module (though don't try to reload it :)).
9d20105 Fixed grouping of regexp.
1ebfb82 Fixed a test or two.
270982d Has more useful failure messages and does proper tearDown of the irc object now.
8e068ce Made configuration commands persistent, yay!
a11873a Must've missed some sliceIndices conversion.
05eabee Anchored a regexp and fixed a bug or two.
95f5abd Made sure no prefixchars got into the karma table.
1342a76 Removed some debug.printfs.
3c2ce01 Added support for: created by, requested by, # requests to lart/praise/excuse/insult related functions Added more error checking Added a simple pluralizer Added tests to stress lart/praise/excuse/insult portions of FunDB
274ce40 Updated the tests to stress more possibilities
ab93b90 Committing jemfinch's commaAndify fixes
436dc54 Added configuration question for color.
11c7124 Added notification of which record number was added when adddb is called.
f98d1f9 Small refactoring (the calm before the storm, so to speak) to start putting some more config stuff in conf.py.
52fab17 Added docstrings for ignore
0b6fce1 Replaced the last of the specific functions with the general getdb. Fixed some sql statements and cleaned up some responses.
94e25c6 Forgot to guard morehelp command against None __doc__s.
c413261 Fixed crazy quoting bug.
9b3faa1 Removed some extraneous escaping of quotes and switched _tables from a list to a set.
b785cc2 Remove an extraneous print statement
24005d3 FunDB: Made more general get/remove/num/add commands to consolidate getlart, numinsults, et.al. test_FunDB: Started adding tests for FunDB
11a3cf1 Add the missing "onStart.append('load Amazon')"
35c3327 Moved debversion to Debian from Http.
d3fd184 Fixed a few bugs in debfile.
2aee349 Initial commit. Has debfile command.
4610154 Added PeriodicFileDownloader, a plugin mixin that handles the nastiness of getting files periodically.
ae2fc04 Removed/modified some country codes for babelfish modules.
f3af416 Added tests for the babelfish commands (translate, babelize, randomlanguage).
710dcd7 Added the capability to specify a mask for the whois helper.
af9d8b6 Fixed relaywhois problems.
6bfd991 commaAndified timeElapsed.
526e5b6 Added error to babelize in case one language isn't english.
70c43fd Added more specifics for jamessan
588dace Added some more ACKS.
2d6f22a Fixed a bug in the regexp; removed a latent security bug that was just waiting for that regexp bug to be fixed.
088047a Stylistic updates.
97c8d4d Spelled portuguese wrong.
2286248 Killed NameError in relaycolor.
4858770 Ew, modified the original argument in utils.commaAndify.
89e4a3e Added command to turn colorization off.
28a8071 Add babelfish.py and the corresponding translate & babelize functions to Http.py
8c72168 Reordered imports.
ca64671 Removed spaces at the end of lines.
9dc1221 Added the missing 'import utils'
9c17ec5 Documentation change.
8a47be6 Added Amazon module, useful for its isbn command.
01eb693 Added function commaAndify to turn a list of strings into a proper English foo, bar, and baz string.
15ba96b Made the configure script use more natural English.
88e47b4 Documentation changes.
06c36d2 Change to satisfy PyChecker.
137f05b Made supybot report SyntaxError to the user.
edf695a Fixed the karma (++/--) regexes
3e58971 Line shortened.
866916f Made it snarf all URLs, not just ftp/http.
fa51889 Fix for UnboundLocalError in kernel command.
08c9a9c Now plugins that are added to the conf file are removed from the list of available plugins.
c8cafb6 Fixed the problem where 'load Unix' would never be appended to onStart
c5c44ec Added a few more TODOs and a schedule.
2e28200 Fixed extra [y/n] options in expect.
fb07813 Added docstring for PrivmsgCommandAndRegexp
230020a Removed sliceIndices and replaced all uses with slice.indices. Yay 2.3
7fd35a1 Made some changes to satisfy PyChecker.
dcacf9c Added lasturl command.
8b093f3 Fixed some database errors.
7aabcfd Fixed a typo. prfix->prefix
23f2106 Added win/loss/draw percentages to Gameknot.py
861e29c Fixed the total matches problem.
6560f9e Finally removed all the known bugs.
e05a0d1 Found a bug, wrote a test, yay.
5ab19c4 Added test for new snarfing output.
6025eca Stupid regexp error.
a50e81d Changed the gameknotSnarfer to show whose move it is or who won the game.
2c6f505 Added vim modelines.
0f4a78d Added a snarfer for stats links and refactored.
ef4b6d9 Removed some apostrophes so syntax highlighting works in emacs.
e2e277d * added a test for utils.findBinaryInPath
83c44ee * added new utility, findBinaryInPath which searches the PATH for a specific binary * removed getSpellBinary, and replaced with findBinaryInPath calls
352207b * more descriptive morehelp for spell in Unix.py * show total matches and number shown for spell
effb14e Argh, stupid empty lines...I hate when I put those in there.
2b79b65 A few updates to the spell command, and some tests.
99a7386 * added a 'spell' function in Unix.py
3c5be8a Basic snarfing and random URL returning is done.
cae9f9a Added an ignore command, useful for sequencing several nested commands.
62fbccc Removed enumerate.
e3364e0 string_escape is better than unicode_escape.
f2bb968 Added a few more test cases to testDQRepr and made it less fragile.
f9928ba Oops, forgot to re-enabled non-testOrd tests when I committed.
384393d Re-enabled the part that says how many asserts there are.
b299a56 Added a noneFill parameter to group.
00290fa Fixed a possible bug in the ArgumentError handler and replaced my SyntaxError(Error) stupidity.
44d4c98 Had to do a map(int, ...) thing because sqlite sometimes sucks at that kind of thing.
958bd65 Shouldn't have removed it, since it has the hacks for telling me how many asserts it has done.
14043d2 Tyop.
b78caba Wrote some more tests for FunCommands; found some bugs in the process.
074268f Added some tests and fixed a bug they found in the title command.
bbf0f71 Added assertError, assertRegexp, and assertRegexps to PluginTestCase
a5baf0e Stopped coloring networks, it sucked.
1d9f7f3 Added a little del to the reload/unload stuff
9770311 Made Notes notify on PRIVMSG as well as JOIN.
cb6f1a1 Made zipcode handle zipcodefor stuff.
9db6ace Added upkeep command.
5cacbfb Wrong pluralization in karma.
0415251 Added assertNoError to PluginTestCase
d25b389 Fixed bug in calc.
46cf8bb Tyop.
330dfad Added specific logging of CTCP requests.
936c1fd Re-enabled ircutils.nick under a new name (IrcString) and for a different purpose (to make IrcDict and IrcSet work properly).
0231cdc Somewhat working now.
c4005a1 Made the reload and load commands also update linecache, so tracebacks are correctly line-numbered and whatnot.
ebd2113 Moved zipcode over to the FunDB module.
e30aa88 Made the db commit before closing in ChannelDBHandler.
622f96c Made the old callbacks die before the new callbacks are loaded.
6d40bb4 Karma works now.
2dd5a52 Changed nick/user/host of server hostmask to be the hostmask itself. Also disabled _ircmsg import for the time being.
2a4c2ea Nuked ircutils.nick. Good riddance.
7fb632c Changed colorization slightly to include network abbreviation.
9b62a86 Removed an unneeded debug.printf.
88c6c7b Some changes to the karma stuff, I forget the details.
199de7e Changed the signature of canonicalColor to return an (fg, bg) pair. Also accepts a shift parameter which is the number of bits to >> the hash of the string. Both are used in Relay.py.
ad432a6 Added more color to reduce collisions; robustified relaywhois.
d81c1be Moving ChannelStats over to ChannelDB as we add karma and quotes.
39cce9c Changed from 's.find(x) != -1' to 'x in s'
feda60a Updated some tests.
2760c1b Added group and test for group.
eb6fb90 Removed the immutability checks in IrcMsg.
241d20e Removed, since gameknot was the last thing in it.
bba0e6e Moved gameknot stuff out to its own module.
09f2ae8 Made PluginTestCase handle multiple plugins.
0c8ee83 Reduced the number of rot13 asserts to 10.
1a05dc9 Made PluginTestCase handle threaded plugins properly.
2c87c18 Optimized IrcMsg.__str__ slightly.
5f7656c Made throttling properly respect world.testing.
1bbcfa9 Added a semi-accurate refcount measure to objects.
0cf850d Made to use new PrivmsgCommandAndRegexp callback.
f203bca Added ability to define regexp callbacks in a mostly-Privmsg environment.
60fa81c Removed nick hack in IrcMsg; I never liked it anyway.
936effb Removed since the bug was fixed in 2.3.
d7990d8 Added first plugin test case, mostly for example.
84b9610 Added TestCase subclass for testing plugins. (Also removed Cmd class from previous attempt)
f9e6777 Added more docstrings.
90ec43d Removed since the 2.3 cgitb does what I want.
58453cc Added a minimal test for schedule.
abd94e3 *Really* optimized objects command.
02ce886 Added relaysay command.
6dded57 A few minor optimizations to take advantage of itertools.
031c81e Added ilen, a function to return the length of an iterator.
36996dd Updated stuff for 2.3 to break 2.2 compatibility :)
b463337 Forgot to add the % name to the 'no user' gkstats response.
29f0b63 Added some more documentation.
ade9514 Added more documentation.
5ec5b99 Made safeArgument handle colors correctly.
a4b6ee2 Added caching for __str__, __repr__, and __len__.
6e19d92 Forget this with the other 2.3 upgrade stuff.
3b5825e Removed use of eval from the tokenizer.
80b04b4 Added encode and decode commands.
1cae966 Upgraded to 2.3.
b7cb48b Added flip function.
a6f8dda Fixed googleinfo updating.
1230769 Added googlefight command and cleaned up the output of metagoogle command.
f7637bd Added metagoogle command.
ad3fb44 Bugfix in mircColor.
c6a8ceb Slight optimization in getCallback.
33f2818 Made Relay use ircutils.canonicalColor.
1891a46 Fixed bug in deepthought.
51ab17a One line fix that's been in my code for awhile but not committed.
7a281d5 Fixed some mircColors indiscretions and added a test for the new (proper) behavior.
fb730d7 Fixed bug in acronym; why did it blindly remove the first and last responses?
b64e0d5 Added a set of deepthoughts so lookup is faster if the queue gets large.
5644c8d Changed some mircColor stuff.
7c34d8b Minor formatting change.
2a52871 Tweaked mircColor (yeah, I'm anal beyond all reason)
d346d87 Tweaked deblookup and changed its named to debversion.
d326841 * added preliminary version of deblookup module (basically a straight copy of moobot's deblookup with some minor tweaks)
0e16b70 * added mircColor() function to ircutils as well as mircColors dict * added test cases for this function * implemented nick coloring for Relay
ebc3533 This file was hanging back on protocol since it's been less used.
50bcc22 Made unmorse handle underscores in addition to dashes (as longs)
c8fbb45 Made the part command behave sensibly in the face of an empty argument list.
3fe182b Must've forgotten an older commit...
a7daba5 Added some more documentation (though the work is probably not done).
194eb12 Added a module to remove bold outgoing from the bot.
65d2dab Added shrink command. (made it shirnk a little more)
8ba0d3a Added shrink command.
e745ec6 It's a string, not an integer, idjit!
df02bd5 Fixed plurality problem in gkstats.
440a336 Added relaywhois command.
e27f7e5 Had to make it handle -O and -p in the getopt jazz.
6ead5d2 Added psyco option, -O
5f8c054 TypoError
1928b2f Added psyco option, -O
725da85 TyopError
e689904 Changed me handling in lart.
5c0ae0e Changed moduleof to use the canonicalName of the command.
a44ecb4 Made the reliance on conf even less user-intensive.
f8a54c4 Fixed irclib.Channel to use ircutils.nick on its stuff.
d9399fb Added urllib.unquote to foldoc error message.
73c3b81 Changed style of ord command to be cleaner.
046c699 Fixed binary command.
1a704ef Made Markov module threaded.
a6d9ee0 Fixed the null nick problem with the IRC bot's own messages.
d9b994f Fixed bug in Irc.reset.
1131cc4 Changed format of ACTIONs to match normal PRIVMSGs.
51cb83d Made logging for rate limiting more informative.
4c6e33b Added rudimentary profiling support.
90409d0 Braino.
d810fe3 TypoError.
bbb4649 TypoError.
93df6be TypoError.
7d59495 Added another assert for proper IndexError raising.
f2ae4b5 Finally found the underlying cause of the relaynames bug.
82bb295 Fixed enqueuing in deepthought.
ee805e2 Fixed IndexError on empty deepthoughtq.
b1a1c85 Fixed bug in queue.__{get,set}item__.
a35bf21 Made sure utils.timeElapsed doesn't go all decimal on me.
ae3623f Added two more tests.
f35c9e8 Had wrong channel argument in IrcStat.do332.
800efee Removed spurious quoting from acronym.
ec80113 Fixed bug in Channel.
4be5d42 Fixed Http.deepthought to queue thoughts and to import structures for such queueing.
f0c32e0 Stupid SyntaxError...grrr...
76539b3 Made it so if IndexError is raised, the data structure isn't modified in __delitem__
0f018d0 Changed acronym to allow as many acronyms as possible.
b6e9d10 Added import sre_constants.
f10eff8 Added import utils.
9bf2b8a Handled case in last where argument isn't an integer.
c310783 Failed google now handled in googleSnarfer.
663a9f7 Failed regexp now handled in googlegroups.
c5e1e8e Fixed NameError in topic.
00d186c Forgot underscore in isNick.
0cfde66 Fixed a few tests.
66497f1 Added __delitem__ (untested, though)
f407801 Added IrcCommandDispatcher as base class for IrcCallback and IrcState.
db44951 Changed a debug.printf to a debug.msg.
97ce807 Fixed a slight ugliness, use dir() instead of __dict__.
6f7e3e5 Moved queue from fix to structures.
328cdf2 Fixed bug in isNick that was causing the Relay.relaynames bug.
9b56122 Fixed quit function.
82c2a83 Fixed quit function.
1e910d3 Added quit function.
5bc901e Changed foldoc to hopefully stave off the empty return.
c0c5101 Changed to only strip \r\n from right side of last argument.
0934037 Changed utils.timeElapsed to use just a seconds instead of a now/then argument.
345f819 Changed reload to not unload the module if there's an error in loading.
b633960 Fixed lart code not to lart the bot himself.
26f185c Changed some formatting of command relays.
6822cc3 Better error handling for title command.
d7bdb77 Fixed bug in googlesite.
b1e95f8 Started trying to make factoids useful.
737f35c Removed rate limiting during testing.
670669f Initial checkin.
8a5e50b Added show of how many asserts were done.
26a4579 Added slice support to queue.
71bd193 Turned off superreload command.
3c33583 Upgraded to 2.3 version; added a global 'asserts'.
54788a6 Some slightly new helper functions and stuff.
ce6b03d Added a few important helper methods.
45cdde6 Added title command; fixed a latent bug or two.
b037bcd Changed to only message doJoin when the user hasn't been notified of new messages.
8d0d138 Updates to variable names and whatnot.
4f094a2 Changed utils.shrinkList to ircutils.shrinkList.
0aa5ece Trying new syncmail, added Cmd class.
3620be1 Forgot the utils.
0cc386e Change notification to only-notify-of-unnotified-messages.
3f764ea Added more tests.
bef6533 Needed to commit something, this will need to be changed.
5045894 Changed the order of __init__s (yeah, I'm a dork).
6eacfb6 Changed IrcState.history to a RingBuffer instead of a MaxLengthQueue.
ff54eec Swapped implementation of MaxLengthQueue.
fe2f2c1 Swapped implementation of MaxLengthQueue.
8fa7c95 Somehow these didn't get updated when I moved queue to structures.
25daf96 Enabled __slots__ on RingBuffer.
45b4d95 Moved data structures from fix to structures; changed implementation of MaxLengthQueue to a RingBuffer.
ca4ad38 Initial import.
c39fba7 Syntax fix for SQL.
5aa9bea Forgot to import world.
545f675 Forgot to add prefix to IrcMsg in two functions.
b8e3396 Added some (now commented out) debugging printfs.
35d0a3c Decreased size of checkCapability by moving some duplicated code out to another function with no good name.
2456082 New test-passing implementation of checkCapability with debug.printfs commented out.
67e072c Changed implementation of queue.
ebb30d7 New tests.
d9ca163 Had to change PING/PONG handling to workaround non-RFC-compliant servers.
06fe786 Added .reconnect() method to drivers.
e1e6b97 Had to add and \!owner and \!admin to conf.defaultCapabilities
96e2a67 Added say command to OwnerCommands.
5c6a6b6 Changed tests to be more thorough.
8b2ef24 Removed comment.
83e8422 Whitespace change.
c46ae75 Removed spurious parentheses.
959459d Finally passes all tests.
9fee5f1 Again, run tests before committing.
df66715 Oops...should run the tests before submitting new assertions :)
2227f5c Fix for bug in Irc.removeCallback.
e1dfcbd Added partition to facilitate bugfix in irclib.Irc.removeCallback.
7e1eb72 Forgot to change test.py based on change in testing module names.
80e4dfb Added world.threadsSpawned, logging of the number of threads spawned, and added the information to cpustats.
cc61041 Removed commented out stuff, added help string to superreload.
b3e6c68 Changed nick class not to use __slots__.
30322c4 Changed nick class to use __slots__.
8bdfe2d Added docstrings to all the functions.
bacbf53 Lowered the default values for limit on shrinkList and privmsgPayload.
e06ce95 Changed formatting of rpn in case of a non-empty stack.
3188810 Added returns after irc.errors.
b9153e5 Added rpn command.
674fe77 Added some asserts to match RFC more.
c0d511c Added Driver module attribute.
11a674e Added handling for case of a channel with no pairs/follows.
29efc01 Added copyright.
f8bc027 Added morehelp for the whole module.
4b3c916 Added something to stop assertion errors in case of ChanServ stuff.
f6488d6 Prevented deprecation warning and added another logging feature.
a861941 Fixed stupid bug.
0e505d8 Some more .__class__.__name__ -> name() conversions.
7971760 Forgot to import drivers.
85abb8c Fixed strange editing error.
eb44d5c Added new driverModule attribute for driver independence.
77ac7c6 Added newDriver function for driver-module independence.
dc8b430 Fixed reconnects.
ee74036 Changed to be driver-module independent.
499507c Fixed tyop.
ed06656 Moved google groups snarfer to the Google module.
e4fd36f Fixed 'useless reply on bad arguments' in threaded commands; added/changed Combine class.
e4591e3 Changed list command to use cb.name() instead of cb.__class__.__name__.
43ae918 Changed format of rssinfo command.
747d48c Changed a few SQL statements and added oldnotes command.
ab7fd51 Changed morse/unmorse and related stuff to be (hopefully) clearer.
85331d2 Added support for old google (the crazy irc bot)-style google responses.
1c49500 Added strtranslate, strupper, and strlower.
8054a1c Changed format slightly in rssinfo.
7e56114 Normalize whitespace in rssinfo.
9966624 * Corrected the gameknot Forums regex to not require the ("&r=\d+") part since not all the URLs necessarily have it. * Added the game title to the output as well (haven't done a ton of testing on the regex, but it worked on every game I tried it on)
c506306 Changed size of results and removed list of commands.
aa3e7da Whitespace.
4cb24f7 Added robustness changes and manhole stuff.
1178536 Added Combine, a callback to combine two Privmsg callbacks (most often Privmsg and PrivmsgRegexp)
5adbaf5 Made the join command not send the WHO command if the bot is already on the channel.
fa53cf3 Rewrote dict command.
c99f688 Changed to use ircutils.shrinkList.
7fa59b0 Changed definition of notFunky to include extended characters that might not be printable in my locale.
73a5de9 Scheduler implementation changes to be (hopefully) more efficient, to pop() rather than pop(0).
77154f2 Changed asyncorePoll to just 'poll'
b321ca8 Wrong number of arguments on error.
32268cd Removed unused import.
ba67e2c Made it htmlToText headlines.
8d50d79 Added new getopt capability to google command.
e9e8122 Initial import.
06b3929 Naming scheme change.
984e29e Initial import; new naming scheme.
df3dcb7 Various updates.
ce27a25 Initial import.
15f7dfe Make Irc.removeCallback shorter and more readable.
5a11ebd Fixed searchports somewhat.
110eb47 Qualified foldoc raise of ArgumentError.
aafc138 Fixed permissions bug.
42e1a7c Added morehelps to all commands.
243e6ea Removes list of commands in module docstring.
b11c3f4 Added notification on join of unread/unnotified messages.
dd3ebb6 Moved file writing to later in the run.
8a18f03 Comment changes.
481c9f3 Fixed changetopic to use utils.perlReToReplacer and added help/morehelp for all commands.
d5484f6 Added final morehelp docstring.
cd73dfb Changed formatting in presence of lacking titles and made it respond with as many results as it can.
9941d35 Updated significantly; channelstats command added, bug fixed (frowns was only counting smileys)
bd07133 Initial import.
aecad2f Changed re command to use new utils functions.
a11f302 Added perlReToPythonRe and perlReToReplacer and associated tests.
b40431c Added docstrings and method skeleton.
82c7d58 Began switch to allow notifications.
f67fa45 Added repr command and fixed strsplit.
25d90d6 Changed a few typos: irc.users -> ircdb.users.
5ef41fa Added IrcMsg parsing time logging.
7868702 Fixed gkstats so that it doesn't display duplicate text with gkseen
c7a867b The 'seen' regex for gkstats was changed back to searching through text instead of html.
c251ad3 Various code changes.
8d6174a Ugh.
71cec26 Stupid variable name.
a55386a Forgot stupid args to privmsgs.getArgs()
9ad27d4 Added <filename> argument to logfilesize.
ea7a319 Forgot to map(len, L).
7f21380 Forgot to import operator.
71d13d4 Forgot to self. cursor.
250cf8a Changed implementation of notes command.
ab1d8ce Fixed typo in irclib, forgot to fix it here.
31d2de0 Added nice 'nicks' attribute.
49b8982 Added keyword argument to recoverableException to determine the type of exception logged.
f5cf223 Added allowed escaped strings to shlex.py
5c3cf2b Made PrivmsgRegexp use isCommand.
2423481 Fixed gkstats to not break on people hiding their online status. (closes: #720926)
0d99f06 Removed makePrivate.
2230149 Fixed moduleof command.
d4ee42d Fixed moduleof command.
d53a184 Fixed moduleof command.
a5e7a19 Added superreload command.
f94c1a2 Added moduleof command.
2148a6e Added proper ArgumentError handling for threaded callbacks.
aa47782 Added better handling of ImportError.
c6e47e6 Bugfix, hopefully
217f30b Bugfix, hopefully
fd22551 Commented-out debugging printfs.
4b0fd19 Overhaul of RSS.py: * Changed caching mechanism to cache the entire feed instead of just the responses * Added 'rssinfo' command to access the RSS info elements like URL, description, last updated time, etc. * Updated docstrings and configure for the 'rssinfo' command
e3e7ce4 Made assertions more useful.
18d9d59 Rewrote Alias implementation
4caedf2 Converted some %d to %s.
33f7660 Fixed removal of leading whitespace on last argument in parsing messages.
6287d61 Added dqrepr.
7f90fdc Added log of PING-based disconnect.
662024d Changed ChannelLogger to only log channels.
4e14a85 Added verbose logging of tokenize times.
d7fce63 Finally fixed looping bug. Really. I mean it this time. I fixed it. It's gone.
f1ee8b1 Typoed variable in class Irc.
066ed44 Changed seen to use utils.timeElapsed.
f6a286b Fixed makeNewAlias to allow and better argument handling.
4c67a96 Fixed bug in xor.
c92386f Changed ISNULL(word) to word ISNULL.
13109d1 Changed word=NULL to ISNULL(word)
62a833f Added markovfirsts command.
8b0f622 Added markovfirsts command.
fd43eea Fixed re command.
bd8de87 Fixed re command.
62c407d Added re command.
e5c5808 Must've forgotten to commit this earlier.
9253ce5 Stupid lack of import...
96e79c2 Fixed behavior for actions.
3ddc088 Forgot to move two lines under the fix.
c282ead Fixed UnboundLocalError.
f39b35e Must've forgotten this one earlier.
019a648 Changed dictionaries in IrcState to use ircutils.IrcDict.
d596752 Fixed bug (no __delitem__) in IrcDict and added test.
6aa1e8a Changed many dictionaries to the more appropriate ircutils.IrcDict.
5a8f0ce Forgot to put backtick in validchars.
7828b73 Stupid variable name changes...
0485516 Security fix.
b24d360 Just changed some inserts into _mathEnv to be in the initial declaration.
fd4c20c Added is_first field to database to make sure markov phrases start naturally.
78b44e7 Changed markov command to know when to stop instead of taking a length.
9de8e31 Slight format change to gameknot snarfer.
021f8b6 Added more tests.
5764cbd Whitespace change.
4d4bb3a Wrong variable in join command.
a576de0 Made ChannelDBHandler lowercase channels.
241e493 Initial import.
67cbd83 Closed bug 715763, 'Several JOIN commands don't allow specification of a key'
227f6e1 Made isIP actually test properly and added tests.
c1dd820 Fixed isNick to allow digits and added test.
436b5e3 Template forgot advanced argument to configure.
d16c6aa Initial (non-functional) import.
5138606 Finally got QUIT relaying to work.
5518f75 Wrong index.
f4d187b Added __getstate__ and __setstate__ to set and Channel.
64b60dc Trying different index.
7890e9d Added some debug statements and fixed outFilter.
6327960 Added test for MaxLengthQueue.
5da85d4 Forgot to actually enqueue in MaxLengthQueue.enqueue.
9295254 Wrong index.
a79df8d Stupid typo.
595821f Forgot stupid __getstate__ and __setstate__.
c19bae2 Forgot stupid self.
79a1d35 Added and started using MaxLengthQueue.
67412da Fixed stupid bug.
f6c46bc Change to irc.state.copy()
896ce38 Added __getstate__ and __setstate__ to IrcState
d37e229 Fixed non-relaying of QUITs.
59b6a7b Fixed stupid regexp.
1bc77ba Added getlart, getexcuse, getinsult.
091f287 Fixed the unallowed dashes and underscores in command names.
c849eda Minor changes.
8c9811e Changed AsyncoreDriver to accept an irc as an argument, hopefully fixing the looping bug.
60169ac Raised 'too many exceptions raised in too little time' limit to 10 exceptions in .5 seconds.
088e984 Commented out debug.printf statements.
e5a6f83 Added morehelp to googlelicensekey
1113173 Initial import.
f76dedd Fixed verbose logging of command times to only print once for threaded commands.
ce1435a Minor changes
24129e2 Moved from plugins/deprecated/
bdd6207 Stupidity
33a9e88 Changed strsplit and arg.
15487a6 Fixed arg.
22155c2 Fixed AttributeError in strsplit.
c8c7c40 Added arg command.
4cdf013 Improved formatting of headlines.
a5a1211 Added check to make sure a user's hostmask doesn't mask another's.
3c41919 Fixed length check to be 512, not 450.
2c97e73 Added changes for world.testing and inserted 'plugins' into the sys.path.
96d5355 Added more tests.
705ec27 Fixed PyChecker complaint.
2047dd7 Added something(prompt).
822a125 Added check of world.testing so nasty exceptions aren't printed during testing.
6f7a33c Minor changes.
9a79c6b Added echo command.
94e753a Added configure to optionally disable progstats.
1035e92 Added configure.
1bf368a Fixed typo.
6adf5cf Totally changed interface and added configure.
11ae911 Added changes from jemfinch.
e5b0cd3 Added configure.
fa3e65d Added configure and proper length coverups for bad words.
51f80c2 Upgrade to asyncore from 2.3; removed fcntl dependent stuff (since I don't have it on my system).
a07136b Support for new module-level configuration.
6305958 Initial import.
89fca3e Forgot to add 'src' to sys.path
89fa785 Added command timing to the verbose log.
58902cd Forgot two stupid newlines after the comments.
6e0aff9 Added more support for passworded servers.
16374c5 Fixed bug (and added test) in distance.
1b79a30 Added check for owner capability in IrcUser.checkCapability
ec2908b Added more tests.
02ba017 Added joinModes function; docstring to bold; assert to separateModes.
584237d Added exception list support for ban and bans; changed the order of arguments in user; added password command
4f54eb8 Added 'quotes' to docstring (wasn't there before)
7d2a096 Added check for rateLimiting in Privmsg.doPrivmsg (didn't check before)
66236e1 Added support for PASS command on connect.
d625b56 Added arstechnica and advogato; restructured to make adding feeds quick and easy.
43c0de7 Forgot to import time.
6976d58 Removed slashdot and moved it to RSS.py
78a2a21 Initial import.
01b9ae7 Changed to be entirely interactive.
99364a2 Changed slashdot to use rssparser and also to remove all stories if the resulting message is too long.
1e353f7 Initial import.
83dd73a Fixed bug #715340, nested commands not parsed correctly.
9c78731 Added morehelp.
047470f Fixed gkstats 'last seen' regexp.
a708471 Added morehelps and change a gkstats regexp slightly.
ec88721 Made queue pickle-able.
6d3c060 Made sure all authentication was removed on bot exit.
f078d7f Changed IrcState.history to a queue().
e93f0e6 Pulled out questions.py, added a few more niceties.
d9263c8 Initial import; pulled out of scripts/setup.py and put here for public use.
2aecb6b Added more tests
b6608b9 Added flatten.
f4b1884 Made it more interactive.
8f16571 Fixed stupid syntax error (wrong quotes around praise)
1d23d06 Added tests for isAction and unAction
27c8854 Added commented-out test for when slice support is added to queue.
277a1a3 Changed conf.minHistory to conf.maxHistory.
6f49bd2 Added a few more tests.
e4715d4 Added length=0 handling to soundex to return the everything.
b8f2bbb Another go at fixing the looping bug.
a50643c Added soundex to utils (along with a test) and to FunCommands.
4790d58 Initial import.
d708a6f Re-enabled __slots__ and added __getstate__, __setstate__
d0a569e Added rawmsgs, msgs, and getMsgs for easy test messages.
eed4d68 Initial import.
cf5af96 Added __getitem__ and __setitem__ tests, as well as an IterableMap test.
d6059ac Added proper ValueError raising when there's no command in IrcMsg.__init__.
cf8c5c0 Changed Channel to make it more in-line with future sets.Set.
a3c4b9b Lots of updates; most importantly, queue() and set() now take iterables as their single argument. Note that this will cause configuration file breakages.
bc56b5b Added comments to denote sections.
7a3d06a Changed NOTNULL to NOT NULL and the order of the methods (yeah, I'm anal)
e962cc1 Added test for abbrev and fixed a bug it found.
100d0fa Added levenshtein distance
c88b431 Initial import.
ae18871 Fixed bug found in IrcChannel.checkCapability
061f2e0 Added __ne__ method to IrcMsg
9a39417 Added more tests.
b7e11b8 Initial import.
1855baf Added more tests
a46ce6b Changed the way Irc handles unresponded-to PINGs.
29effdf Made sure the bot responds with uneven quotations or brackets.
d4d81f0 Initial import (to fix bug in 2.2 and 2.3)
8d2ac8c Changed nickToLower to toLower (it works for channels too
40b8eb3 Changed ircutils.reply to ircutils.replyTo
20032a0 Added __len__ to set.
ea787b8 Fixed bug in printf
46eb878 Changed validArgument to isValidArgument
771f075 Fixed new bugs caused by assertions
b5d47aa added numlarts, numinsults, and numexcuses
ebdd969 Added docstrings and assertions.
33b4aa0 Changed debug.debugMsg to debug.msg.
e88a5a3 Added logging line to scheduleReconnect
a30ee6c Changed IrcMsgQueue a bit to make it even more smarter; Added reconnection on ERROR disconnect; Added reconnect on returned PINGs.
d6087e2 Added i to _mathEnv
69cbe9f New tests
689f440 Had safeArgument logic flipped
e186cd0 Changed drivers.close() to .die()
1eb088d Added timeElapsed and converted FunCommands to use it.
eb9e5c8 Changed drivers.close() to .die().
fa10737 Initial import
d5c5e12 Removed funkyArgument; now we use safeArgument which does the repr() itself.
10e8965 Fixed some bugs found by PyChecker
36f7c77 Added needed import and change debug.printfs to debug.debugMsg.
ea11c0e Whitespace changes
8fde27d Creates better, smarter templates.
e9a5ad1 Removed; subsumed by a smarter scripts/newplugin.py
1dc82ec Made set more in line with the sets that will be released in 2.3
981c216 Added some asserts.
f82383e Changed default verbosity
0dfaa78 Normalize whitespace in pydoc
336c6fd Added period (yeah, I'm anal)
6b4636e Fixed bug in argument handling
073188e all systems go, added some pretty stuffs to be STYLE compliant :)
c3ecba3 Initial import
16a16a0 Removed PyChecker warning
0984db5 Basic test running added
9e05519 Changed driver.die() to driver.close()
f682f63 Made catch return and fixed __repr__ of queue.
a5fc83e Finally fixed looping bug
7c31468 everything appears to be working, please lemme know if it barfs
924d48e Prettified acronym's morehelp
a75910d Initial import (placeholder)
f1b02e6 Formatting changes to netcraft and gkstats.
59a803d Ugh, stupid bug.
fcb0403 Added proper response for invalid hostnames
c49bd6f Fixed handling of channel capabilities
2b2f935 Added some information, removed others, etc.
6385806 Changed a message to be more accurate
3384780 Forgot to remove the creation of debugging files.
089d032 Fixed AttributeError in cpustats
818f01e Converted Irc.fastqueue to a fix.queue
5ef1d3e Added keyword arg to htmlToText to determine how to replace HTML tags.
dcf7fa5 Added some more functionality (__iter__, __eq__, __repr__) to queue.
d7e3b18 Added more intelligence to IrcMsgQueue
75768aa Added netcraft command
487c99c fixed output when querying for all unread notes
b21071c Fixed bug in load and removed Sorry.
99cb357 Fixed pydoc command to allow getting docstrings of objects in __builtins__.
3f3d26d Added check to make sure logs/* were normal files.
10a0fe9 Made uptime command not based on loading of FunCommands module.
c31167e Stopped catching exceptions in the wrong place in callCommand.
806a45a Reverted back to non-exception-raising irc.error.
952b7b6 Added pydoc command
7e8aab6 Added check for duplicate module loading in load command
f82170d Backed out previous change
f4d6ba0 Changed 'too many exceptions raised' time to 0.20 seconds, not 0.05 seconds.
508ed5b Added queue implementation
4123a9d Stopped clearing conf/
798bac6 Found and fixed the bug that sucked up 100% cpu when the network got disconnected.
ecdcabb Most structure and commands in place
3da6310 Added some fixes; seen command works, and stats somewhat works.
dae47de Basic framework in place
cd5781c Added flags class attribute to PrivmsgRegexp
f0cfa30 Added QUIT propogation
b61539a Oops, bad search/replace regexp put a privmsgs in the wrong place.
a54020a Fixed bug #711056
e06f07d private/public messages working now
c618a8f getnote (almost) works now
46f3012 Changed privmsgs.getArgs to raise ArgumentError, and make the necessary changes in callbacks to Do The Right Thing
df77cfa Fixed minor bug in IrcMsgQueue and removed needless if statement
a52a1fe Forgot to change the class name
988618a Altered lithp command to handle 'z' and changed a list comprehension with a builtin to a map
bfc6533 Changed OverflowError message.
880e004 Added better handling for OverflowError
c599e99 Added binary command
9b5739c Added advanced/not advanced questions and check to make sure the server resolves.
390c1fa Attribute mode changes to someone
4c3944d Added question to see if user wants to set user/ident
2ce7729 Fixed minor style bug
aa9c867 Fixed spurious exception atexit.
c700f3c Straightened out some IrcState inconsistencies.
2bb3189 Fixed nick and mode change propogation
b147dfe Added some (now commented-out) debugging statements
e9f41a2 Fixed variable name typo
68440bd Added proper NICK handling to IrcState
534c367 Slightly modified acronym regexp not to capture extra groups
d6f7fef Changed acronym to use %r for definitions so they get quoted.
f9cdb62 Added nick and mode propogation
2806ec0 Fixed double-reply on bracketed non-commands
8e32a7c Fixed variable-name typo in funkyArgument
fb756c8 Removed trailing newline that was causing trouble in parsing configuration file
68dbb32 Added __future__ import
371210d Removed Utils.py because it conflicts with src/utils.py on case-insensitive OSes
0fc8e5e Initial import; conflict with src/utils.py
0f6fe97 Fixed a single-quote bug in Tokenizer
817e967 Made funkyArgument a bit more concise.
8fd1d71 Made lithp a little more naturally lispish
10a65f7 Added abbrev
b1a2b87 Adjusted the regex. Added morehelp response. Adjusted the request so that it specifies a browser (site does browser-checking). Used some list comprehension to show only the first 5 results.
50cb288 Modified how entries are added to self.revcache
fc0bbc3 Removed a print statement
a2d004b Fixed gkstats so that they work with utils.textToHtml
f7939bd Finished the google groups fix. Added a check for links to framed pages in order to grab non-framed pages to parse through.
ce741a1 Added changetopic
848ec44 Whitespace normalization
f7c4090 Initial import; going off Ofnibot's source to start with.
9e97a96 Added source command
fc1b9f8 Added question to ask if the user wants the bot to join any channels
6859415 Removed a few unused modules PyChecker noticed
ce03a98 Fixed a few errors found by PyChecker
b943daf Accidentally commited earlier; just a few style changes and docstring improvements.
85e7e3a Removed CHANGELOG and TODO, not very useful these days
4713976 Made list command sort its response.
4340162 Um, weird typo.
c428066 Fixed 'let's send a new topic every second' problem.
2249017 Made single quotes not quotes anymore. Now only double quotes and backticks work.
8d857b6 Changed lithp command to change ss or SS to just th.
42d2067 Changed lithp command to change Xes too.
c85b3bc Changed lithp command to be case-insensitive
c080418 Added lithp command.
e861a8a gettin' there, slowly...
5f5ef91 Trying converters out.
a4ff3ab gettin' there, slowly...
e99df44 Added topic propogation
25e7156 Formatting changes
55aaa59 Changed DBHandler to ChannelDBHandler
5f77c05 and we're STILL fixing syntaxproblems
bce7b6f Changed stripHtml to utils.htmlToText
332c2cb Debugging messages commented out
b0daafe *Really* fixed now.
0dbab5b Fixed stupid nick-handling bugs
9808581 Still toying with sql syntax
2db2f64 Fixed NickServ module.
0863a95 Removed a useless variable and changed a response to use conf.replyRequiresPrivacy
042f455 Removed a useless if statement and changed the order of another
3059118 A little better error reporting
fb150d0 Made configuration file parsing more flexible.
a4ae47d Made sure there can't be an unpack tuple of improper size or empty blocks in the config file.
39afa87 Added another blank line at the end just in case
846b485 Slight efficiency increase
88dbed3 Took out short blurb about GPL (Strike gave consent)
cd35045 Fixed leftover debuging line and TypeError
c41b2c2 Began fixing google groups parser.
b43acf0 Fixing relaydisconnect not to call otherIrc.die, since that kills the callbacks.
d33e679 Forgot msg in someIrc.reply
f97ab0d Fixed IrcObjectProxy.finalEval to give help in the face of an empty Error exception (like that raised by privmsgs.getArgs)
406b263 Fixed getArgs to raise an empty callbacks.Error on invalid arguments
551a68c Added @getprefixchar
c582cd9 Finished polishing relaynames
b67f2fa Fixed showing of originating server in relaynames, and showing of empty name
a144afc Fixed showing of originating server in relaynames, and showing of empty name
54221f1 Added relaynames command
3cea056 Fixed exception-raising problem.
41aa44e Fixed bug in handling of outFilters returning None
954951e Added conf.detailedTracebacks to determine if cgitb should be used.
fc20715 Added utils.py, with a quality HTML stripper; removed stripHtml from other source files
f355465 _gkrecord regex needed to be before stripHtml. Also fixed the _gkseen regex since there is not always 2 spaces. Used \s+ instead.
3cd7272 Satisfied PyChecker
e3309c3 Satisfied PyChecker
714de6b Irc.callbacks is always mutated, never replaced, helping the Relay module out.
37b9342 Accidentally left a debugging statement
b95095d Added cvsup command
15e2657 Fixed funkyArgument to allow bolding.
bc93b29 Fixed memory leak that disabled Google command
4da96fb Fixed stupid bug in outFilter (* is a special regexp character)
5e785ba Added ability to override conf.py defaults with -c option
2719dcd Changed default for telnetEnable to False, for obvious reasons
5db1dbd Changed idiom in doPart to be more like others
c62a65e Fixed a few bugs
da27691 Fixed join/part being relayed bug
e3cf575 Fixed problem with actions being relayed back to the original network
f32efbf Added Friendly.py, a module to be friendly to people.
5954b72 Removed friendly.py; it needs to be renamed Friendly.py and stuck in plugins/
256e2e0 Fixed stupid bug in outFilter (forgot *not*)
34a4713 Fixed stupid bug in outFilter (extra parenthese in regexp)
fae918a Fixed stupid bug in outFilter (forgot to return msg)
32262af Changed over to privmsgs.CapabilityCheckingPrivmsg and finished relaydisconnect.
d5c7789 Made bot relay its own non-relay messages and factored out formatting of PRIVMSGs.
c268078 Fixed action handling
ca08509 Split UserCommands out from privmsgs.
d1a5457 Changed privmsgs.CapabilityChecker to privmsgs.CapabilityCheckingPrivmsg
2404efa Made it a bit more user-friendly and useful; added owner user creation.
b640aa7 Fixing SQL syntax
f785d97 Fixed users/channels instantiation to allow for non-existent files
0663267 Updated setup.py to reflect moving-out of various *Commands from privmsgs.
6dc64ce Broke AdminCommands out of privmsgs.
5844a14 Separated MiscCommands from privmsgs.
c299956 Fixing little syntax errors
b040e85 Broke ChannelCommands out of privmsgs
cbfcd0b Removed dumpdb.py and makedb.py, both useless since the conversion to SQLite.
935b09d Made major changes to make it nearly functional, added methods to read, send, and delete notes
979ed77 Re-enabled the old reloading method, we'll see if it comes in useful.
20c37dd Put setDaemon in its proper place.
ee6a33b Made making modules that rely on certain capabilities being preset much easier to to write (CapabilityChecker)
21ad5fa Finally somewhat functional.
67944a8 initial import of Notes plugin (in progress)
4679d9b Added strsplit command
1da16fc Removed factually incorrect information
37ce2de Changed bareword to actual string.
df45ce1 Fixed html stripping in foldoc.
6aacef4 Fixed FunCommands.lastfrom actually use channel argument
1f88cd4 PyChecker found unused imports
6c3e6d7 PyChecker found another non-selfed variable
a13c55a PyChecker found a non-selfed variable
587c33c PyChecker found a typoed variable name
e7da39d Untested, but close to functional
e112e32 Still buggy, but more featureful
5fa489e Fixed bug in IrcObjectProxy.getRealIrc: issubclass->isinstance
56a204b Made isCommand checking more flexible.
8ab1e98 Removed useless try/except block.
1623c59 Added __eq__ and __hash__ to the Irc class (necessary for the Relay module)
a848a89 Took out a few things, added a few things.
05b6303 Added extra line before vim line at bottom.
db69351 Do a msvcrt.heapmin() during upkeep on Windows
4d43fe1 Changed nature of threaded implementation to give more descriptive debug messages and to catch and report uncaught exceptions.
1808366 Removing sandbox/makescript.py
6ba9b0f Removing sandbox/anagrams.py, which isn't necessary because FunDB subsumed its features.
a54068d removing sandbox/debian.py
01a2b06 Removed sandbox/8ball.dat
2a5f817 Removing old files.
ead342c Changed defaultCapabilities to a set() instead of a list
f9b755e Removed auth from un-disable-able commands
6d56a86 Forgot irc.reply(msg, conf.replySuccess) in addlart.
76fb597 New style guidelines for SQL.
73244ba Fixed a typo in the docstring of getArgs
17815fb Don't complain about not adding messages to the message queue when world.startup is in effect.
ff8a967 Moved startup to world.
273e426 Changed randomquote to give the number of the quote
b38e5e2 Initial import; workaround for bug in Python 2.2 rfc822.py
468efc0 Added link to SF.net page
d07305b Stylistic bug
4469382 Finally fixed unidentify
1ceab43 Fixed bug in recent commit: msg -> self.msg in IrcObjectProxy
96b03bf Fixed checkCapability to handle anti capabilities during startup
90687f6 Fixed minor period-bug in a docstring help
423e066 Fixed unidentify to not require a name/password.
eabd3c8 Removed auth/unauth aliases for identify/unidentify
657526b Fixed makeAntiCapability to Do The Right Thing in the face of channel-like capabilities
03c50ff Made a helper function tokenize(s) so it can be called instead of Tokenizer().tokenize(s)
57b2fff Added itersplit
d3e28c1 Fixed randomquote in the face of an empty database.
4b6f87f Fixed an AttributeError (connection->conn)
6fa4679 Fixed a stupid variable name (def\!)
5651ae2 Fixed a platform-dependence bug and rewrote some config file parsing to be cleaner.
fa261c0 Added acronym and geekquote commands and triple-quoted method docstrings.
958d1c9 Added kernel command
967a747 Added comment about debugging prints.
5af91f0 Added comment about joining strings
2b7e8c7 Some documenation updates
a4cf067 Changed a typo and updated a slight misrepresentation.
2e00779 Initial import; expect function and roadmap done.
eb48daa Added default module docstring and imported privmsgs and callbacks by default.
0afc399 Added module docstrings (which will later be used by the installer script.
bf25751 Added module docstring and dawdit alias for unmorse
54e0c07 Added module docstring and removed nslookup/host as aliases for dns
8bafe4e Changed module docstring and the order of arguments for startnickserv
0535b87 Corrected my gkstats _record regex.
0294dd2 Made the 'record' regex more generic. This should make it work for everyone. Added a check for 'Team', since not everyone will have one.
c803e5e Added vim:set ... : strings to source in order to keep file formatting consistent between developers. Jeremy should be adding the equivalent settings for emacs soon.
7851ea4 sets aren't lists, and don't have .extend().
b6e98a5 Added slashdot command (thanks, inkedmn!)
c628d60 Fixed UnboundLocalError
089e6a4 Fixed a lot of RateLimiter problems; solved Forums.gameknot problem. Also made irc.error raise an exception (that's later handled) in non-threaded callbacks, so there's less a chance of error in not returning after irc.error.
8c27ab7 Slightly changed format of gameknot URL snarfer
300cb1d Removed printf debug
27deaaa Fixed UnboundLocal bugs, caused by not returning after irc.error.
d91b9e9 Added team and "last seen" info in gkstats
b8189d5 Fixed morse code
52b1270 Removed __init__ and created _revcode more naturally. Also added some morehelp strings.
5aea60b Added @give command.
24c6eaa Fixed chr command to take hex/oct/binary literals and added a base command
8d287c2 Fixed bad pluralization in cpustats
f606623 Stupid tabs.
94c10ca Changed format of gameknot URL snarfer.
7e5162d Fixed various non-closed urllib2.urlopens; changed gkstats to respond appropriately if there's no such user.
25d4f12 Fixed lacking irc.error and irc.reply in PrivmsgRegexp; pulled reply functionality into its own function.
3a6c557 Added ord/chr commands
fcdcd11 Changed gkstats command to respond that the user wasn't found on nonexistent users.
d2f5614 Fixed strjoin and added strconcat
4670e6d Added license.
c86363d Made gameknot.com URL snarfer bold the names.