Skip to content

Instantly share code, notes, and snippets.

@CBenni
Created September 20, 2015 23:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CBenni/680ccc4d95842ed60079 to your computer and use it in GitHub Desktop.
Save CBenni/680ccc4d95842ed60079 to your computer and use it in GitHub Desktop.
STATE_V3 = 1
STATE_PREFIX = 2
STATE_COMMAND = 3
STATE_PARAM = 4
STATE_TRAILING = 5
def parseIRCMessage(message):
parts = message.split(" ")
state = 0
data = [message,"","","",[],""]
for part in parts:
if state == STATE_TRAILING:
pass
elif state == 0 and part.startswith("@"):
state = STATE_V3
elif state < 2 and part.startswith(":"):
state = STATE_PREFIX
elif state < 3:
state = STATE_COMMAND
elif state >= 3 and part.startswith(":"):
state = STATE_TRAILING
else:
state = STATE_PARAM
data[state].append(part)
continue
if data[state]:
data[state] += " "
data[state] += part
return data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment