Implement the CTCP handler into bot

This commit is contained in:
Firepup Sixfifty 2023-11-06 00:29:00 -06:00
parent d8c11dcb25
commit cb7acb14cb
Signed by: Firepup650
GPG key ID: 7C92E2ABBBFAB9BA

32
bot.py
View file

@ -120,3 +120,35 @@ class bot:
def exit(message: object) -> NoReturn:
log(message, self.server, "EXIT")
exit(1)
def CTCPHandler(self, msg: str, sender: str = "", isRaw: bool = False) -> bool:
if isRaw:
sender = msg.split("!", 1)[0][1:]
message = msg.split("PRIVMSG", 1)[1].split(":", 1)[1].strip()
CTCP = msg.split("\x01")[1].split(" ", 1)[0]
log(f"Responding to CTCP {CTCP} from {sender}", server)
if CTCP == "VERSION":
notice(
f"\x01VERSION FireBot {__version__} (https://git.amcforum.wiki/Firepup650/fire-ircbot)\x01",
sender,
True,
)
return True
elif CTCP == "USERINFO":
notice("\x01USERINFO FireBot (Firepup's bot)\x01", sender, True)
return True
elif CTCP == "SOURCE":
notice(
"\x01SOURCE https://git.amcforum.wiki/Firepup650/fire-ircbot\x01",
sender,
True,
)
return True
elif CTCP == "FINGER":
notice("\x01FINGER Firepup's bot\x01", sender, True)
return True
elif CTCP == "CLIENTINFO":
notice("\x01CLIENTINFO ACTION VERSION USERINFO SOURCE FINGER\x01", sender, True)
return True
log(f"Unknown CTCP {CTCP}", server)
return False