Remove references to STATUSMSG - just pass around a raw target_str (target

without statusmsg chars stripped off)
This commit is contained in:
jesopo 2019-05-21 23:09:32 +01:00
parent d5a973b84b
commit 6d44db6065
3 changed files with 17 additions and 20 deletions

View file

@ -124,7 +124,7 @@ class Module(ModuleManager.BaseModule):
return hook, args_split return hook, args_split
def command(self, server, target, is_channel, user, command, 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): if self._is_ignored(server, user, command):
return False return False
@ -137,8 +137,8 @@ class Module(ModuleManager.BaseModule):
if msgid: if msgid:
send_tags["+draft/reply"] = msgid send_tags["+draft/reply"] = msgid
stdout = outs.StdOut(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, send_tags, statusmsg) stderr = outs.StdErr(server, module_name, target, target_str, send_tags)
command_method = self._command_method(target, server) command_method = self._command_method(target, server)
if hook.kwargs.get("remove_empty", True): if hook.kwargs.get("remove_empty", True):
@ -235,7 +235,7 @@ class Module(ModuleManager.BaseModule):
if hook: if hook:
self.command(event["server"], event["channel"], True, self.command(event["server"], event["channel"], True,
event["user"], command, args_split, event["tags"], event["user"], command, args_split, event["tags"],
"".join(event["statusmsg"]), hook) event["target_str"], hook)
event["channel"].buffer.skip_next() event["channel"].buffer.skip_next()
else: else:
regex_hook = self.events.on("command.regex").get_hooks() regex_hook = self.events.on("command.regex").get_hooks()
@ -250,7 +250,7 @@ class Module(ModuleManager.BaseModule):
command = hook.get_kwarg("command", "") command = hook.get_kwarg("command", "")
res = self.command(event["server"], event["channel"], res = self.command(event["server"], event["channel"],
True, event["user"], command, "", event["tags"], True, event["user"], command, "", event["tags"],
"".join(event["statusmsg"]), hook, match=match, event["target_str"], hook, match=match,
message=event["message"]) message=event["message"])
if res: if res:
@ -267,7 +267,8 @@ class Module(ModuleManager.BaseModule):
if hook: if hook:
self.command(event["server"], event["user"], False, 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() event["user"].buffer.skip_next()
def _get_help(self, hook): def _get_help(self, hook):
@ -461,7 +462,7 @@ class Module(ModuleManager.BaseModule):
@utils.hook("send.stdout") @utils.hook("send.stdout")
def send_stdout(self, event): def send_stdout(self, event):
stdout = outs.StdOut(event["server"], event["module_name"], 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): if event.get("hide_prefix", False):
stdout.hide_prefix() stdout.hide_prefix()
@ -473,7 +474,7 @@ class Module(ModuleManager.BaseModule):
@utils.hook("send.stderr") @utils.hook("send.stderr")
def send_stderr(self, event): def send_stderr(self, event):
stderr = outs.StdErr(event["server"], event["module_name"], 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): if event.get("hide_prefix", False):
stderr.hide_prefix() stderr.hide_prefix()

View file

@ -5,15 +5,15 @@ STR_MORE = " (more...)"
STR_CONTINUED = "(...continued) " STR_CONTINUED = "(...continued) "
class Out(object): 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.server = server
self.module_name = module_name self.module_name = module_name
self._hide_prefix = False self._hide_prefix = False
self.target = target self.target = target
self._target_str = target_str
self._text = "" self._text = ""
self.written = False self.written = False
self._tags = tags self._tags = tags
self._statusmsg = statusmsg
def write(self, text): def write(self, text):
self._text += text self._text += text
@ -26,13 +26,12 @@ class Out(object):
if not self._hide_prefix: if not self._hide_prefix:
prefix = utils.consts.RESET + "[%s] " % self.prefix() prefix = utils.consts.RESET + "[%s] " % self.prefix()
target_str = "%s%s" % (self._statusmsg, self.target.name)
full_text = "%s%s" % (prefix, self._text) full_text = "%s%s" % (prefix, self._text)
if method == "PRIVMSG": 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) tags=self._tags)
elif method == "NOTICE": 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) tags=self._tags)
else: else:
raise ValueError("Unknown command method '%s'" % method) raise ValueError("Unknown command method '%s'" % method)

View file

@ -23,15 +23,12 @@ def privmsg(events, event):
user = event["server"].get_user(event["prefix"].nickname) user = event["server"].get_user(event["prefix"].nickname)
message = event["args"][1] 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 # strip prefix_symbols from the start of target, for when people use
# e.g. 'PRIVMSG +#channel :hi' which would send a message to only # e.g. 'PRIVMSG +#channel :hi' which would send a message to only
# voiced-or-above users # voiced-or-above users
statusmsg = [] target = target_str.lstrip("".join(event["server"].prefix_symbols.keys()))
while target[0] in event["server"].prefix_symbols.keys():
statusmsg.append(target[0])
target = target[1:]
channel = None channel = None
if target[0] in event["server"].channel_types: if target[0] in event["server"].channel_types:
@ -57,7 +54,7 @@ def privmsg(events, event):
kwargs = {"message": message, "message_split": message.split(" "), kwargs = {"message": message, "message_split": message.split(" "),
"server": event["server"], "tags": event["tags"], "server": event["server"], "tags": event["tags"],
"action": action} "action": action, "target_str": target_str}
direction = "send" if from_self else "received" direction = "send" if from_self else "received"
context = "channel" if channel else "private" context = "channel" if channel else "private"
@ -68,7 +65,7 @@ def privmsg(events, event):
user_nickname = None if from_self else user.nickname user_nickname = None if from_self else user.nickname
if channel: 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, channel.buffer.add_message(user_nickname, message, action,
event["tags"], user==None) event["tags"], user==None)
elif event["server"].is_own_nickname(target): elif event["server"].is_own_nickname(target):