Daniel Folkinshteyn
58886bd1f2
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.
2010-04-02 00:08:49 -04:00
Daniel Folkinshteyn
97149b403a
make 'factoids info' include usage count in output. add test for same.
2010-04-01 00:51:25 -04:00
nanotube
32c718ca66
don't give up too easily with invalid command, instead search factoid keys with wildcard first.
2010-03-23 16:44:33 -04:00
nanotube
2e043ce19f
add rank test to factoids, update factoids test code to sqlite3
2010-03-23 13:54:31 -04:00
nanotube
0fb4dd6dff
rename factrank to just rank for consistency
2010-03-23 13:34:50 -04:00
Daniel Folkinshteyn
69c7774431
add config for required capabilities to manage the regexp db, and check for them before taking action.
2010-03-22 19:03:20 -04:00
Daniel Folkinshteyn
bb44d433f5
add replies function to reply plugin, which makes multiple replies, if supybot.reply.oneToOne is false.
2010-03-22 01:06:02 -04:00
Daniel Folkinshteyn
56862da549
add more messageparser tests
2010-03-21 22:30:30 -04:00
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