X-Git-Url: http://pileus.org/git/?p=~andy%2Frhawk;a=blobdiff_plain;f=irc.awk;h=d4bb41e1f2dde228e23235a0e13ab57d0f114b01;hp=fe94a958f0d75a5f9d7c1b862e92596f175cd3c2;hb=HEAD;hpb=dc0460bc02615f8cb640c421ca5dcc7e834cc20e diff --git a/irc.awk b/irc.awk index fe94a95..d4bb41e 100644 --- a/irc.awk +++ b/irc.awk @@ -137,9 +137,10 @@ function reload() { # Input parsing // { - gsub(/\s+/, " ") - gsub(/^ | $/, "") - gsub(/\3[0-9]*/, "") + gsub(/\s+/, " ") + gsub(/^ | $/, "") + gsub(/[\2\11\17\23\25\26\37]/, "") + gsub(/[\3\13](1[0-5]|0?[0-9])?(,(1[0-5]|0?[0-9]))?/, "") match($0, /(:([^ ]+) )?([A-Z0-9]+)(( [^:][^ ]*)*)( :(.*))?/, arr); sub(/^ /, "", arr[4]) SRC = arr[2] @@ -179,11 +180,11 @@ CMD == "PING" { } CMD == "332" { - CMD = "TOPIC" + TOPICS[ARG[2]] = MSG } CMD == "TOPIC" { - topics[DST] = MSG + TOPICS[ARG[1]] = MSG } # Authentication @@ -192,6 +193,8 @@ CMD == "319" { gsub(/[@+]/, "") for (i=1; i<=NF; i++) send("WHO " $i " %uhnar") + for (i=1; i<=NF; i++) + send("TOPIC " $i) } CMD == "ACCOUNT" { @@ -216,3 +219,12 @@ CMD == "JOIN" { USERS[FROM]["auth"] = _auth USERS[FROM]["real"] = MSG } + +CMD == "NICK" { + USERS[MSG]["user"] = USERS[FROM]["user"] + USERS[MSG]["host"] = USERS[FROM]["host"] + USERS[MSG]["nick"] = MSG + USERS[MSG]["auth"] = USERS[FROM]["auth"] + USERS[MSG]["real"] = USERS[FROM]["real"] + delete USERS[FROM] +}