private boolean parsePrivmsg(String in, String[] split) {  // Handles all msgs.
        String line = getLine(in);
        String name = in.toString().split("!")[0].substring(1);
        String channel = split[2].split(":")[0];

        if (!line.contains("\u0001")) { // If normal msg

            if (!channel.equals(serv.getNick())) { // If channel message
                if (line.toLowerCase().contains(serv.getNick().toLowerCase())) { // If highlight
                    Tray t = serv.getServerPanel().getWindow().getTray();
                    if (t.isTray() && !serv.getServerPanel().getWindow().isFocused()) {
                        t.message("Highlight", name + ": \n" + line);
                    }
                    serv.getServerPanel().getChannelPane(channel).getChat().appendHighlight(name, line);
                } else { // If normal message
                    serv.getServerPanel().getChannelPane(channel).getChat().appendLine(name, line);
                }

            } else { // If private message
                if (!serv.getServerPanel().isInChannel(name)) {
                    serv.getServerPanel().joinServer(name);
                }
                serv.getServerPanel().getChannelPane(name).getChat().appendLine(name, line);
            }
        } else { // If CTCP message
            try {
                parseCTCP(in, split);
            } catch (IOException ioe) {
            }
        }
        try {
            if (log) {
                new Log(serv.getServerPanel().getServerName(), channel).writeLine("<" + name + "> " + line);
            }
        } catch (IOException ioe) {
        }

        return true;
    }