All pastes #797328 Raw Edit

Mine

public text v1 · immutable
#797328 ·published 2007-11-25 22:36 UTC
rendered paste body
import org.apello.abot.*;
import java.io.*;
import java.net.*;

public class di3 extends PluginAdapter{
    public di3(ABot ab){super(ab);}
    public String getPluginName(){return "di3";}
    public String getPluginDesc(){return ".";}
    public void init(String args)throws Exception{
        if(args.equals("") == true)
            throw new Exception("Cookie value for \"rscdforums\" was not set (needed to check players online)");
        else
            cookieValue = args;
        File f1 = new File(System.getProperty("user.dir") + "/admins.di3");
        if(f1.exists() == false)
            throw new Exception(System.getProperty("user.dir") + "/admins.di3 doesn't exist");
        File f2 = new File(System.getProperty("user.dir") + "/ignores.di3");
        if(f2.exists() == false)
            throw new Exception(System.getProperty("user.dir") + "/ignores.di3 doesn't exist");
    }
    public void process(){}
    public void dispose(){}
    public void run(){}

    public long iStart = System.currentTimeMillis();//ignore
    public long start = System.currentTimeMillis();//normal
    public long spamDelaySec = 10;
    public boolean getStats = true;
    public boolean oracle = false;
    public boolean notice = false;
    public boolean google = false;
    public String cookieValue = "";

    public String channelAllowed = "#rscdaemon";


    public void processCommand(String replyMethod, String nick, String ident, String host, String msg){

    }

    public void onChatMessage(String channel, String senderNick, String senderIdent, String senderHost, String msg) {
        if(channel.equalsIgnoreCase(channelAllowed) == false)
            return;
        String host = senderIdent + "@" + senderHost;
        //System.out.println(host);
        if(msg.startsWith(getNick() + ", ") || msg.startsWith(getNick() + ": ") || msg.startsWith(getNick() + " ")) {
            if(msg.startsWith(getNick() + " "))
                msg = msg.replaceAll(getNick() + " ", "");
            else
                msg = msg.replaceAll(getNick(), "").substring(2);
            if(isIgnored(host)) {
                if(getTimeElapsed(iStart, 0) < (20 * 1000))//20sec
                    return;
                iStart = System.currentTimeMillis();
                sendNotice(senderNick, "You are ignored at the moment");
                return;
            }
            if(isAdmin(senderNick, host) == false) {
                if(getTimeElapsed(start, 0) < (spamDelaySec * 1000)) {
                    sendNotice(senderNick, "Command not processed due to spam throttling");
                    return;
                }
                start = System.currentTimeMillis();
                if(oracle == false) {
                    sendNotice(senderNick, "Oracle is disabled at the moment");
                    return;
                }
            }
            doMessage(senderNick, channel, askOracle(msg));
        }
        if(msg.startsWith("!") == true) {
            msg = msg.substring(1);
            if(isIgnored(host)) {
                if(getTimeElapsed(iStart, 0) < (spamDelaySec * 1000)) {
                    return;
                }
                iStart = System.currentTimeMillis();
                sendNotice(senderNick, "You are ignored at the moment");
                return;
            }
            if(isAdmin(senderNick, host) == false) {
                if(getTimeElapsed(start, 0) < (spamDelaySec * 1000)) {
                    sendNotice(senderNick, "Command not processed due to spam throttling");
                    return;
                }
                start = System.currentTimeMillis();
            }
            String nick = senderNick;
            String from = channel;
            if(getStats == true || isAdmin(senderNick, host)) {
                if(msg.startsWith("owner ")) {
                    doMessage(nick, from,  owner(msg.substring(6), true));
                }
                else if(msg.startsWith("status ")) {
                    doMessage(nick, from,  owner(msg.substring(7), false));
                }
                else if(msg.startsWith("combat ")) {
                    doMessage(nick, from,  charInfo(msg.substring(7), "combat"));
                }
                else if(msg.startsWith("ranged ")) {
                    doMessage(nick, from,  charInfo(msg.substring(7), "ranged"));
                }
                else if(msg.startsWith("prayer ")) {
                    doMessage(nick, from,  charInfo(msg.substring(7), "prayer"));
                }
                else if(msg.startsWith("magic ")) {
                    doMessage(nick, from,  charInfo(msg.substring(6), "magic"));
                }
                else if(msg.startsWith("cooking ")) {
                    doMessage(nick, from,  charInfo(msg.substring(8), "cooking"));
                }
                else if(msg.startsWith("woodcut ")) {
                    doMessage(nick, from,  charInfo(msg.substring(8), "woodcut"));
                }
                else if(msg.startsWith("fletching ")) {
                    doMessage(nick, from,  charInfo(msg.substring(10), "fletching"));
                }
                else if(msg.startsWith("fishing ")) {
                    doMessage(nick, from,  charInfo(msg.substring(8), "fishing"));
                }
                else if(msg.startsWith("firemaking ")) {
                    doMessage(nick, from,  charInfo(msg.substring(11), "firemaking"));
                }
                else if(msg.startsWith("crafting ")) {
                    doMessage(nick, from,  charInfo(msg.substring(9), "crafting"));
                }
                else if(msg.startsWith("smithing ")) {
                    doMessage(nick, from,  charInfo(msg.substring(9), "smithing"));
                }
                else if(msg.startsWith("mining ")) {
                    doMessage(nick, from,  charInfo(msg.substring(7), "mining"));
                }
                else if(msg.startsWith("herblaw ")) {
                    doMessage(nick, from,  charInfo(msg.substring(8), "herblaw"));
                }
                else if(msg.startsWith("agility ")) {
                    doMessage(nick, from,  charInfo(msg.substring(8), "agility"));
                }
                else if(msg.startsWith("thieving ")) {
                    doMessage(nick, from, charInfo(msg.substring(9), "thieving"));
                }
                else if(msg.startsWith("kpd ")) {
                    doMessage(nick, from, charInfo(msg.substring(4), "kpd"));
                }
                else if(msg.startsWith("stats ")) {
                    String[] array = charInfo(msg.substring(6), "stats").split("\n");
                    for(int x = 0; x < array.length; x++) {
                        if(contains(array[x], "null") == true) {
                            doMessage(nick, from, nick + ": No such player");
                            break;
                        }
                        doMessage(nick, nick, array[x]);
                    }
                }
                else if(msg.equalsIgnoreCase("online")) {
                    int onlinei = online();
                    String online = "";
                    if(onlinei == -3)
                        online = "Connection timed out, rscdaemon.org down?";
                    else if(onlinei == -1)
                        online = "Unknown error";
                    else
                        online = String.valueOf(onlinei);
                    doMessage(nick, from, "There are " + online + " players online");
                }
                else if(msg.startsWith("top5 ")) {
                    String tmp = msg.substring(5);
                    if(tmp.equals(""))
                        doMessage(nick, from, nick + ": Wrong syntax");
                    else
                        doMessage(nick, from, getTop5(tmp));
                }
                else if(msg.equalsIgnoreCase("top5")) {
                    doMessage(nick, from, getTop5());
                }
            }
            if(google == true || isAdmin(senderNick, host)) {
                if(msg.startsWith("google ")) {
                    String query = msg.substring(7);
                    String result = google(query);
                    doMessage(nick, from, result);
                }
            }
        }
    }
    public void onPrivateMessage(String senderNick, String senderIdent, String senderHost, String msg) {
        if(isAdmin(senderNick, senderIdent + "@" + senderHost))
            adminCommand(senderNick, msg);
    }
    public void adminCommand(String nick, String msg) {
        if(msg.startsWith("msg ")) {
            msg = msg.substring(4);
            String[] array = msg.split(" ");
            String whoto = array[0];
            msg = msg.replaceAll(whoto + " ", "");
            sendMessage(whoto, msg);
        }
        else if(msg.equalsIgnoreCase("notice")) {
            notice = notice ? false : true;
            sendMessage(nick, "Noticing: " + toStr(notice));
        }
        else if(msg.equalsIgnoreCase("stats")) {
            getStats = getStats ? false : true;
            sendMessage(nick, "Stats: " + toStr(getStats));
        }
        else if(msg.equalsIgnoreCase("oracle")) {
            oracle = oracle ? false : true;
            sendMessage(nick, "Oracle: " + toStr(oracle));
        }
        else if(msg.equalsIgnoreCase("google")) {
            google = google ? false : true;
            sendMessage(nick, "Google: " + toStr(google));
        }
        else if(msg.startsWith("spam ")) {
            long delay = Long.parseLong(msg.substring(5));
            spamDelaySec = delay;
            sendMessage(nick, "Spam delay: " + toStr(spamDelaySec) + " seconds");
        }
        else if(msg.equalsIgnoreCase("status")) {
            sendMessage(nick, "Noticing: " + toStr(notice));
            sendMessage(nick, "Oracle: " + toStr(oracle));
            sendMessage(nick, "Google: " + toStr(google));
            sendMessage(nick, "Stats: " + toStr(getStats));
            sendMessage(nick, "Spam delay: " + toStr(spamDelaySec));
        }
        else if(msg.startsWith("ignore ")) {
            msg = msg.substring(7);
            if(msg.startsWith("add ")) {
                msg = msg.substring(4);
                addIgnore(msg);
                sendMessage(nick, msg + " added to ignore");
            }
            else if(msg.startsWith("del ")) {
                msg = msg.substring(4);
                removeIgnore(msg);
                sendMessage(nick, msg + " removed from ignore");
            }
        }
        else if(msg.startsWith("is ")) {
            msg = msg.substring(3);
            if(msg.startsWith("ignored ")) {
                msg = msg.substring(8);
                if(isIgnored(msg) == true)
                    sendMessage(nick, msg + " is ignored");
                else
                    sendMessage(nick, msg + " is not ignored");
            }
        }
    }
    /**/
    public void doMessage(String nick, String channel, String msg) {
        if(notice == true)
            sendNotice(nick, msg);
        else
            sendMessage(channel, msg);
    }
    public boolean contains(String str, String toContain) {
        if(str.indexOf(toContain) >= 0)
            return true;
        return false;
    }
    public void updateLong(long l) {
        l = System.currentTimeMillis();
    }
    public boolean toBoolean(String s) {
        return s.equalsIgnoreCase("true") == false ? false : true;
    }
    public String toStr(long l) {
        try {
            String x = String.valueOf(l);
            return x;
        }
        catch(Exception e) {
            return null;
        }
    }
    public String toStr(boolean b) {
        return b ? "on" : "off";
    }
    public String toStr(int number) {
        try {
            String x = String.valueOf(number);
            return x;
        }
        catch(Exception e) {
            return null;
        }
    }
    public int toInt(String value) {
        try {
            int x = Integer.parseInt(value);
            return x;
        }
        catch(Exception e) {
            return -1;
        }
    }
    public boolean isInt(String value) {
        try {
            Integer.parseInt(value);
            return true;
        }
        catch(Exception e) {
            return false;
        }
    }
    public int random(int one, int two) {
        return new java.util.Random().nextInt(two - one + 1) + one;
    }
    public String underline() {    return "";        }
    public String u() {    return underline();        }
    public String bold() {    return "";    }
    public String b() {    return bold();    }
    public String getTop5(String skill) {
        try {
            URLConnection connection;
            connection = new URL("http://www.rscdaemon.org/highscores.php?skill=" + skill).openConnection();
            connection.setRequestProperty("Cookie", "rscdforums=" + cookieValue);
            BufferedReader input = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String str;
            String return_ = "Top 5 players for " + skill + " (by level): ";
            int getcounter = 1;
            int getcounter2 = 1;
            int arraycounter = 0;
            int arraycounter2 = 0;
            String[] names = new String[5];
            int[] levels = new int[5];
            boolean gotlevel = false;
            while ((str = input.readLine()) != null) {
                if(str.contains("<td class=\"tc3\">") && getcounter2 <= 5 && gotlevel == false) {
                    String s = str;
                    s = s.replaceAll("</td>", "");
                    s = s.replaceAll("<td class=\"tcl\">", "");
                    s = s.substring(s.indexOf("\">") + 2);
                    if(isInt(s)) {
                        levels[arraycounter2] = Integer.parseInt(s);
                        gotlevel = true;
                        arraycounter2 ++;
                        getcounter2 ++;
                    }
                }
                if(str.contains("<td class=\"tcl\"><a href=\"char.php") && getcounter <= 5) {
                    String s = str;
                    s = s.replaceAll("</a></td>", "");
                    s = s.replaceAll("<td class=\"tcl\">", "");
                    s = s.substring(s.indexOf("\">") + 2);
                    names[arraycounter] = s;
                    arraycounter ++;
                    getcounter ++;
                    gotlevel = false;
                }
            }
            for(int i = 0; i < names.length; i++)
                return_ += b() + names[i] + "(" + levels[i] + ")" + b() + ", ";
            input.close();
            if(return_.contains("null"))
                return "Invalid skill \"" + skill + "\"";
            return return_.substring(0, (return_.length() - 2));
        }
        catch(Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    public String getTop5() {
        try {
            URLConnection connection;
            connection = new URL("http://www.rscdaemon.org/highscores.php").openConnection();
            connection.setRequestProperty("Cookie", "rscdforums=" + cookieValue);
            BufferedReader input = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String str;
            String return_ = "Top 5 players (by skilltotal): ";
            int getcounter = 1;
            int getcounter2 = 1;
            int arraycounter = 0;
            int arraycounter2 = 0;
            String[] names = new String[5];
            int[] levels = new int[5];
            int gotlevel = 0;
            while ((str = input.readLine()) != null) {
                if(str.contains("<td class=\"tc3\">") && getcounter2 <= 5) {
                    String s = str;
                    s = s.replaceAll("</td>", "");
                    s = s.replaceAll("<td class=\"tcl\">", "");
                    s = s.substring(s.indexOf("\">") + 2);
                    if(isInt(s) && gotlevel == 2) {
                        levels[arraycounter2] = Integer.parseInt(s);
                        gotlevel = 0;
                        arraycounter2 ++;
                        getcounter2 ++;
                    }
                    else
                        gotlevel ++;
                }
                if(str.contains("<td class=\"tcl\"><a href=\"char.php") && getcounter <= 5) {
                    String s = str;
                    s = s.replaceAll("</a></td>", "");
                    s = s.replaceAll("<td class=\"tcl\">", "");
                    s = s.substring(s.indexOf("\">") + 2);
                    names[arraycounter] = s;
                    arraycounter ++;
                    getcounter ++;
                }
            }
            for(int i = 0; i < names.length; i++)
                return_ += b() + names[i] + "(" + levels[i] + ")" + b() + ", ";
            input.close();
            return return_.substring(0, (return_.length() - 2));
        }
        catch(Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    public int online() {
        try {
            URLConnection connection;
            connection = new URL("http://rscdaemon.org/status.php").openConnection();
            connection.setRequestProperty("Cookie", "rscdforums=" + cookieValue);
            BufferedReader input = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String str;
            int return_ = 0;
            boolean hax = false;
            while ((str = input.readLine()) != null) {
                if(contains(str, "<th scope=\"row\">Players Online:</th>"))
                    hax = true;
                if(contains(str, "<td>") && contains(str, "</td>") && hax == true)
                    return_ = Integer.parseInt(str.substring(str.indexOf("<td>") + 4, str.lastIndexOf("</td>")));
                if(contains(str, "<th scope=\"row\">Start Time:</th>"))
                    hax = false;
            }
            input.close();
            return return_;
        }
        catch(Exception e) {
            if(contains(e.toString(), "Connection timed out"))
                return -3;
            return -1;
        }
    }
    public String google(String query) {
        try {
            URLConnection connection;
            connection = new URL("http://www.google.com/search?q=" + URLEncoder.encode(query)).openConnection();
            connection.setRequestProperty("User-agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; fi; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
            BufferedReader input = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String str;
            boolean hax = false;
            while ((str = input.readLine()) != null) {
                if(contains(str, "<h2 class=r><a href=\"http")) {
                    return str.substring(str.indexOf("<h2 class=r><a href=\"http") + 21, str.indexOf("\" class=l onmo"));
                }
            }
            input.close();
            return query + " did not match any results";
        }
        catch(Exception e) {
            return e.toString();
        }
    }
    public String owner(String who, boolean Bowner) {
        try {
            URL url = new URL("http://rscdaemon.org/char.php?user=" + usernameToHash(who) + "&display=xml");
            BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
            String str;
            boolean found = false;
            String owner = "", username = "", status = "";
            while ((str = in.readLine()) != null) {
                if(contains(str, "<username>"))
                    username = str.replaceAll("    ", "").replaceAll("<username>", "").replaceAll("</username>", "");
                if(contains(str, "<owner>"))
                    owner = str.replaceAll("    ", "").replaceAll("<owner>", "").replaceAll("</owner>", "");
                if(contains(str, "status"))
                    status = str.replaceAll("    ", "").replaceAll("<status>", "").replaceAll("</status>", "");
            }
            in.close();
            String returned = null;
            username = username.replaceAll("    ", "");
            owner = owner.replaceAll("    ", "");
            status = status.replaceAll("    ", "");
            if(owner.equals("") == false && username.equals("") == false && Bowner == true)
                returned = username + "'s owner is " + owner;
            if(status.equals("") == false && username.equals("") == false && Bowner == false)
                returned = username + "'s status is " + status;
            if(returned == null)
                returned = "Player \"" + who + "\" wasn't found";
            return returned;
        }
        catch(Exception e) {
            e.printStackTrace();
            return e.toString();
        }
    }
    public String[] infoNames = {
        "Username", "Combat", "Skilltotal", "Kills", "Deaths", "Attack", "Defense", "Strength", "Hits", "Ranged", "Prayer", "Magic", "Cooking",
        "Woodcut", "Fletching", "Fishing", "Firemaking", "Crafting", "Smithing", "Mining", "Herblaw", "Agility",
        "Thieving"};
    public String[] infoDetails = new String[infoNames.length];
    public String charInfo(String who, String what) {
        try {
            URL url = new URL("http://rscdaemon.org/char.php?user=" + usernameToHash(who) + "&display=xml");
            BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
            String str;
            boolean found = false;
            while ((str = in.readLine()) != null) {
                if(contains(str, "<username>"))
                    found = true;
                if(found == true) {
                    for(int i = 0; i < infoNames.length; i++) {
                        if(contains(str, "<" + infoNames[i].toLowerCase() + ">") && contains(str, "</" + infoNames[i].toLowerCase() + ">"))
                            if(infoNames[i].equals("Username") || infoNames[i].equals("Combat") || infoNames[i].equals("Kills")
                             || infoNames[i].equals("Deaths"))
                            infoDetails[i] = str.substring(("<" + infoNames[i].toLowerCase() + ">").length() + 1, str.lastIndexOf("</" + infoNames[i].toLowerCase() + ">"));
                        else
                            infoDetails[i] = str.substring(("<" + infoNames[i].toLowerCase() + ">").length() + 2, str.lastIndexOf("</" + infoNames[i].toLowerCase() + ">"));
                    }
                }
            }
            in.close();
            String returned = null;
            for(int x = 0; x < infoDetails.length; x++)
                if(infoNames[x].equalsIgnoreCase(what) && infoDetails[x] != null)
                    returned = infoDetails[0] + "'s " + infoNames[x] + " level: " + infoDetails[x];
                else if(what.equalsIgnoreCase("combat") && infoDetails[x] != null) {
                    returned = infoDetails[0] + "'s combat stats: " + infoDetails[5] + " " + infoDetails[6] + " " + infoDetails[7] + " " + infoDetails[8] + " (level-" + infoDetails[1] + ")";
                }
                else if(what.equalsIgnoreCase("kpd") && infoDetails[x] != null) {
                    double kills = Double.parseDouble(infoDetails[3]);
                    double deaths = Double.parseDouble(infoDetails[4]);
                    double kpd = kills / deaths;
                    return infoDetails[0] + "'s kpd: " + String.valueOf(kpd);
                }
                else if(what.equalsIgnoreCase("stats")) {
                    returned = infoDetails[0] + "'s stats are:\n";
                    for(int a = 0; a < infoNames.length; a++) {
                        if(a >= 5)
                            returned += infoNames[a] + ": " + infoDetails[a] + "\n";
                    }
                }
            if(returned == null)
                returned = "Player \"" + who + "\" wasn't found";
            for(int l = 0; l < infoDetails.length; l++)
                infoDetails[l] = null;
            return returned;
        }
        catch(Exception e) {
            e.printStackTrace();
            return e.toString();
        }
    }
    public long usernameToHash(String s) {
        s = s.toLowerCase();
        String s1 = "";
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (c >= 'a' && c <= 'z')
                s1 = s1 + c;
            else if (c >= '0' && c <= '9')
                s1 = s1 + c;
            else
                s1 = s1 + ' ';
        }

        s1 = s1.trim();
        if (s1.length() > 12)
            s1 = s1.substring(0, 12);
        long l = 0L;
        for (int j = 0; j < s1.length(); j++) {
            char c1 = s1.charAt(j);
            l *= 37L;
            if (c1 >= 'a' && c1 <= 'z')
                l += (1 + c1) - 97;
            else if (c1 >= '0' && c1 <= '9')
                l += (27 + c1) - 48;
        }
        return l;
    }
    public long getTimeElapsed(long since, int type) {
        long elapsedTimeMillis = System.currentTimeMillis() - since;
        long elapsedTime = elapsedTimeMillis;
        if(type == 0)
            elapsedTime = elapsedTimeMillis;//milliseconds
        if(type == 1)
            elapsedTime = elapsedTimeMillis / 1000;//seconds
        if(type == 2)
            elapsedTime = elapsedTimeMillis / (60 * 1000);//minutes
        if(type == 3)
            elapsedTime = elapsedTimeMillis / (60 * 60 * 1000);//hours
        if(type == 4)
            elapsedTime = elapsedTimeMillis / (24 * 60 * 60 * 1000);//days
        return elapsedTime;
    }
    public String askOracle(String question) {
        try {
            URL url = new URL("http://www.askoracle.net/index.php?q=" + URLEncoder.encode(question) + "&skiphtml=TRUE");
            BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
            String str;
            while ((str = in.readLine()) != null) {
                in.close();
                return str;
            }
            return null;
        }
        catch(Exception e) {
            e.printStackTrace();
            return e.toString();
        }
    }
    public boolean isIgnored(String identhost) {
        try {
            BufferedReader in = new BufferedReader(new FileReader(System.getProperty("user.dir") + "/ignores.di3"));
            String s;
            String[] s1 = new String[20];
            int c = 0;
            while((s = in.readLine()) != null) {
                if(s.equalsIgnoreCase(identhost))
                    return true;
            }
            in.close();
            return false;
        }
        catch(Exception e) {
            System.out.println(e + "\nStacktrace:");
            e.printStackTrace();
            return false;
        }
    }
    public void addIgnore(String identhost) {
        try {
            BufferedWriter out = new BufferedWriter(new FileWriter(System.getProperty("user.dir") + "/ignores.di3", true));
            out.write(identhost + "\n");
            out.close();
        }
        catch(Exception e) {
            System.out.println(e + "\nStacktrace:");
            e.printStackTrace();
        }
    }
    public void removeIgnore(String identhost) {
        try {
            BufferedReader in = new BufferedReader(new FileReader(System.getProperty("user.dir") + "/ignores.di3"));
            String s;
            String[] s1 = new String[20];
            int c = 0;
            while((s = in.readLine()) != null) {
                s1[c] = s;
                c++;
            }
            in.close();
            for(int i = 0; i < s1.length; i++)
                if(s1[i] != null)
                    if(s1[i].equalsIgnoreCase(identhost))
                        s1[i] = null;
            BufferedWriter out = new BufferedWriter(new FileWriter(System.getProperty("user.dir") + "/ignores.di3"));
            for(int i = 0; i < s1.length; i++)
                if(s1[i] != null)
                    out.write(s1[i] + "\n");
            out.close();
        }
        catch(Exception e) {
            System.out.println(e + "\nStacktrace:");
            e.printStackTrace();
        }
    }
    public boolean isAdmin(String nick, String identhost) {
        try {
            String[] tmp = identhost.split("@");
            if(isAdmin(nick, tmp[0], tmp[1]))
                return true;
            return false;
        }
        catch(Exception e) {
            System.out.println(e + "\nStacktrace:");
            e.printStackTrace();
            return false;
        }
    }
    public void addAdmin(String identhost) {
        try {
            BufferedWriter out = new BufferedWriter(new FileWriter(System.getProperty("user.dir") + "/admins.di3", true));
            out.write(identhost + "\n");
            out.close();
        }
        catch(Exception e) {
            System.out.println(e + "\nStacktrace:");
            e.printStackTrace();
        }
    }
    public void removeAdmin(String identhost) {
        try {
            BufferedReader in = new BufferedReader(new FileReader(System.getProperty("user.dir") + "/admins.di3"));
            String s;
            String[] s1 = new String[20];
            int c = 0;
            while((s = in.readLine()) != null) {
                s1[c] = s;
                c++;
            }
            in.close();
            for(int i = 0; i < s1.length; i++)
                if(s1[i] != null)
                    if(s1[i].equalsIgnoreCase(identhost))
                        s1[i] = null;
            BufferedWriter out = new BufferedWriter(new FileWriter(System.getProperty("user.dir") + "/admins.di3"));
            for(int i = 0; i < s1.length; i++)
                if(s1[i] != null)
                    out.write(s1[i] + "\n");
            out.close();
        }
        catch(Exception e) {
            System.out.println(e + "\nStacktrace:");
            e.printStackTrace();
        }
    }
}