DESCRIPTION
goircd is very simple IRC server, written on Go.
-It is heavily inspired by miniircd daemon written on Python.
+It was heavily inspired by miniircd daemon written on Python.
GoVPN is free software: see the file COPYING for copying conditions.
It does not aim to replace full featured mass scalable IRC networks:
* PASS/NICK/USER during registration workflow
* PING/PONGs
-* NOTICE/PRIVMSG
+* NOTICE/PRIVMSG, ISON
* AWAY, MOTD, LUSERS, WHO, WHOIS, VERSION, QUIT
* LIST, JOIN, TOPIC, +k/-k channel MODE
cols := strings.Split(cols[1], " ")
nicknames := strings.Split(cols[len(cols)-1], ",")
SendWhois(client, nicknames)
+ case "ISON":
+ if len(cols) == 1 || len(cols[1]) < 1 {
+ client.ReplyNotEnoughParameters("ISON")
+ continue
+ }
+ nicksKnown := make(map[string]struct{})
+ for c := range clients {
+ nicksKnown[*c.nickname] = struct{}{}
+ }
+ var nicksExists []string
+ for _, nickname := range strings.Split(cols[1], " ") {
+ if _, exists := nicksKnown[nickname]; exists {
+ nicksExists = append(nicksExists, nickname)
+ }
+ }
+ client.ReplyNicknamed("303", strings.Join(nicksExists, " "))
case "VERSION":
var debug string
if *verbose {