2016-02-19 2 views
0

Je mis en place un fichier INI pour mon bot IRC fait avec PircBotX et maintenant IllegalArgumentException est jeté à .buildConfiguration()Java - IllegalArgumentException quand .buildConfiguration() est appelée

code:

public Craftxbot() throws IOException{ 
    File inicheck = new File("config.ini"); 
    if(!inicheck.exists()){ 
     System.out.println("Configuration file not found, Making one."); 
     inicheck.createNewFile(); 
     Wini ini = new Wini(new File("config.ini")); 
     ini.add("Config"); 
     System.out.print("Nickname: "); 
     ini.put("Config", "nick", input.next()); 
     System.out.print("Server Hostname: "); 
     ini.put("Config", "serverHostname", input.next()); 
     System.out.print("Server Port: "); 
     ini.put("Config", "serverPort", input.nextInt()); 
     System.out.print("Default Channel: "); 
     ini.put("Config", "defaultChannel", input.next()); 
     System.out.flush(); 
    } 
    Wini ini = new Wini(new File("config.ini")); 
    System.out.print("Nickserv Password: "); 
    System.out.flush(); 
    String nickpass = input.next(); 
    Configuration<PircBotX> alpha = new Configuration.Builder<PircBotX>() 
      .setName(ini.get("Config", "nick")) 
      .setLogin("Craftxbot-Dev") 
      .setNickservPassword(nickpass) 
      .setAutoNickChange(true) 
      .setServerHostname(ini.get("Config", "serverHostname")) 
      .setServerPort(ini.get("Config", "serverPort", int.class)) 
      .addAutoJoinChannel(ini.get("Config", "defaultChannel")) 
      .addListener(new Commands()) 
      .addListener(new EventHandler()) 
      .addListener(new PrivMsg()) 
      .buildConfiguration(); 

trace Stack:

Exception in thread "main" java.lang.IllegalArgumentException: Must specify name 
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:93) 
at org.pircbotx.Configuration.<init>(Configuration.java:128) 
at org.pircbotx.Configuration$Builder.buildConfiguration(Configuration.java:589) 
at tk.craftxbox.bot.Craftxbot.<init>(Craftxbot.java:61) 
at tk.craftxbox.bot.Craftxbot.main(Craftxbot.java:27) 

Avant d'ajouter le fichier INI il a bien fonctionné et comme prévu

Répondre