Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- class IRCReader:
- def send(self, text):
- print ">>" + text
- def quitMessage(self, x):
- msg = x[1][2].split(" ")
- if len(msg) >= 2:
- msg = " ".join(msg[1:])
- else:
- msg = "Death is but a sweet release from life!"
- self.send("QUIT :" + msg)
- return "Completed!"
- def parse(self, data):
- if data[0] == ":":
- data = data[1:]
- prefix = data[:data.find(" ")]
- temp = prefix.partition("@")
- host = temp[2]
- temp = temp[0].partition("!")
- nick, real = temp[0], temp[2]
- prefix = (nick, real, host)
- else:
- prefix = ("", "", "")
- pe = data.find(" :")
- trail = data[pe + 2:].split(" ")
- params = data[:pe].split(" ")
- print str(prefix) + com + "::" + "|".join(params) + "[" + str(len(params)) + "]::" + " ".join(trail)
- return (prefix, (params, trail))
- def checkPrivmsg(self, data):
- if data[1][1][0].startswith(self.nick):
- del data[1][1][0]
- elif data[1][0][1] == self.nick:
- pass
- else:
- return "well, darn!"
- return self.act.get(data[1][1][0], lambda x: "Oh nose")(data)
- def setup(self):
- self.nick = "mixster"
- self.act = {
- "reply": lambda x: self.send("OMG IT'S A REPLY! " + " ".join(x[1][1][1:])),
- "ping" : lambda x: self.send("Pong to you, bitch")
- }
- self.ntc = {
- "DIE": self.quitMessage
- }
- self.cmd = {
- "PING": lambda x: "PONG",
- "NOTICE": lambda x: self.ntc.get(x[1][0][0], lambda x: "Nothing")(x),
- "PRIVMSG": self.checkPrivmsg
- }
- data = (("nick", "user", "host"), (["PRIVMSG", "mixster"], ["reply", "text", "wat"]))
- temp = IRCReader()
- temp.setup()
- print temp.cmd.get(data[1][0][0], lambda x: "Zilch")(data)
Add Comment
Please, Sign In to add comment