aboutsummaryrefslogtreecommitdiff
path: root/src/utils/irc.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/irc.py')
-rw-r--r--src/utils/irc.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/utils/irc.py b/src/utils/irc.py
index c39c84bc..c208e9d9 100644
--- a/src/utils/irc.py
+++ b/src/utils/irc.py
@@ -245,3 +245,17 @@ class IRCConnectionParameters(object):
self.username = username
self.realname = realname
self.args = args
+
+class CTCPMessage(object):
+ def __init__(self, command: str, message: str):
+ self.command = command
+ self.message = message
+def parse_ctcp(s: str) -> typing.Optional[CTCPMessage]:
+ ctcp = s.startswith("\x01")
+ if s.startswith("\x01"):
+ ctcp_command, sep, ctcp_message = s[1:].partition(" ")
+ if message.endswith("\x01"):
+ message = message[:-1]
+ return CTCPMessage(ctcp_command, ctcp_message)
+
+ return None