Klar darf man Fragen stellen
Aber so ganz komm ich immernoch nicht dahinter... in der verlinkten RFC steht eigentlich ganz genau, wie solche Messages aufgebaut sind, und somit ist es auch sehr easy die Messages zu unterscheiden!
Z.B. gibts nen Sack voll Raw-Messages, wo dann jede Nummer einer bestimmten Message zugeordnet is:
317 = IdletTime
321 = Start von List
322 = List
323 = Ende von List
...
Ansonsten gibts halt JOIN, PART, PRIVMSG, usw...
Die dann auseinanderzuklammbustern is nicht besonders schwierig, sie aber in eine ordentliche GUI zu pressen schon.
Gruss
HeX
[Edit]
Kleines Beispiel, wie so ne IRC-Zeile auseinandergenommen wird:
Code: Alles auswählen
raw$ = Trim(DelLead(raw$))
Nick$ = Trim(StringField(raw$, 1, "!"))
If FindString(Nick$, " ", 1)
Nick$ = ""
Ident$ = StringField(raw$, 1, " ")
Instruction$ = DelLead(StringField(raw$, 2, " "))
Chan$ = DelLead(StringField(raw$, 3, " "))
Text$ = DelLead(Trim(RemoveString(raw$, Ident$ + " " + Instruction$ + " " + Chan$, 1)))
Else
Ident$ = RemoveString(StringField(raw$, 1, " "), Nick$ + "!", 1)
Instruction$ = DelLead(StringField(raw$, 2, " "))
Chan$ = DelLead(StringField(raw$, 3, " "))
Text$ = DelLead(Trim(RemoveString(raw$, Nick$ + "!" + Ident$ + " " + Instruction$ + " " + Chan$, 1)))
EndIf
raw$ = Eine Zeile
DelLead() - löscht (falls vorhanden) den Doppelpunkt am Anfang des Strings
Dann musst nur noch die verschiedenen Instruction$ checken.
Chan$ ist natürlich auch nicht immer der Chan, das muss dann logischerweise mit dem jeweiligen Befehl abgeglichen werden
Manche Befehle verstecken sich auch im Ident$, z.B. ERROR (naja kein Befehl

) oder PING