@Override
    public void onInvalidCommand(CommandSender sender, String[] args, String command) {
        tickets = plugin.getTicketHandler();
        if (sender instanceof Player) {
            Player p = (Player) sender;
            if (p.hasPermission("modreq.reopen")) {
                if (args.length > 0) {
                    int id;
                    try {
                        id = Integer.parseInt(args[0]);
                    } catch (Exception e) {
                        p.sendMessage(ModReq.format(ModReq.getInstance().Messages.getString("error.number"), "", args[0],""));
                        return;
                    }
                    if (tickets.getTicketCount() < id) {
                        p.sendMessage(ModReq.format(ModReq.getInstance().Messages.getString("error.ticket.exists"), "", Integer.toString(id),""));
                    } else {
                        String comment = Utils.join(args, " ", 1);
                        Ticket t = tickets.getTicketById(id);

                        Status status = Status.OPEN;
                        String staff = sender.getName();

                        t.addComment(new Comment(sender.getName(), comment, CommentType.REOPEN));
                        t.setStaff(staff);
                        t.setStatus(status);
                        try {
                            t.update();
                        } catch (SQLException e) {
                            e.printStackTrace();
                        }
                        p.sendMessage(ModReq.format(ModReq.getInstance().Messages.getString("staff.executor.ticket.re-opened"), "", "",""));
                        t.sendMessageToSubmitter(ModReq.format(ModReq.getInstance().Messages.getString("player.reopen"), sender.getName(), args[0],""));
                    }
                }
            }
        }
    }