@Override
    public void execute(CommandSender sender, String[] args) {
        if (args.length < 2) {
            sender.sendMessage(new TextComponent(ChatColor.RED + "Usage: /pm <user> <message ...>"));
            return;
        }
        if (!IRC.sock.isConnected()) {
            sender.sendMessage(new TextComponent(ChatColor.RED + "The proxy is not connected to IRC."));
            return;
        }
        String uid = Util.getUidByNick(args[0]);
        if (uid == null) {
            sender.sendMessage(new TextComponent(ChatColor.RED + args[0] + " is not on IRC right now."));
            return;
        }
        ArrayList<String> list = new ArrayList<String>(Arrays.asList(args));
        list.remove(0);
        StringBuilder msg = new StringBuilder();
        for (String a : list) msg.append(a).append(" ");
        IRC.out.println(":" + IRC.uids.get(sender) + " PRIVMSG " + uid + " :" + msg);
        IRC.replies.put((ProxiedPlayer) sender, args[0]);
        sender.sendMessage(new TextComponent(ChatColor.translateAlternateColorCodes('&', BungeeRelay.getConfig().getString("formats.privatemsg")
                .replace("{SENDER}", sender.getName())
                .replace("{MESSAGE}", msg))));
    }