public Config getConfig () {
      
      out.println("[+++]\tReading Configuration File (Config.json)");
      
      InputStream fileStream = FileReader.class.getResourceAsStream(config_file);
      
      if (fileStream == null) {
          err.println("[+++]\tError: " + config_file + " was not found");
          System.exit(1);
      }
      
      InputStreamReader fileStreamReader = new InputStreamReader(fileStream);
      
      BufferedReader br = new BufferedReader(fileStreamReader);
      
      String line, json;
      
      json = "";
      try {
          while ((line= br.readLine()) != null){
            json = json.concat(line);
          }
          
          br.close();
          
      } catch (IOException ex) {
          err.println("[+++]\tError:" + ex.getMessage());
          ex.printStackTrace();
          System.exit(1);
      } 
      
      Gson gson = new Gson();
      config = gson.fromJson(json, Config.class);
      
      // Verifiying important settings for connection
      
      if (config.getName()==null){
          err.println("[+++]\tError: Unable to find bot's nickname");
          System.exit(1);
      }
      
      if (config.getPass()==null){
          err.println("[+++]\tError: Unable to find bot's password");
          System.exit(1);
      }
      
      if (config.getMasters()==null){
          err.println("[+++]\tError: Unable to find bot's Masters");
          System.exit(1);
      }
      
      if (config.getCmdSymb()=='\u0000'){
          err.println("[+++]\tError: Unable to find bot's Command Symbol");
          System.exit(1);
      }
      
      if (config.getNetwork()==null){
          err.println("[+++]\tError: Unable to find bot's Network");
          System.exit(1);
      }
      
      if (config.getChannel()==null){
          err.println("[+++]\tError: Unable to find bot's Channel");
          System.exit(1);
      }
      
      return config;
  }