}
# Functions
-function connect(server, nick, channel) {
+function connect(server, nick, channel, auth, pass) {
SERVER = server
NICK = nick
CHANNEL = channel
send("CAP REQ :account-notify")
send("CAP REQ :extended-join")
send("CAP END")
+ say("NickServ", "IDENTIFY " pass)
} else {
send("WHOIS " nick)
}
# 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]
}
CMD == "332" {
- CMD = "TOPIC"
+ TOPICS[ARG[2]] = MSG
}
CMD == "TOPIC" {
- topics[DST] = MSG
+ TOPICS[ARG[1]] = MSG
}
# Authentication
gsub(/[@+]/, "")
for (i=1; i<=NF; i++)
send("WHO " $i " %uhnar")
+ for (i=1; i<=NF; i++)
+ send("TOPIC " $i)
}
CMD == "ACCOUNT" {
USERS[FROM]["real"] = MSG
}
-/^\.auth/ {
- _who = $2 ? $2 : FROM
- if (_who in USERS)
- say(" nick=" USERS[_who]["nick"] \
- " user=" USERS[_who]["user"] \
- " auth=" USERS[_who]["auth"] \
- " real=" USERS[_who]["real"] \
- " host=" USERS[_who]["host"])
- else
- say("no auth info for " _who)
+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]
}