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.
It's better to force people to use an RFC nick and change it after they
connect than to let non-RFC nicks get used and not be able to connect to the
network.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
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>
This is deprecated in 2.6 and supybot.utils already handles adding sets.Set to
__builtins__ if we're running with Python < 2.4.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
This gives back the ability to generate a banmask based on the global banmask
settings instead of per-channel settings.
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>
It was never fully fleshed out. If someone wants to finish it, they can
rewrite it or dig it out of the history and finish it.
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>
In the process, deprecate utils.str.perlVariableSubstitute.
Since string.Template doesn't support callable values though, we also
sub-class IrcDict and override __getitem__ to call the value if it is
callable.
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.
The code expects a float between 0 and 1 inclusive but was simply using
registry.Float. registry.Probability matches the behavior we want.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>