Brauche Hilfe bei Java/der Ts3 API von theholywaffle

Diskutiere Brauche Hilfe bei Java/der Ts3 API von theholywaffle im Plauderecke Forum; Ich habe erst vor kurzem mir Java angefangen und habe diesen Fehler: Exception in thread "Timer-1" Exception in thread "Timer-0"...

  1. Velortex
    Velortex Neues Mitglied
    Ich habe erst vor kurzem mir Java angefangen und habe diesen Fehler:
    Code (Text):
    Exception in thread "Timer-1" Exception in thread "Timer-0" java.lang.NullPointerException
        at com.github.theholywaffle.teamspeak3.TS3Query.doCommandAsync(TS3Query.java:226)
        at com.github.theholywaffle.teamspeak3.TS3ApiAsync.executeAndTransform(TS3ApiAsync.java:5394)
        at com.github.theholywaffle.teamspeak3.TS3ApiAsync.getClients(TS3ApiAsync.java:2314)
        at com.github.theholywaffle.teamspeak3.TS3Api.getClients(TS3Api.java:1921)
        at de.velortex.ts3querybot.events.afkmover$1.run(afkmover.java:23)
        at java.util.TimerThread.mainLoop(Unknown Source)
        at java.util.TimerThread.run(Unknown Source)
    java.lang.NullPointerException
        at com.github.theholywaffle.teamspeak3.TS3Query.doCommandAsync(TS3Query.java:226)
        at com.github.theholywaffle.teamspeak3.TS3ApiAsync.executeAndTransform(TS3ApiAsync.java:5394)
        at com.github.theholywaffle.teamspeak3.TS3ApiAsync.getClients(TS3ApiAsync.java:2314)
        at com.github.theholywaffle.teamspeak3.TS3Api.getClients(TS3Api.java:1921)
        at de.velortex.ts3querybot.events.supportchannel$1.run(supportchannel.java:32)
        at java.util.TimerThread.mainLoop(Unknown Source)
        at java.util.TimerThread.run(Unknown Source)
     
    Meine Main Class aus der alles geladen wird:
    Code (Java):
    package de.velortex.ts3querybot.main;

    import com.github.theholywaffle.teamspeak3.TS3Api;
    import com.github.theholywaffle.teamspeak3.TS3Config;
    import com.github.theholywaffle.teamspeak3.TS3Query;
    import com.github.theholywaffle.teamspeak3.TS3Query.FloodRate;

    import de.velortex.ts3querybot.events.afkmover;
    import de.velortex.ts3querybot.events.botmessage;
    import de.velortex.ts3querybot.events.supportchannel;
    import de.velortex.ts3querybot.events.supportnotify;

    public class load {

        public static final TS3Config config = new TS3Config();
        public static final TS3Query query =new TS3Query(config);
        public static final TS3Api api = query.getApi();
     
        public static void main(String[] args) {
            config.setHost("37.114.51.209");
            config.setFloodRate(FloodRate.UNLIMITED);
            query.connect();
            api.login("serveradmin", "passwor");
            api.selectVirtualServerByPort(9987);
            api.setNickname("RavedMC-System");
            afkmover.start();
            supportchannel.start();
            botmessage.loadevents();
            supportnotify.loadevents();
            System.out.println("  _______         ____     ____                                  ____            _   ");
            System.out.println(" |__   __|       |___ \\   / __ \\                                |  _ \\          | |  ");
            System.out.println("    | |     ___    __) | | |  | |  _   _    ___   _ __   _   _  | |_) |   ___   | |_ ");
            System.out.println("    | |    / __|  |__ <  | |  | | | | | |  / _ \\ | '__| | | | | |  _ <   / _ \\  | __|");
            System.out.println("    | |    \\__ \\  ___) | | |__| | | |_| | |  __/ | |    | |_| | | |_) | | (_) | | |_ ");
            System.out.println("    |_|    |___/ |____/   \\___\\_\\  \\__,_|  \\___| |_|     \\__, | |____/   \\___/   \\__");
            System.out.println("                                                          __/ |                      ");
            System.out.println("                                                         |___/                       ");
        }
    }
    Meine AFK mover Class:
    Code (Java):
    package de.velortex.ts3querybot.events;

    import java.util.Timer;
    import java.util.TimerTask;

    import com.github.theholywaffle.teamspeak3.TS3Api;
    import com.github.theholywaffle.teamspeak3.TS3Config;
    import com.github.theholywaffle.teamspeak3.TS3Query;
    import com.github.theholywaffle.teamspeak3.api.wrapper.Client;

    import de.velortex.ts3querybot.main.load;

    public class afkmover {
     
        public static final TS3Config config = new TS3Config();
        public static final TS3Query query =new TS3Query(config);
        public static final TS3Api api = query.getApi();
     
        public static void start() {
            Timer timer = new Timer();
            timer.schedule(new TimerTask() {
             
                @Override
                public void run() {
                    for(Client c : load.api.getClients()) {
                        if(c.getIdleTime() > 15*60*1000) {
                            if(c.getChannelId() !=59 && c.getChannelId() !=28) {
                                if(!(c.isInServerGroup(49))) {
                                    api.moveClient(c.getId(), 59);
                                    api.sendPrivateMessage(c.getId(), "Du wurdest in den AFK-Channel gemoved, da du länger als 15 minuten AFK warst");
                                }else {
                                    api.moveClient(c.getId(), 28);
                                    api.sendPrivateMessage(c.getId(), "Du wurdest in den AFK-Channel gemoved, da du länger als 15 minuten AFK warst");
                                }
                            }
                        }
                    }
                }
            }, 1000, 5*1000);
        }
    }
    Meine supportchannel Class:

    Code (Java):
    package de.velortex.ts3querybot.events;

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Timer;
    import java.util.TimerTask;

    import com.github.theholywaffle.teamspeak3.TS3Api;
    import com.github.theholywaffle.teamspeak3.TS3Config;
    import com.github.theholywaffle.teamspeak3.TS3Query;
    import com.github.theholywaffle.teamspeak3.api.ChannelProperty;
    import com.github.theholywaffle.teamspeak3.api.wrapper.Client;

    import de.velortex.ts3querybot.main.load;

    public class supportchannel {
     
        public static final TS3Config config = new TS3Config();
        public static final TS3Query query =new TS3Query(config);
        public static final TS3Api api = query.getApi();
     
        public static ArrayList<Integer> onlinesups = new ArrayList<>();
     
        public static void start() {
            Timer timer = new Timer();
            timer.schedule(new TimerTask() {
             
                @Override
                public void run() {
                    onlinesups.clear();
                    for(Client c : api.getClients()) {
                        if(c.isInServerGroup(26)) {
                            onlinesups.add(c.getId());
                        }
                    }
                    Map<ChannelProperty, String> property = new HashMap<ChannelProperty, String>();
                    if(onlinesups.size() == 0) {
                        if(!api.getChannelInfo(32).getName().contains("╔-● Support | Warteraum [CLOSED]")) {
                            property.put(ChannelProperty.CHANNEL_NAME, "╔-● Support | Warteraum [CLOSED]");
                            property.put(ChannelProperty.CHANNEL_MAXCLIENTS, "0");
                            property.put(ChannelProperty.CHANNEL_FLAG_MAXCLIENTS_UNLIMITED, "0");
                            load.api.editChannel(32, property);
                            property.clear();
                        }
                    }else {
                        if(!api.getChannelInfo(32).getName().contains("╔-● Support | Warteraum ["+onlinesups.size()+"]")) {
                            property.put(ChannelProperty.CHANNEL_NAME, "╔-● Support | Warteraum ["+onlinesups.size()+"]");
                            property.put(ChannelProperty.CHANNEL_MAXCLIENTS, "1");
                            property.put(ChannelProperty.CHANNEL_FLAG_MAXCLIENTS_UNLIMITED, "1");
                            load.api.editChannel(32, property);
                            property.clear();
                        }
                    }
                }
            }, 1000, 5*1000);
        }
    }
     
    PS: Ich hoffe irgendwer kann mir helfen danke im Vorraus
     
    Zuletzt von einem Moderator bearbeitet: 31. Juli 2018
  2. Vielleicht hilft dir diese Seite hier weiter (Klick!)
  3. mrBrown
    mrBrown Super-Moderator Mitarbeiter
    Bitte Code-Tags ([code=java]//dein Code[/code]) benutzen ;)
     
  4. Velortex
    Velortex Neues Mitglied
    Danke für den Tipp
     
  5. X5-599
    X5-599 Aktives Mitglied
    Könnte es am fehlenden query.connect(); liegen? In der main Methode machst du das, in den anderen Klassen wo du jeweils neue query-Objekte hast aber nicht. Ich kenne mich aber nicht wirklich mit dieser API aus. Hab nur mal kurz aus Langeweile den Code auf GitHub angeschaut.
     
  6. Hinweis: Du möchtest Java lernen? Vielleicht hilft dir dieser Kurs hier weiter. Sichere dir hier den Zugriff auf umfangreiches Java-Know How und starte richtig durch!
Die Seite wird geladen...

Brauche Hilfe bei Java/der Ts3 API von theholywaffle - Ähnliche Themen

Brauche Hilfe beim Run-Length-Decoding
Brauche Hilfe beim Run-Length-Decoding im Forum Allgemeine Java-Themen
Brauche Hilfe beim Einlesen von PNGs
Brauche Hilfe beim Einlesen von PNGs im Forum Spiele- und Multimedia-Programmierung
Wurzelzeichen in der Konsole ausgeben | Brauche Hilfe
Wurzelzeichen in der Konsole ausgeben | Brauche Hilfe im Forum Java Basics - Anfänger-Themen
Brauche Hilfe bei dieser Aufgabe
Brauche Hilfe bei dieser Aufgabe im Forum Java Basics - Anfänger-Themen
Brauche dringend Hilfe!!!
Brauche dringend Hilfe!!! im Forum Private Stellangebote und Stellensuche von Usern
Thema: Brauche Hilfe bei Java/der Ts3 API von theholywaffle