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.
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>
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>
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>
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>
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.
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>
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>
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>
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>
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>