· 4 years ago · Aug 20, 2021, 11:28 AM
1package de.backxtar;
2
3import com.github.theholywaffle.teamspeak3.TS3Api;
4import com.github.theholywaffle.teamspeak3.TS3Config;
5import com.github.theholywaffle.teamspeak3.TS3Query;
6import com.github.theholywaffle.teamspeak3.api.exception.TS3Exception;
7import org.slf4j.Logger;
8import org.slf4j.LoggerFactory;
9
10import java.io.File;
11import java.io.FileInputStream;
12import java.io.IOException;
13import java.util.Enumeration;
14import java.util.Properties;
15
16public class TS3Bot
17{
18 public static Logger logger = LoggerFactory.getLogger(TS3Bot.class);
19 public static TS3Bot ts3Bot;
20 public TS3Api api;
21
22 public TS3Bot() throws IOException, TS3Exception
23 {
24 ts3Bot = this;
25 final TS3Config config = new TS3Config();
26 Properties cfg = new Properties();
27 File file = new File("config.cfg");
28
29 if (file.createNewFile())
30 logger.info("New config created.");
31 else if (!file.createNewFile() && file.length() == 0)
32 {
33 logger.info("config.cfg is empty!");
34 return;
35 }
36 cfg.load(new FileInputStream("config.cfg"));
37 Enumeration<Object> en = cfg.keys();
38 String host = "", username = "", password = "", nickname = "";
39
40 while (en.hasMoreElements())
41 {
42 String key = (String) en.nextElement();
43
44 if (key.equalsIgnoreCase("host"))
45 host = (String) cfg.get(key);
46 if (key.equalsIgnoreCase("username"))
47 username = (String) cfg.get(key);
48 if (key.equalsIgnoreCase("password"))
49 password = (String) cfg.get(key);
50 if (key.equalsIgnoreCase("nickname"))
51 nickname = (String) cfg.get(key);
52 }
53 logger.info("Config loaded.");
54 config.setHost(host);
55 config.setEnableCommunicationsLogging(true);
56 config.setFloodRate(TS3Query.FloodRate.UNLIMITED);
57
58 final TS3Query query = new TS3Query(config);
59 query.connect();
60
61 api = query.getApi();
62 api.login(username, password);
63 api.selectVirtualServerById(1);
64 api.setNickname(nickname);
65
66 EventDistributor.loadEvents();
67 }
68
69 public static void main(String[] args)
70 {
71 try {
72 new TS3Bot();
73 logger.info("Configuration successful!");
74 logger.info("Bot online!");
75 } catch (IOException | TS3Exception e) {
76 logger.info("Configuration failed!");
77 logger.info("Please check config.cfg");
78 }
79 }
80}
81