aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/ircv3_labeled_responses.py1
-rw-r--r--src/utils/irc/__init__.py9
2 files changed, 9 insertions, 1 deletions
diff --git a/modules/ircv3_labeled_responses.py b/modules/ircv3_labeled_responses.py
index eee53c58..59bab81a 100644
--- a/modules/ircv3_labeled_responses.py
+++ b/modules/ircv3_labeled_responses.py
@@ -3,6 +3,7 @@ from src import ModuleManager, utils
CAP = utils.irc.Capability(None, "draft/labeled-response-0.2")
TAG = utils.irc.MessageTag(None, "draft/label")
+BATCH = utils.irc.BatchType(None, "draft/labeled-response")
CAP_TO_TAG = {
"draft/labeled-response-0.2": "draft/label"
diff --git a/src/utils/irc/__init__.py b/src/utils/irc/__init__.py
index 9577bcc1..12abc144 100644
--- a/src/utils/irc/__init__.py
+++ b/src/utils/irc/__init__.py
@@ -260,7 +260,7 @@ def parse_ctcp(s: str) -> typing.Optional[CTCPMessage]:
class IRCBatch(object):
def __init__(self, identifier: str, batch_type: str, args: typing.List[str],
tags: typing.Dict[str, str]={}):
- self.id = identifier
+ self.identifier = identifier
self.type = batch_type
self.args = args
self.tags = tags
@@ -301,5 +301,12 @@ class MessageTag(object):
key = list(set([s])&self._names)
return key[0] if key else None
+class BatchType(object):
+ def __init__(self, name: typing.Optional[str], draft_name: str=None):
+ self._names = set([name, draft_name])
+ def match(self, type: str) -> typing.Optional[str]:
+ t = list(set([type])&self._names)
+ return t[0] if t else None
+
def hostmask_match(hostmask: str, pattern: str) -> bool:
return fnmatch.fnmatchcase(hostmask, pattern)