void OnClientMessage(WebSocketConnection sender, DataReceivedEventArgs e) { User user = Users.Single(a => a.Connection == sender); if (e.Data.Contains("/nick")) { string[] tmpArray = e.Data.Split(new char[] { ' ' }); if (tmpArray.Length > 1) { string myNewName = tmpArray[1]; while (Users.Where(a => a.Name == myNewName).Count() != 0) { myNewName += "_"; } if (user.Name != null) wss.SendToAll("server: '" + user.Name + "' changed name to '" + myNewName + "'"); else sender.Send("you are now know as '" + myNewName + "'"); user.Name = myNewName; } } else { string name = (user.Name == null) ? unknownName : user.Name; wss.SendToAllExceptOne(name + ": " + e.Data, sender); sender.Send("me: " + e.Data); } }