Add utils.irc.MessageTag and use it for both draft and ratified msgid
This commit is contained in:
parent
b75fc02c4b
commit
421d9c10c7
2 changed files with 10 additions and 1 deletions
|
@ -7,6 +7,8 @@ COMMAND_METHODS = ["PRIVMSG", "NOTICE"]
|
||||||
|
|
||||||
REGEX_ARG_NUMBER = re.compile(r"\$(\d+)(-?)")
|
REGEX_ARG_NUMBER = re.compile(r"\$(\d+)(-?)")
|
||||||
|
|
||||||
|
MSGID_TAG = utils.irc.MessageTag("msgid", "draft/msgid")
|
||||||
|
|
||||||
def _command_method_validate(s):
|
def _command_method_validate(s):
|
||||||
if s.upper() in COMMAND_METHODS:
|
if s.upper() in COMMAND_METHODS:
|
||||||
return s.upper()
|
return s.upper()
|
||||||
|
@ -133,7 +135,7 @@ class Module(ModuleManager.BaseModule):
|
||||||
if not module_name and hasattr(hook.function, "__self__"):
|
if not module_name and hasattr(hook.function, "__self__"):
|
||||||
module_name = hook.function.__self__._name
|
module_name = hook.function.__self__._name
|
||||||
|
|
||||||
msgid = event["tags"].get("draft/msgid", None)
|
msgid = MSGID_TAG.get_value(event["tags"])
|
||||||
statusmsg = "".join(event.get("statusmsg", []))
|
statusmsg = "".join(event.get("statusmsg", []))
|
||||||
stdout = outs.StdOut(event["server"], module_name, target, msgid,
|
stdout = outs.StdOut(event["server"], module_name, target, msgid,
|
||||||
statusmsg)
|
statusmsg)
|
||||||
|
|
|
@ -295,3 +295,10 @@ class Capability(object):
|
||||||
callback()
|
callback()
|
||||||
def nak(self):
|
def nak(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def MessageTag(object):
|
||||||
|
def __init__(self, name, draft_name=None):
|
||||||
|
self._names = set([name, draft_name])
|
||||||
|
def get_value(self, tags: typing.Dict[str, str]) -> typing.Optional[str]:
|
||||||
|
key = list(set(tags.keys())&self._names)
|
||||||
|
return tags[key[0]] if key else None
|
||||||
|
|
Loading…
Reference in a new issue