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