Commit Graph

7005 Commits

Author SHA1 Message Date
Štěpán Němec 51cabeea33 Topic plugin: Add persistence support.
Topics now persist between restarts.

Rationale: Useful when reloading/restarting; previously the topics would
be just forgotten. Don't use database, as that would be an unnecessary
overkill and in any case not needed.

(Also, remove the unused `re' module import.)

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 6520d1f282)

Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
2010-05-12 13:19:54 -04:00
James Vega fc1a049d3c ChannelStats: Fix rank to work with selfStats
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 41fd218b8d)

Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
2010-05-12 13:19:01 -04:00
Daniel Folkinshteyn 5d15bbf1b2 for Later plugin, add test for actual sending of notes to nicks upon their being seen. 2010-04-29 20:20:36 -04:00
Daniel Folkinshteyn 9c12f80285 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.
2010-04-29 20:04:51 -04:00
Daniel Folkinshteyn e4c51ef517 Add --raw option to factoids.whatis, which disables variable substitution on the factoid.
also add test for this.
2010-04-28 15:27:08 -04:00
Daniel Folkinshteyn 976ad82d69 Use the ircutils.standardSubsitute function upon factoid output.
This allows inclusion of the usual standardSubstitute vars within factoids.

There is no config to disable this, since it is possible to escape the substitutions
by simply doubling the dollar signs, as per the python documentation:
http://docs.python.org/library/string.html#template-strings

Thus, if you want a factoid to output a literal "$channel", for example, all
you'd need to do is use "$$channel" in your factoid text, which will come out
as "$channel" when said by the bot.

Also added tests for this new behavior.
2010-04-28 00:10:48 -04:00
Daniel Folkinshteyn 71f88caa6b Clarify the on-error log message in MessageParser function caller. 2010-04-27 15:29:09 -04:00
Daniel Folkinshteyn a819c5b496 make Misc.apropos return plugin name even if command is in only one plugin. 2010-04-27 12:46:22 -04:00
Daniel Folkinshteyn 2bb3ba9443 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.
2010-04-26 19:50:08 -04:00
Daniel Folkinshteyn 053a9d590e Improve supybot-botchk documentation. Make a note that supybot.pidFile config must be set for it to work. 2010-04-25 23:24:42 -04:00
Daniel Folkinshteyn f1517a7acc 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.
2010-04-25 02:58:43 -04:00
Daniel Folkinshteyn 55eeb4a57b Add some sanity checks to RSS plugin:
First: if an rss feed is called without the number of headlines argument,
we now have a default number of items it will output.
before, it tried to stuff the whole rss feed into the channel, which is quite
floody, if more than one 'mores' is set, or if oneToOne is false.

Second: when adding a new feed to announce, it again, tried to stuff the
whole rss feed into the channel, which ran into the same floody conditions
as above. now we have a default number of feeds to output when there's no
cached history.
2010-04-25 00:34:31 -04:00
Daniel Folkinshteyn 3005752c58 fix docstring for Plugin.plugin command so it actually says what the command will do.
also add a Plugin.plugins command, which always returns a list of all plugins containing a command.
add a test for it.
2010-04-21 16:38:25 -04:00
Daniel Folkinshteyn 9c5f05ab2d update quotegrabs to sqlite3 2010-04-21 01:24:13 -04:00
James Vega 5ad620b5fd Make registry.Regexp.error mimic registry.Value.error
Regexp.error can't directly call Value.error because it's providing extra
information, so it needs to build the InvalidRegistryValue exception itself
and raise it.

Closes: Sf#2985241

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit ef8bd817e8)

Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
2010-04-19 01:00:02 -04:00
Daniel Folkinshteyn 35fee237da Undo mtughan's bugfix from 7f9a113060, so i can merge jamessan's fix ef8bd817e8 2010-04-19 00:53:40 -04:00
Daniel Folkinshteyn 022193b61b 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.
2010-04-18 03:33:10 -04:00
Daniel Folkinshteyn b5058cc5c2 update Karma plugin and test code to use sqlite3.
This involved also updating src/conf.py to look for sqlite3 and add it to supybot.conf.databases list,
since karma uses the plugins.DB() constructor for its database, which checks the available databases list.
2010-04-18 02:10:29 -04:00
Daniel Folkinshteyn 4890e2e80d for Alias, make doc string say "at least x args" if there are optional args in addition to required args.
yay for cosmetic improvements. :)
2010-04-14 10:56:39 -04:00
Daniel Folkinshteyn aa634e6da1 fix alias bug https://sourceforge.net/tracker/?func=detail&aid=2987147&group_id=58965&atid=489447
add tests for appropriate behavior
2010-04-14 10:27:56 -04:00
Daniel Folkinshteyn 5e162a28f7 make google translate return detailed google error, instead of the unhelpful "we broke google". 2010-04-11 18:27:39 -04:00
Daniel Folkinshteyn 127b3cfabd for google translate, error if destination language is 'auto'. 2010-04-11 17:37:09 -04:00
Daniel Folkinshteyn 34d91284a5 in Later nick validation, use irc.isNick. now instead of forcing strictRfc to true, we are using the config. 2010-04-11 17:01:31 -04:00
Daniel Folkinshteyn 67ab067e6a take out getDb override from factoids, since i have changed it upstream, in plugins.__init__.py, to use proper sqlite3 syntax. 2010-04-11 16:40:59 -04:00
Daniel Folkinshteyn bd1fb9f9a6 make on-join telling for later configurable. 2010-04-11 16:25:07 -04:00
Daniel Folkinshteyn c4e5dbbe0b 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.
2010-04-11 12:48:08 -04:00
Daniel Folkinshteyn 8e84da8391 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.
2010-04-11 02:27:22 -04:00
Daniel Folkinshteyn 643be43466 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
2010-04-11 01:23:27 -04:00
Daniel Folkinshteyn 7f9a113060 commit mtughan's bugfix for this bug:
https://sourceforge.net/tracker/?func=detail&aid=2985241&group_id=58965&atid=489447
2010-04-11 00:42:55 -04:00
Daniel Folkinshteyn b115e0d56f 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
2010-04-09 15:56:16 -04:00
Daniel Folkinshteyn 7ac4911f78 make later plugin send waiting messages on user join also, not just on privmsg. 2010-04-09 13:34:39 -04:00
Daniel Folkinshteyn 2125e6db8e add nick validation to later tell
this avoids plugging the later db with messages for bogus nicks
2010-04-09 00:45:14 -04:00
Daniel Folkinshteyn 01c8f3445a create conditional plugin with associated tests.
includes string and numeric comparisons, simple string matching.
2010-04-08 20:02:39 -04:00
Daniel Folkinshteyn afe1a2124d add a random-synonym getting function to Dict, add tests for it.
using the moby-thes database from dict.org.
2010-04-08 00:04:44 -04:00
Daniel Folkinshteyn 5d9273cd5a add damerau-levenshtein distance to supybot.utils.seq
use it in factoids invalid command to match possible typos
write tests for same.
2010-04-07 12:33:28 -04:00
Daniel Folkinshteyn f4d47876d4 fix some encoding error for non-ascii langs 2010-04-04 01:12:50 -04:00
Daniel Folkinshteyn 34cab7f4c9 add detected source language display for 'auto' google translate, add test for auto translate. 2010-04-03 23:31:13 -04:00
Daniel Folkinshteyn b8f8cec6f5 enable google translate to autodetect language with 'auto' fromlang. 2010-04-02 02:03:57 -04:00
Daniel Folkinshteyn f988736ca6 add tests for factoids.alias 2010-04-02 00:55:02 -04:00
Daniel Folkinshteyn a3f7adaa8c delete leftover debug-prints 2010-04-02 00:51:06 -04:00
Daniel Folkinshteyn 203308647b add factoids alias function, to link more keys to existing factoids. 2010-04-02 00:49:43 -04:00
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