Commit Graph

3225 Commits

Author SHA1 Message Date
Daniel Folkinshteyn 45e2aa5ca7 write more test code, and in the process add some minor mods to the plugin code 2010-03-21 19:06:04 -04:00
Daniel Folkinshteyn de4936d452 write some test code for messageparser 2010-03-21 17:43:37 -04:00
Daniel Folkinshteyn db81745d71 update messageparser readme to point to the web doc. 2010-03-21 15:45:06 -04:00
Daniel Folkinshteyn c2b1c1b143 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.
2010-03-21 02:44:07 -04:00
Daniel Folkinshteyn 3eb6787f6d add vacuum method to clean up db. require admin capability by default to do this. 2010-03-19 18:51:49 -04:00
Daniel Folkinshteyn 1a3d6c3821 quote regexp in rank output. 2010-03-19 16:45:59 -04:00
Daniel Folkinshteyn 15a4b45801 rename listall and triggerrank to list and rank, to be more in conformance with normal plugin command naming practice. 2010-03-19 15:58:59 -04:00
Daniel Folkinshteyn 770d407d1c in listall, put id in parentheses /outside/ the quotes. 2010-03-19 15:54:54 -04:00
nanotube 65ed84a45a create info command for messageparser 2010-03-19 15:34:35 -04:00
Daniel F 4972472764 allow remove by id, if --id is specified. 2010-03-19 13:40:36 -04:00
Daniel F 7909015288 allow show by id with option --id 2010-03-19 13:34:50 -04:00
Daniel F 92389f69ef list regexp id in listall (to be used for showing/removing regexp by id) 2010-03-19 13:24:45 -04:00
Daniel F e2d16cb3a7 test regexp for validity before adding it. 2010-03-19 13:20:50 -04:00
Daniel F f9cc5d5663 add lock and unlock command methods 2010-03-19 10:44:23 -04:00
Daniel F adb53a0a35 preserve usage count upon overwriting an existing regexp entry. 2010-03-19 09:55:43 -04:00
Daniel Folkinshteyn 910ba732d2 update readme.txt for ability to use commands as trigger responses. 2010-03-19 00:06:37 -04:00
Daniel Folkinshteyn 76d25a193b ignore messages addressed to bot directly, in the messageparser. 2010-03-17 23:54:28 -04:00
Daniel Folkinshteyn 629ede010a forget about unicode, and just use text_factory str for sqlite to retrieve raw bytes out of text fields without conversions. 2010-03-17 13:19:07 -04:00
Daniel Folkinshteyn 6ceeace44d process multiple matches of a regexp per message 2010-03-17 12:37:34 -04:00
Daniel Folkinshteyn 95aa56c694 fix sqlite3 import for python 2.4 2010-03-17 01:55:23 -04:00
Daniel Folkinshteyn dbbef9ec43 use double quotes in listall. 2010-03-16 16:51:30 -04:00
Daniel Folkinshteyn d72649c5c5 give messageparser ability to use arbitrary commands as trigger responses. 2010-03-16 16:49:55 -04:00
Daniel Folkinshteyn a88353dd0d Merge branch 'messageparser.sqlite3' into mergempsqlite3 2010-03-16 14:28:26 -04:00
Daniel Folkinshteyn 0e50249256 start factoid rankings from 1 not from 0 2010-03-15 23:12:35 -04:00
Daniel Folkinshteyn f8ddba0d15 get messageparser to use sqlite3. should work now.... 2010-03-15 20:06:24 -04:00
Daniel Folkinshteyn 3326212d55 fix typo (write-o, really) in string for show command 2010-03-15 17:40:57 -04:00
Daniel Folkinshteyn 0c87c523d2 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.
2010-03-15 17:32:02 -04:00
Daniel Folkinshteyn f6a86a81ce populate the readme with useful tutorial! :) 2010-03-15 17:17:11 -04:00
Daniel Folkinshteyn f62be4b4a7 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...
2010-03-11 01:59:37 -05:00
Daniel Folkinshteyn 5b05944838 create stub of messageparser plugin 2010-03-10 01:27:00 -05:00
Daniel Folkinshteyn d1c00ccbaf remove rogue test-print 2010-03-08 14:49:58 -05:00
Daniel Folkinshteyn 9db1598a0e sort keys in factoid search output by alphabetically by key name. 2010-03-05 14:51:25 -05:00
Daniel Folkinshteyn fcd262cd4b implement factoid usage counter 2010-03-05 14:08:11 -05:00
James Vega 397cbbe0d3 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>
2010-03-03 08:33:44 -05:00
James Vega 4a9596608a Include hostmasks in JOIN, PART, QUIT logs.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-02-28 21:17:35 -05:00
James Vega 10f5a12b7e Factoids: Prevent empty key or value when adding a factoid.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-02-05 18:50:48 -05:00
James Vega 288d7c6e02 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>
2010-01-28 08:14:44 -05:00
Jeremy Fincher 3282e3407e Don't bother snarfing URLs from non-Action CTCP messages. 2010-01-28 06:35:53 -06:00
Štěpán Němec 9e15d03375 Filter plugin: improve the `uniud' replacements.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-01-27 19:01:54 -05:00
Štěpán Němec 3a992ba78e Format plugin: Delete stray `configure' definition from plugin.py.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-01-15 21:57:07 -05:00
James Vega 408ab6f88a 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.
2010-01-10 20:17:10 -05:00
James Vega 3689460d0f Use 0 when no results are returned for Google.fight
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-11-28 21:21:00 -05:00
James Vega fbdc44ca52 Switch from using the various popen flavors to subprocess.Popen
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-11-22 14:31:58 -05:00
Daniel Folkinshteyn e303cab7ae 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.
2009-11-18 23:16:21 -05:00
Daniel Folkinshteyn b77c649c8a factoids now works with sqlite3, all tests pass. 2009-11-18 12:04:52 -05:00
Daniel Folkinshteyn 5bf71395e7 another step toward sqlite3 2009-11-18 02:27:48 -05:00
Daniel Folkinshteyn cc1f4ea015 some more mods toward getting sqlite3 to work 2009-11-18 02:03:44 -05:00
Daniel Folkinshteyn 11446c7cb5 some work in progress getting plugins to work with sqlite3 2009-11-18 01:48:11 -05:00
hairball a594d0e95c Small typos and doc fixes.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-11-04 22:54:46 -05:00
James Vega a453f56284 ShrinkUrl: Use tinyurl's api-create page to avoid screen-scraping.
Set snarfThrottle to 0 while testing since we know there's nothing other than
the test input that could be causing us to snarf.  Fixes some intermittent
test failures due to fast snarf responses.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-11-04 22:37:53 -05:00
James Vega 082ee59d32 Change a couple tests so they fail for real reasons instead of fake.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-11-01 19:08:34 -05:00
James Vega acaa9b1fd6 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>
2009-10-31 18:22:14 -04:00
James Vega 213d304e54 ChannelStats: Add tracking of max users for a channel.
Closes Sf #1032038

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-10-27 19:28:34 -04:00
James Vega 927c8c963a Use the correct URLs for the PySqlite website.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-10-21 22:48:04 -04:00
James Vega f475525237 Update references to PySqlite URL
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-10-21 22:43:26 -04:00
James Vega 4c9efc044b Replace Factoids.factoidPrefix with Factoids.format
Factoids.format makes use of registry.TemplatedString so the user can specify
excactly how they want the factoid reply to be formed.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-10-15 22:37:59 -04:00
James Vega 5af38453a8 Update Topic to use registry.TemplatedString
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-10-15 22:35:17 -04:00
James Vega 25fc2de643 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>
2009-10-15 22:16:38 -04:00
James Vega c4de386d8f ShrinkUrl: Remove our 'lazy biotch' message and length check.
If someone wants to specifically request that a URL, which can't possibly be
made shorter using a specific service, be shrunk, we should abide their
request.
2009-10-08 23:14:42 -04:00
James Vega de4218b26e ShrinkUrl: Add support for x0.no 2009-10-08 22:58:57 -04:00
James Vega d8c13c1f21 Rewrite ShrinkUrl's tests to ease testing of new services.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-10-08 22:28:02 -04:00
James Vega 924b57eca3 ShrinkUrl: Lower snarfThrottle to .5 second while testing.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-10-04 23:30:08 -04:00
James Vega 9d66399420 ShrinkUrl: Add support for xrl.us
Closes one part of Debian #539858

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-10-04 23:30:02 -04:00
James Vega 200f716011 ShrinkUrl: Uniformly handle errors while shrinking via ShrinkError.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-10-04 22:08:55 -04:00
James Vega c055b16ea8 ShrinkUrl: Use getattr() to simplify use of the growing number of services.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-10-04 21:54:20 -04:00
James Vega ca917d3528 Use utils.web.httpUrlRe for the Web/ShrinkUrl snarfer regexes.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-10-04 21:41:05 -04:00
James Vega 22b3ccfbde ShrinkUrl: Generalize CdbShrunkenUrlDB's support for the different dbs.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-09-29 20:11:47 -04:00
Benjamin P. Burhans 6418b3d8c3 Check for empty word list in BadWords plugin before filtering.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-09-16 01:20:52 -04:00
James Vega 28b4b4742e Correct Unix.fortune.offensive's description to use -a.
Closes deb#545780

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-09-09 07:49:17 -04:00
James Vega eff20402ac Change canonize => normalize
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-08-27 16:41:34 -04:00
Štěpán Němec e922918564 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>
2009-08-27 14:47:09 -04:00
Štěpán Němec a66034f852 Fix some typos/wordings.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-08-26 16:34:12 -04:00
Štěpán Němec a693162059 Note plugin: Fix erroneous use of __contributors__.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-08-26 15:43:10 -04:00
James Vega 169aee3bc0 ChannelStats.rank now starts from 1 instead of 0
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-08-20 10:48:41 -04:00
James Vega c376b8e796 Channel: Allow kick to accept multiple nicks.
Closes: Sf patch #1813467

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-07-20 18:08:21 -04:00
James Vega cbf68e53e3 QuoteGrabs: QuoteGrabsRecord at arg needs to be an int.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-07-18 20:27:45 -04:00
James Vega dcb247494e 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>
2009-07-16 11:39:20 -04:00
James Vega 9dccada152 User: Fix hostmask.list to show the user's name not the repr user object
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-07-16 11:28:43 -04:00
James Vega c9329303d3 Updated ChannelIdDatabasePlugin's getCommandHelp signature
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-07-14 20:32:57 -04:00
Jeremy Fincher 43129239d6 Added Seen.since, which lets a user see messages which were sent since the last time he parted a channel. 2009-07-01 15:40:58 -05:00
James Vega ba29f0787c Channel: alert should not require the caller to have op capability
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-06-30 11:06:17 -04:00
James Vega 461f943d97 Google: Keep the list of supported languages in one place.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-06-26 18:21:16 -04:00
James Vega 874508867f QuoteGrabs: Fix incorrect argument order to _grab
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-06-26 16:58:46 -04:00
Jeremy Fincher b9d6277e30 Added supybot.abuse.flood.command.invalid.notify, a configuration variable determining whether the bot will notify infractors of their ignoring. 2009-06-09 10:40:05 -05:00
Ricky Zhou 416a6e8dd2 Try using simplejson instead if json-py is installed.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-06-03 04:28:45 -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