aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/IRCLine.py6
-rw-r--r--src/IRCServer.py4
-rw-r--r--src/utils/irc/protocol.py2
3 files changed, 9 insertions, 3 deletions
diff --git a/src/IRCLine.py b/src/IRCLine.py
index 9e1d85fb..c0263d20 100644
--- a/src/IRCLine.py
+++ b/src/IRCLine.py
@@ -47,6 +47,7 @@ class ParsedLine(object):
self.source = source
self.tags = {} if tags == None else tags
self._valid = True
+ self._assured = False
def __repr__(self):
return "ParsedLine(%s)" % self.__str__()
@@ -58,6 +59,11 @@ class ParsedLine(object):
def invalidate(self):
self._valid = False
+ def assured(self) -> bool:
+ return self._assured
+ def assure(self):
+ self._assured = True
+
def _tag_str(self, tags: typing.Dict[str, str]) -> str:
tag_pieces = []
for tag, value in tags.items():
diff --git a/src/IRCServer.py b/src/IRCServer.py
index a5c4c34c..debe8f76 100644
--- a/src/IRCServer.py
+++ b/src/IRCServer.py
@@ -268,7 +268,7 @@ class Server(IRCObject.Object):
self.events.on("preprocess.send").call_unsafe(server=self,
line=line_parsed, events=line_events)
- if line_parsed.valid():
+ if line_parsed.valid() or line_parsed.assured():
line = line_parsed.format()
line_obj = IRCLine.SentLine(line_events, datetime.datetime.utcnow(),
self.hostmask(), line_parsed)
@@ -352,7 +352,7 @@ class Server(IRCObject.Object):
def send_message(self, target: str, message: str, tags: dict={}
) -> IRCLine.SentLine:
- return self.send(utils.irc.protocol.message(target, message, tags))
+ return self.send(utils.irc.protocol.privmsg(target, message, tags))
def send_notice(self, target: str, message: str, tags: dict={}
) -> IRCLine.SentLine:
diff --git a/src/utils/irc/protocol.py b/src/utils/irc/protocol.py
index 0ccf684f..66b4028c 100644
--- a/src/utils/irc/protocol.py
+++ b/src/utils/irc/protocol.py
@@ -33,7 +33,7 @@ def part(channel_name: str, reason: str=None) -> IRCLine.ParsedLine:
def quit(reason: str=None) -> IRCLine.ParsedLine:
return IRCLine.ParsedLine("QUIT", [reason] if reason else [])
-def message(target: str, message: str, tags: typing.Dict[str, str]={}
+def privmsg(target: str, message: str, tags: typing.Dict[str, str]={}
) -> IRCLine.ParsedLine:
return IRCLine.ParsedLine("PRIVMSG", [target, message], tags=tags)
def notice(target: str, message: str, tags: typing.Dict[str, str]={}