diff options
Diffstat (limited to 'src/utils/irc.py')
| -rw-r--r-- | src/utils/irc.py | 14 |
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 |
