aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorGravatar jesopo2019-05-21 23:09:32 +0100
committerGravatar jesopo2019-05-21 23:09:32 +0100
commit6d44db606583ddb1c3130e6b67e9d94745f9a784 (patch)
tree1a15eac240df7c7800d0319997bccebe9420318f /modules
parentDon't allow karma for empty strings (diff)
signature
Remove references to STATUSMSG - just pass around a raw `target_str` (target
without statusmsg chars stripped off)
Diffstat (limited to 'modules')
-rw-r--r--modules/commands/__init__.py17
-rw-r--r--modules/commands/outs.py9
-rw-r--r--modules/line_handler/message.py11
3 files changed, 17 insertions, 20 deletions
diff --git a/modules/commands/__init__.py b/modules/commands/__init__.py
index 6e7258fd..bfea9588 100644
--- a/modules/commands/__init__.py
+++ b/modules/commands/__init__.py
@@ -124,7 +124,7 @@ class Module(ModuleManager.BaseModule):
return hook, args_split
def command(self, server, target, is_channel, user, command, args_split,
- tags, statusmsg, hook, **kwargs):
+ tags, target_str, hook, **kwargs):
if self._is_ignored(server, user, command):
return False
@@ -137,8 +137,8 @@ class Module(ModuleManager.BaseModule):
if msgid:
send_tags["+draft/reply"] = msgid
- stdout = outs.StdOut(server, module_name, target, send_tags, statusmsg)
- stderr = outs.StdErr(server, module_name, target, send_tags, statusmsg)
+ stdout = outs.StdOut(server, module_name, target, target_str, send_tags)
+ stderr = outs.StdErr(server, module_name, target, target_str, send_tags)
command_method = self._command_method(target, server)
if hook.kwargs.get("remove_empty", True):
@@ -235,7 +235,7 @@ class Module(ModuleManager.BaseModule):
if hook:
self.command(event["server"], event["channel"], True,
event["user"], command, args_split, event["tags"],
- "".join(event["statusmsg"]), hook)
+ event["target_str"], hook)
event["channel"].buffer.skip_next()
else:
regex_hook = self.events.on("command.regex").get_hooks()
@@ -250,7 +250,7 @@ class Module(ModuleManager.BaseModule):
command = hook.get_kwarg("command", "")
res = self.command(event["server"], event["channel"],
True, event["user"], command, "", event["tags"],
- "".join(event["statusmsg"]), hook, match=match,
+ event["target_str"], hook, match=match,
message=event["message"])
if res:
@@ -267,7 +267,8 @@ class Module(ModuleManager.BaseModule):
if hook:
self.command(event["server"], event["user"], False,
- event["user"], command, args_split, event["tags"], "", hook)
+ event["user"], command, args_split, event["tags"],
+ event["target_str"], hook)
event["user"].buffer.skip_next()
def _get_help(self, hook):
@@ -461,7 +462,7 @@ class Module(ModuleManager.BaseModule):
@utils.hook("send.stdout")
def send_stdout(self, event):
stdout = outs.StdOut(event["server"], event["module_name"],
- event["target"], {}, event.get("statusmsg", ""))
+ event["target"], {}, event.get("target_str", ""))
if event.get("hide_prefix", False):
stdout.hide_prefix()
@@ -473,7 +474,7 @@ class Module(ModuleManager.BaseModule):
@utils.hook("send.stderr")
def send_stderr(self, event):
stderr = outs.StdErr(event["server"], event["module_name"],
- event["target"], {}, event.get("statusmsg", ""))
+ event["target"], {}, event.get("target_str", ""))
if event.get("hide_prefix", False):
stderr.hide_prefix()
diff --git a/modules/commands/outs.py b/modules/commands/outs.py
index acd67a7f..7df60436 100644
--- a/modules/commands/outs.py
+++ b/modules/commands/outs.py
@@ -5,15 +5,15 @@ STR_MORE = " (more...)"
STR_CONTINUED = "(...continued) "
class Out(object):
- def __init__(self, server, module_name, target, tags, statusmsg):
+ def __init__(self, server, module_name, target, target_str, tags):
self.server = server
self.module_name = module_name
self._hide_prefix = False
self.target = target
+ self._target_str = target_str
self._text = ""
self.written = False
self._tags = tags
- self._statusmsg = statusmsg
def write(self, text):
self._text += text
@@ -26,13 +26,12 @@ class Out(object):
if not self._hide_prefix:
prefix = utils.consts.RESET + "[%s] " % self.prefix()
- target_str = "%s%s" % (self._statusmsg, self.target.name)
full_text = "%s%s" % (prefix, self._text)
if method == "PRIVMSG":
- line = self.server.send_message(target_str, full_text,
+ line = self.server.send_message(self._target_str, full_text,
tags=self._tags)
elif method == "NOTICE":
- line = self.server.send_notice(target_str, full_text,
+ line = self.server.send_notice(self._target_str, full_text,
tags=self._tags)
else:
raise ValueError("Unknown command method '%s'" % method)
diff --git a/modules/line_handler/message.py b/modules/line_handler/message.py
index 3e54e5b8..2f86ac40 100644
--- a/modules/line_handler/message.py
+++ b/modules/line_handler/message.py
@@ -23,15 +23,12 @@ def privmsg(events, event):
user = event["server"].get_user(event["prefix"].nickname)
message = event["args"][1]
- target = event["args"][0]
+ target_str = event["args"][0]
# strip prefix_symbols from the start of target, for when people use
# e.g. 'PRIVMSG +#channel :hi' which would send a message to only
# voiced-or-above users
- statusmsg = []
- while target[0] in event["server"].prefix_symbols.keys():
- statusmsg.append(target[0])
- target = target[1:]
+ target = target_str.lstrip("".join(event["server"].prefix_symbols.keys()))
channel = None
if target[0] in event["server"].channel_types:
@@ -57,7 +54,7 @@ def privmsg(events, event):
kwargs = {"message": message, "message_split": message.split(" "),
"server": event["server"], "tags": event["tags"],
- "action": action}
+ "action": action, "target_str": target_str}
direction = "send" if from_self else "received"
context = "channel" if channel else "private"
@@ -68,7 +65,7 @@ def privmsg(events, event):
user_nickname = None if from_self else user.nickname
if channel:
- hook.call(user=user, channel=channel, statusmsg=statusmsg, **kwargs)
+ hook.call(user=user, channel=channel, **kwargs)
channel.buffer.add_message(user_nickname, message, action,
event["tags"], user==None)
elif event["server"].is_own_nickname(target):