From 378f4b1f9324b9d04e89410c506779155a5cc355 Mon Sep 17 00:00:00 2001 From: jesopo Date: Wed, 14 Nov 2018 21:28:27 +0000 Subject: Better parsing of CTCP messages, support raw.send.privmsg/raw.send.notice in modules/line_handler.py --- src/utils/irc.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/utils/irc.py') 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 -- cgit v1.3.1-10-gc9f91