Commit Graph

3166 Commits

Author SHA1 Message Date
James Vega
b2c45caa66 Factoids: Pass channel to whatis when being called from search
Thanks to Daniel Folkinshteyn for the fix.

Closes: Sf#2965589

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 209facd242)
2010-08-24 19:44:45 -04:00
James Vega
be9128b3ec Internet: Use whois-servers.net for all whois lookups.
rs.internic.net seems to be broken and using $tld.whois-servers.net looks to
be working for everything.

Also need to update the line termination string to use '\r\n' instead of '\n'
since some servers are strict about receiving the former.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 397cbbe0d3)
2010-08-24 19:44:18 -04:00
James Vega
8d94ff743c Include hostmasks in JOIN, PART, QUIT logs.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 4a9596608a)
2010-08-24 19:44:10 -04:00
James Vega
0933621dab Factoids: Prevent empty key or value when adding a factoid.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 10f5a12b7e)
2010-08-24 19:43:56 -04:00
James Vega
455b5631bc Update plugins to ignore all non-ACTION CTCP messages.
Also update commands.urlSnarfer to do the same, which allows us to revert
"Don't bother snarfing URLs from non-Action CTCP messages."

This reverts commit 3282e3407e.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 288d7c6e02)
2010-08-24 19:42:11 -04:00
Jeremy Fincher
e2cafb2e3d Don't bother snarfing URLs from non-Action CTCP messages.
(cherry picked from commit 3282e3407e)
2010-08-24 19:41:49 -04:00
James Vega
f35e68cd65 Network: Properly parse WHOIS response
The 319 message that indicates which channel(s) a user is in prefix the
channel name with the modes (@, +, !, etc.) applied to that user.  These need
to be stripped from the channel name before we feed it to
irc.state.channels.get(), otherwise when irc.state.channels.get() returns None
we assume the channel can't be private and leak information.
(cherry picked from commit 408ab6f88a)
2010-08-24 19:41:30 -04:00
James Vega
afb4e1e07f Use 0 when no results are returned for Google.fight
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 3689460d0f)
2010-08-24 19:40:54 -04:00
James Vega
a7c924b466 Switch from using the various popen flavors to subprocess.Popen
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit fbdc44ca52)
2010-08-24 19:40:23 -04:00
James Vega
c53f8cd510 Rename Owner.log to Owner.logmark
Since every plugin has a log method (to do actual logging), the log command
was conflicting with that.  The attempted workaround was overly complicated
and broken.  Simply renaming the command to logmark simplifies everything.

Closes Sf #2889709

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit acaa9b1fd6)
2010-08-24 19:21:58 -04:00
James Vega
0bd9a8b6f4 Use the correct URLs for the PySqlite website.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 927c8c963a)
2010-08-24 19:15:27 -04:00
James Vega
dcdbd5bea4 Update references to PySqlite URL
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit f475525237)
2010-08-24 19:15:17 -04:00
James Vega
f0852a9e45 utils.web: Provide access to the raw httpUrlRe/urlRe strings
Using the compiled regexps for a PluginRegexp method's __doc__ doesn't work.

Closes Sourceforge #2879862

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 25fc2de643)
2010-08-24 19:14:58 -04:00
James Vega
bb4e09886a Use utils.web.httpUrlRe for the Web/ShrinkUrl snarfer regexes.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit ca917d3528)
2010-08-24 19:14:36 -04:00
Benjamin P. Burhans
750fb2ccdc Check for empty word list in BadWords plugin before filtering.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 6418b3d8c3)
2010-08-24 19:13:09 -04:00
Štěpán Němec
bc1c159d27 QuoteGrabs plugin: Add an `ungrab' command.
Also add a missing error check in the `list' db method.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit e922918564)
2010-08-24 19:09:43 -04:00
Štěpán Němec
4cc8fdecdc Note plugin: Fix erroneous use of __contributors__.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit a693162059)
2010-08-24 19:03:27 -04:00
James Vega
6bebc383b4 ChannelStats.rank now starts from 1 instead of 0
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 169aee3bc0)
2010-08-24 19:02:58 -04:00
James Vega
885d60a132 QuoteGrabs: QuoteGrabsRecord at arg needs to be an int.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit cbf68e53e3)
2010-08-24 19:02:05 -04:00
James Vega
d43d083f44 User: getHostmasks should always return a string
Since it was calling irc.reply() in one case, we had both that irc.reply being
sent and the irc.reply() of what getHostmasks returned (None in that case).
Bad!

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit dcb247494e)
2010-08-24 19:01:55 -04:00
James Vega
965f4e79b8 User: Fix hostmask.list to show the user's name not the repr user object
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 9dccada152)
2010-08-24 19:01:44 -04:00
James Vega
7aeedea6f6 Updated ChannelIdDatabasePlugin's getCommandHelp signature
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit c9329303d3)
2010-08-24 19:01:26 -04:00
James Vega
26cefc78f4 Channel: alert should not require the caller to have op capability
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit ba29f0787c)
2010-08-24 19:01:12 -04:00
James Vega
2b0b74dfe0 Google: Keep the list of supported languages in one place.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 461f943d97)
2010-08-24 19:01:00 -04:00
James Vega
65a180798f QuoteGrabs: Fix incorrect argument order to _grab
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 874508867f)
2010-08-24 19:00:34 -04:00
Ricky Zhou
4eb30069bf Try using simplejson instead if json-py is installed.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 416a6e8dd2)
2010-08-24 19:00:14 -04:00
James Vega
afa49be456 Channel: Chunk mass mode changes according to supported['MODES']
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-25 10:38:49 -04:00
James Vega
b644e30bb6 Channel: Fix test failures from making ignores and bans use banmask
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-25 10:00:51 -04:00
James Vega
8bd37dbff7 Channel: Don't let nicks leak private info.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-25 00:30:13 -04:00
James Vega
54dda880d4 Add a pluginCommands kwarg to Commands.listCommands.
Plugins which implement their own listCommands method should pass their
non-typically discoverable commands to Commands.listCommands via this
mechanism.  This means that the de-duplication of commands is performed in one
spot instead of having each plugin implement it on their on in their
listCommands method.

This reverts commits 0ce829af6215b97e725f4d6d580d1151950be869 and
09fb0e6fc974445a3414fb03a94625f8538d4570.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-22 18:52:15 -04:00
James Vega
d7dee482ca Google: Ensure we don't try to use the 3rd party json module.
json-py provides a different interface than simplejson (renamed json when
included with Python2.6).  As such, we test for the different interface and
raise an error when we encounter it.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-19 00:55:17 -04:00
James Vega
cca36ed9f2 Factoids: Add simpleSyntax argument to getCommandHelp.
It helps to properly override the parent class's method so that Misc.help
doesn't error when trying to get Factoids.learn's help.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-18 11:09:18 -04:00
James Vega
0d98118247 Allow getCommandHelp to be told whether to use simpleSyntax.
Use this to force Misc.help to ignore simpleSyntax since the user has
explicitly asked for the help.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-18 03:12:54 -04:00
James Vega
d7237104ae Math: Update the units info from ConvertAll
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-18 00:44:59 -04:00
James Vega
5fda0df4a9 Update dateutil to latest version and include all files
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-11 12:16:28 -04:00
James Vega
fea4cc2962 Fix setup.py and add local/__init__.py so Time can be installed
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-11 11:23:49 -04:00
Jeremy Fincher
279c00a925 Fixed dateutil to use the "local" subdirectory format. 2009-05-08 12:36:37 -05:00
James Vega
8c66ed9a3f Add Success plugin from supybot-plugins package
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-07 22:52:16 -04:00
James Vega
f3a1e36727 Add Dunno plugin from supybot-plugins package
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-07 22:50:32 -04:00
James Vega
2b09c70bc3 Remove the Insult plugin
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-07 22:43:09 -04:00
James Vega
0615846ab3 Fix getCommandHelp's use of dynamic.msg
Default chan to None so we can still retrieve a config value if dynamic.msg
isn't valid (e.g., when running supybot-plugin-doc).

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-28 08:14:46 -04:00
James Vega
faed698932 Return a fake MakeDB function when documenting plugins.
There's no need to actually search for valid database backends when
documenting.  It only gets in the way of the actual document generation
process.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-27 19:31:58 -04:00
James Vega
4285df0809 Factoids: Fix thinko in getCommandHelp
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-23 16:05:31 -04:00
James Vega
5301390290 BadWords: Only send a msg stripped of formatting if it had bad words
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-14 19:59:59 -04:00
James Vega
f2df22ef1a User: Add private constraint to hostmask.add since a password may be given
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-08 16:55:40 -04:00
James Vega
d6f6f32219 Factoids: Add an __init__ function which calls our parents' __init__s
This ensures that we actually get self.dbCache defined in Factoids

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-06 17:30:53 -04:00
James Vega
804fbe8209 String: Trim trailing \n from encode's response.
Certain encode functions, like base64, add a trailing \n which simply clutters
the response for Supybot.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-06 11:29:11 -04:00
James Vega
6a0b667817 String: Update the codecs URL in encode/decode's help
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-06 11:27:04 -04:00
James Vega
ebfe8e66f3 String: Give a more useful message when decoding base64 fails
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-06 11:26:15 -04:00
James Vega
dfbec681d1 Limiter: Always set the limit above the current number of users
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-03 11:05:48 -04:00
James Vega
187620dddc User: Prevent set.password from failing with an unknown hostmask
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-01 14:33:19 -04:00
James Vega
d8297dfd3f Google: Modify our local simplejson to work pre-Python2.6
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-31 07:50:41 -04:00
James Vega
13715a0ca3 Google: Fix calc by basing the regex off the calc img
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-19 21:10:46 -04:00
James Vega
7b906fbf54 Fully qualify the call to universalImport so we don't get a NameError.
Also added some ImportError handlers to aid letting users of distribution
packages know if the distributions strip out the local module copies.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-19 20:33:17 -04:00
James Vega
843b6d0d02 Config: Show global and channel values for Config.config
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-18 14:41:02 -04:00
James Vega
4e8dde4994 Alias: Add a useful README
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-15 22:13:42 -04:00
James Vega
dc68e112df Add simplejson to the Google plugin and use universalImport
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-15 19:55:14 -04:00
James Vega
abd122ce04 Add dictclient to the Dict plugin and use universalImport
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-15 19:27:44 -04:00
James Vega
0b65c483dc Update RSS's README with the new announce syntax
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-15 19:19:14 -04:00
Jeremy Fincher
ce8b3a556f Merge branch 'master' of ssh://jemfinch@supybot.git.sourceforge.net/gitroot/supybot 2009-03-12 13:49:15 -05:00
Jeremy Fincher
d73b1eecf7 Moved BadWords's kick-check to an inFilter rather than doPrivmsg, so ignored people can still be kicked. 2009-03-12 13:47:12 -05:00
James Vega
22da325656 Math: Move convertcore to the local directory
There's no need to try importing a system-wide copy (for now) as convertcore
is our own munging of convertall's code into a form that's easy for us to use.
This may change in the future.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-11 19:58:21 -04:00
James Vega
3fd92e7f24 RSS: Move feedparser to the local directory
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-11 19:43:23 -04:00
James Vega
ed32faabe1 Math: Remove extra try block in favor of universalImport
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-11 14:06:25 -04:00
Jeremy Fincher
5076241bcd Fixed RSS to include a feedparser which doesn't override the globally-installed one, using universalImport. 2009-03-11 14:06:16 -04:00
Jeremy Fincher
a86b4694d7 Added utils.python.universalImport to make the previous idiom cleaner. 2009-03-11 14:05:53 -04:00
Jeremy Fincher
d6ad5b051f 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. 2009-03-11 14:05:26 -04:00
James Vega
f539e65b8e Misc.last: Prevent potential information leaks
Add required predicates which
1) Do not retrieve messages from a channel the calling user isn't in
2) Do not retrieve messages from a +s channel unless the calling user is in a
   query or in that channel

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-08 01:09:25 -05:00
James Vega
856f372303 ChannelLogger: Use a sane timestamp for filenameTimestamp
Closes #2591305

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-08 00:08:59 -05:00
James Vega
d59ac366b3 ShrinkUrl: Add shrinkSnarfer.showDomain config
As requested by BeteNoire, add a config option to disable showing the domain
of the URL shrunk by the snarfer.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-07 23:46:50 -05:00
James Vega
62acb0c998 Make RSS.announce a nested plugin
This simplifies the interface for dealing with announced feeds by providing
separate "announce add", "announce remove", "announce list" commands as
opposed to the one "announce" command with confusing syntax.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-02-28 00:10:10 -05:00
James Vega
0e05fe67c7 No need to define RSS.listCommands
Doing so can lead to RSS feeds being listed multiple times.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-02-27 23:36:29 -05:00
James Vega
46a4076988 Add .gitignore
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-02-27 14:17:31 -05:00
Jeremy Fincher
4de0bb31f9 Corrected slight inaccuracy in a configuration parameter's help. 2009-03-11 13:37:27 -04:00
James Vega
8d21b7a8cf Google: Rename safeSearch to searchFilter to ease upgrades 2009-03-11 13:37:27 -04:00
Jeremy Fincher
ad25afa900 Added supybot.plugins.AutoMode.owner, so the bot can choose not to automode owners. 2009-03-11 13:37:27 -04:00
James Vega
125d542706 Google: Fix Language.normalize to not prepend the empty string with 'lang_' 2009-03-11 13:37:27 -04:00
James Vega
feeded6135 Config: Differentiate between (un)settable config vars
Config.{set,get,default} should only be called on settable config
variables.  Detect whether the given argument is settable and emit an
error if not.  This avoids an uncaught exception.
2009-03-11 13:37:27 -04:00
James Vega
730bca616b Karma: Remove getName function which hasn't been used since 2004 2009-03-11 13:37:27 -04:00
James Vega
ce469b0851 ChannelLogger: Allow logging to be disabled on specific channels 2009-03-11 13:37:27 -04:00
James Vega
125e24ceda Channel.kban: Fall-back to exact hostmask when banmask matches the bot. 2009-03-11 13:37:27 -04:00
James Vega
42ef99a152 Use getBanmask for Channel.{ignore,ban}.add 2009-03-11 13:37:27 -04:00
James Vega
89874f0c3f AutoMode: Use protocols.irc.banmask when banning 2009-03-11 13:37:27 -04:00
James Vega
775fe6fd4c Move plugins.Channel.banmask to protocols.irc.banmask
Also add protocols.irc.banmask.makeBanmask as a common function for
getting a banmask from a hostmask.
2009-03-11 13:37:27 -04:00
James Vega
20dd2a0782 No need to define Alias.listCommands.
Doing so can actually result in duplicate alias listings.
2009-03-11 13:37:27 -04:00
James Vega
62897a9663 Workaround Python's idiocy with float -> str -> float conversions 2009-03-11 13:37:26 -04:00
James Vega
0bc16641b9 Use the timestamp formatter instead of duplicating the code 2009-03-11 13:37:26 -04:00
James Vega
1f3d9e64a3 Add test to ensure quoted factoids are preserved 2009-03-11 13:37:26 -04:00
James Vega
08a0531bf7 Update Factoids.getCommandHelp to respect supybot.reply.showSimpleSyntax 2009-03-11 13:37:26 -04:00
James Vega
9cc917bd36 Guard feedparser import and warn the user if it's not available 2009-03-11 13:37:26 -04:00
James Vega
e938c4d31b Remove dictclient from Dict/ and update Dict/README.txt 2009-03-11 13:37:26 -04:00
James Vega
0ade3a0a4d Remove feedparser from RSS/ and update RSS/README.txt 2009-03-11 13:37:26 -04:00
James Vega
1f4d1fca9f Add test for a bug Tar-Get brought up on IRC 2009-03-11 13:37:26 -04:00
James Vega
507b95a2eb Fix a couple Misc tests 2009-03-11 13:37:26 -04:00
James Vega
0a4c66071b Adjust testTitle to take into account /.'s slight change 2009-03-11 13:37:26 -04:00
James Vega
6590bf898a Do not directly import sets. supybot.utils provides __builtins__['set'] 2009-03-11 13:37:26 -04:00
James Vega
828d41e37d Add utils/crypt.py as a Python version-agnostic crypt module 2009-03-11 13:37:26 -04:00
James Vega
614fa22038 Fix a syntax error in the last command flood commit 2009-03-11 13:37:26 -04:00
James Vega
300443c8f6 Finish the implementation of command flood prevention 2009-03-11 13:37:26 -04:00
James Vega
b99b2c7f64 Add tests for recent bug-fixes 2009-03-11 13:37:26 -04:00