Advertisement
Guest User

Untitled

a guest
Dec 20th, 2018
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 42.96 KB | None | 0 0
  1. package de.tim.ts3;
  2. import com.github.theholywaffle.teamspeak3.*;
  3. import com.github.theholywaffle.teamspeak3.api.TextMessageTargetMode;
  4. import com.github.theholywaffle.teamspeak3.api.wrapper.Client;
  5. import com.github.theholywaffle.teamspeak3.api.wrapper.ServerGroup;
  6. import org.omg.Messaging.SYNC_WITH_TRANSPORT;
  7. import sun.awt.SunHints;
  8.  
  9. import java.io.BufferedReader;
  10. import java.io.IOException;
  11. import java.io.InputStreamReader;
  12. import java.sql.PreparedStatement;
  13. import java.sql.ResultSet;
  14. import java.sql.SQLException;
  15. import java.util.*;
  16. import java.util.logging.Level;
  17.  
  18. public class Load {
  19. public static final TS3Config config = new TS3Config();
  20. public static final TS3Query query = new TS3Query(config);
  21. public static final TS3Api api = query.getApi();
  22. public static ArrayList<Integer> NoAfkclass = new ArrayList<Integer>();
  23. static String nick = "undefined";
  24. public static String preset;
  25. public static String quname;
  26. public static String qupw;
  27. public static String in;
  28. public static String in2;
  29. public static Thread inputreader;
  30. public static Thread commands;
  31. public static Thread adminco;
  32. public static boolean cadmin;
  33. public static String cmsg;
  34. public static String[] cmsgcut;
  35. public static int cid;
  36.  
  37. public static Thread setup;
  38. public static Thread passwdcheck;
  39. public static int tabblenth = 14;
  40. public static String[] result = new String[tabblenth+1];
  41. public static final int tabbelskinreg = 4;
  42. public static final boolean Debug_Mode = true;
  43. public static void main(String[]args) {
  44. Configssback.readMySQL();
  45. Msql.connect();
  46. Msql.createTable();
  47. Scanner scanner = new Scanner(System.in);
  48. System.out.println("Ts3 Bot by Alex \nVersion : 2.FUCKING HELL MSQL IST SHIT.1 Beta");
  49. System.out.print("User: ");
  50. preset = scanner.nextLine();
  51. if(preset.equals("Debug") && Debug_Mode == false){
  52. System.out.println("Debug Mode not enabeled");
  53. System.exit(56);
  54. }
  55. if(preset.equals("Debug") && Debug_Mode == true){
  56. getUserbyPreset(preset);
  57. }else{
  58. getUserbyPreset(preset);
  59. passwdcheckint();
  60. passwdcheck.run();
  61. }
  62. //System.out.println(result[1]);
  63. config.setHost(result[4]);
  64. config.setQueryPort(Integer.valueOf(result[5]));
  65. config.setDebugLevel(Level.ALL);
  66. query.connect();
  67. api.login(result[6],result[7]);
  68. //System.out.println(result[6]+"|"+result[7]);
  69. api.selectVirtualServerByPort(Integer.valueOf(result[8]));
  70. api.setNickname(result[9]);
  71.  
  72. /*System.out.println("Afk channel id: ");
  73. AFK.afkchannel = scanner.nextInt();
  74. scanner.close();
  75.  
  76. System.out.println("No Afk groups ids (getrennt mit leerzeichen): ");
  77. in2 = scanner.nextLine();
  78. //scanner2.close();
  79. //scanner.next();
  80. //Scanner scanner3 = new Scanner(System.in);
  81. System.out.println("Admin groups ids (getrennt mit leerzeichen): ");
  82. in = scanner.nextLine();
  83. scanner.close();*/
  84. //String f=scanner.next();
  85. //scanner.close();
  86. //scanner.close();
  87. //String in = "10 62";
  88. if(result[11]!=null){
  89. AFK.afkchannel = Integer.valueOf(result[11]);
  90. }
  91. if(result[14]!=null){
  92. try {
  93. AFK.timetomove = Integer.valueOf(result[14]);
  94. }catch (NumberFormatException e){
  95. System.out.println("[Startup] Time till move not correct set Falling back to default: 20 sec");
  96. }
  97. }else{
  98. System.out.println("[Startup] Time till move not set Falling back to default: 20 sec");
  99. }
  100. if(result[13]!=null){
  101. Boolean prevent = false;
  102. //System.out.println(result[13]);
  103. String[] input = result[13].split("&");
  104. if(result[12].equals("")|| result[13].equals(" ")|| input.length==0){
  105. prevent=true;
  106. //System.out.println("Crashing now");
  107. }
  108. if(prevent==false){
  109. for(int i = 0; i < input.length; i++){
  110. Chatbot.Admins.add(Integer.valueOf(input[i]));
  111. }
  112. }
  113. }
  114. if(result[12]!=null){
  115. Boolean prevent = false;
  116. //System.out.println(result[12]);
  117. String[] input = result[12].split("&");
  118. if(result[12].equals("")|| result[12].equals(" ")|| input.length==0){
  119. prevent=true;
  120. //System.out.println("Crashing now");
  121. }
  122. if(prevent==false){
  123. for(int i = 0; i < input.length; i++){
  124. //Chatbot.Admins.add(Integer.valueOf(input[i]));
  125. NoAfkclass.add(Integer.valueOf(input[i]));
  126. }
  127. }
  128. }
  129. /*
  130. if(in2!=null){
  131. Boolean prevent = false;
  132. Boolean one = false;
  133. String[] input2 = in2.split(" ");
  134. if(in.equals("")|| in.equals(" ")|| input2.length==0){
  135. prevent=true;
  136. //System.out.println("Crashing now");
  137. }
  138. int fuck = 0;
  139. try{
  140. fuck = Integer.valueOf(in2);
  141. if(fuck != 0){
  142. one = true;
  143. }
  144. }catch (NumberFormatException e ){
  145. System.out.println("aids"+in2+"|"+in);
  146. }
  147. if(prevent==false){
  148. System.out.println("adding"+in2);
  149. for(int i = 0; i < input2.length; i++){
  150. NoAfkclass.add(Integer.valueOf(input2[i]));
  151. }
  152. }
  153. if(one ==true){
  154. NoAfkclass.add(Integer.valueOf(in2));
  155. }
  156. }*/
  157. Events.loadEvents();
  158. System.out.println("[Startup] Events Loaded");
  159. AFK.start();
  160. System.out.println("[Startup] Afk bot Loaded");
  161. Chatbot.start();
  162. Threads.admincom();
  163. System.out.println("[Startup] Chatbot Loaded");
  164. for(Client c : Load.api.getClients()){
  165. for(int i = 0;i < c.getServerGroups().length; i++){
  166. for (int z = 0; z < Chatbot.Admins.size(); z++) {
  167. if(c.getServerGroups()[i] == Chatbot.Admins.get(z)){
  168. Chatbot.Admin.put(c.getUniqueIdentifier(),true);
  169. //System.out.println("got admin " + c.getNickname());
  170. }
  171. }
  172. }
  173. }
  174. System.out.println("[Startup]Got all curent admins");
  175. Threads.inputreader();
  176. Threads.commands();
  177. inputreader.run();
  178. Threads.Case();
  179. System.out.println("[Startup] Threads started");
  180. System.out.println("[Startup]Done loading");
  181. /*for(int i = 0;i<NoAfkclass.size();i++){
  182. System.out.println(NoAfkclass.get(i));
  183. }*/
  184. }
  185. public static void passwdcheckint(){
  186. passwdcheck = new Thread(new Runnable() {
  187. @Override
  188. public void run() {
  189. System.out.print("Password: ");
  190. Scanner scanner = new Scanner(System.in);
  191. String pw = scanner.nextLine();
  192. if(pw.equals(result[2])){
  193. if(result[3].equals("1")){
  194. System.out.println("logging in");
  195. }else{
  196. System.out.println("You acount has been disabeled");
  197. }
  198. }else{
  199. System.out.println("password not found");
  200. System.exit(88);
  201. }
  202. }
  203. });
  204. }
  205. public static String[] getUserbyPreset(String preset){
  206. try {
  207. PreparedStatement st = Msql.con.prepareStatement("SELECT * FROM users WHERE username= ?");
  208. st.setString(1,preset);
  209. ResultSet rs = st.executeQuery();
  210. result = null;
  211. result = new String[tabblenth+1];
  212. while (rs.next()){
  213. for(int i = 0;i<tabblenth;i++){
  214. int z = i+1;
  215. String ear = rs.getString(z);
  216. result[z] = ear;
  217. }
  218. }
  219. if(result[1]==null){
  220. System.out.println("User not found");
  221. System.exit(88);
  222. }else{
  223. return result;
  224. }
  225. }catch (SQLException e){
  226. e.printStackTrace();
  227. }
  228. return null;
  229. }
  230. /*public static void main(String[]args){
  231. Configs.setStandardMySQL();
  232. Configs.readMySQL();
  233. Msql.connect();
  234. Msql.createTable();
  235. Scanner scanner = new Scanner(System.in);
  236. System.out.println("Ts3 Bot by Alex \nVersion : 1.03");
  237. System.out.print("User: ");
  238. preset = scanner.nextLine();
  239. if(!(preset.equalsIgnoreCase("alextest"))){
  240. System.out.print("Quarry Login username: ");
  241. quname = scanner.nextLine();
  242. System.out.print("Quarry Login password: ");
  243. qupw = scanner.nextLine();
  244. System.out.print("Time till movein sec: ");
  245. AFK.timetomove = scanner.nextInt();
  246. System.out.print("Afk channel id: ");
  247. AFK.afkchannel = scanner.nextInt();
  248. System.out.print("Bot nickname (min 3 zeichen): ");
  249. nick = scanner.nextLine();
  250. nick = scanner.nextLine();
  251. System.out.println("No Afk groups ids (getrennt mit leerzeichen): ");
  252. in2 = scanner.nextLine();
  253. System.out.println("Admin groups ids (getrennt mit leerzeichen): ");
  254. in = scanner.nextLine();
  255. //scanner.close();
  256. }
  257. //String in = "10 62";
  258. if(in!=null){
  259. String[] input = in.split(" ");
  260. for(int i = 0; i < input.length; i++){
  261. Chatbot.Admins.add(Integer.valueOf(input[i]));
  262. }
  263. }
  264. if(in2!=null){
  265. String[] input2 = in2.split(" ");
  266. for(int i = 0; i < input2.length; i++){
  267. NoAfkclass.add(Integer.valueOf(input2[i]));
  268. }
  269. }
  270. //System.out.print("[Debug] got " + quname + "|" + qupw);
  271. //NoAfkclass.add(37);
  272. //NoAfkclass.add(12);
  273. //Debug("Name");
  274. if(preset.equalsIgnoreCase("kugelhd")){
  275. Stephan(nick,quname,qupw);
  276. }
  277. if(preset.equalsIgnoreCase("alex")){
  278. Debug(nick,quname,qupw);
  279. }
  280. if(preset.equalsIgnoreCase("alextest")){
  281. AFK.timetomove = 360;
  282. AFK.afkchannel = 29;
  283. Chatbot.Admins.add(27);
  284. Chatbot.Admins.add(10);
  285. NoAfkclass.add(12);
  286. NoAfkclass.add(37);
  287. Debug("Test Bot","Bot","8sBn8UZf");
  288. }
  289. if(preset.equalsIgnoreCase("debug")){
  290. System.out.print("Server ip: ");
  291. String ip = scanner.nextLine();
  292. config.setHost(ip);
  293. System.out.print("Quarry Port: ");
  294. int port = scanner.nextInt();
  295. config.setQueryPort(port);
  296. config.setDebugLevel(Level.ALL);
  297. query.connect();
  298. api.login(quname,qupw);
  299. System.out.print("Server Port: ");
  300. int sport = scanner.nextInt();
  301. api.selectVirtualServerByPort(sport);
  302. System.out.print("Bot nickname: ");
  303. String nickname = scanner.nextLine();
  304. api.setNickname(nickname);
  305. }
  306. Events.loadEvents();
  307. System.out.println("[Startup] Events Loaded");
  308. AFK.start();
  309. System.out.println("[Startup] Afk bot Loaded");
  310. Chatbot.start();
  311. System.out.println("[Startup] Chatbot Loaded");
  312. for(Client c : Load.api.getClients()){
  313. for(int i = 0;i < c.getServerGroups().length; i++){
  314. for (int z = 0; z < Chatbot.Admins.size(); z++) {
  315. if(c.getServerGroups()[i] == Chatbot.Admins.get(z)){
  316. Chatbot.Admin.put(c.getUniqueIdentifier(),true);
  317. //System.out.println("got admin " + c.getNickname());
  318. }
  319. }
  320. }
  321. }
  322. System.out.println("[Startup]Got all curent admins");
  323. Threads.inputreader();
  324. Threads.commands();
  325. inputreader.run();
  326. System.out.println("[Startup] Threads started");
  327. System.out.println("[Startup]Done loading");
  328. Msql.connect();
  329. //Msql.checkTabel();
  330. }*/
  331. public static Boolean msg = false;
  332. public static String input = "";
  333. public static int msgid = 0;
  334. public static void sendmsg(int id, String message){
  335. Load.api.pokeClient(id,message);
  336. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,id,message);
  337. System.out.println("[Commands handler] send " + message +" too " + Load.api.getClientInfo(id).getNickname());
  338. msg = false;
  339. }
  340. public static class Threads{
  341. public static void inputreader(){
  342. inputreader = new Thread(new Runnable() {
  343. @Override
  344. public void run() {
  345. Timer inputreader = new Timer();
  346. inputreader.schedule(new TimerTask() {
  347. @Override
  348. public void run() {
  349. final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  350. try {
  351. input = br.readLine();
  352. if(!(input.equals(""))){
  353. if(!msg){
  354. commands.run();
  355. }else{
  356. if(!(msgid == 0)){
  357. sendmsg(msgid,input);
  358. }
  359. }
  360. }
  361. } catch (IOException e){
  362.  
  363. }
  364. }
  365. },100,100);
  366. }
  367. });
  368. }
  369. public static void commands(){
  370. commands = new Thread(new Runnable() {
  371. @Override
  372. public void run() {
  373. String read = input;
  374. if(read.equals("help")){
  375. String help= "";
  376. help = "[Commands handler]";
  377. //help = help+"\nclear : leert den globalen chat(nur so na ja)";
  378. help = help+"\nnick : ändert nen nickmanen des botes";
  379. help = help+"\nadmins reload : reloaded alle admins";
  380. help = help+"\nadmins get : zeigt alle admin gruppen ids an";
  381. help = help+"\nadmins add/remove : fügt admin gruppen zu der liste hinzu und entfert sie von der liste";
  382. help = help+"\ngetclients : zeigt alle nutzer an";
  383. help = help+"\nmsg schreibt einem spieler";
  384. help = help+"\nmove : (client id(bekommt man wenn mann !getclients macht) (channel id)";
  385. help = help+"\nexit : Moveed alle auf afk raus und beendent den bot";
  386. help = help+"\nunafk : not done";
  387. help = help+"\nafk : not done";
  388. //help = help+"\nÄh ka?";
  389. System.out.println(help);
  390. }
  391. if(read.equals("admins " + "reload")){
  392. //System.out.println("reload");
  393. Chatbot.Admin.clear();
  394. for(Client c : Load.api.getClients()){
  395. if(!(c.isServerQueryClient())) {
  396. for (int i = 0; i < c.getServerGroups().length; i++) {
  397. for (int z = 0; z < Chatbot.Admins.size(); z++) {
  398. if (c.getServerGroups()[i] == Chatbot.Admins.get(z) || c.getUniqueIdentifier().equals("QZnglCRxAPiWl2rALb3zVJsL+rk=")) {
  399. //if(!(Admin.containsKey(c.getUniqueIdentifier()))){
  400. //System.out.println("got admin " + c.getNickname());
  401. //}
  402. Chatbot.Admin.put(c.getUniqueIdentifier(), true);
  403. }
  404. }
  405. }
  406. }
  407. }
  408. System.out.println("[Commands handler] Done");
  409. }
  410. if(read.equalsIgnoreCase("getclients")){
  411. String list = "";
  412. List<Client> cs = api.getClients();
  413. int lenth =0;
  414. for(Client c : cs){
  415. if(!(c.isServerQueryClient())){
  416. if(!(list.equalsIgnoreCase(""))){
  417. list=list+", ";
  418. }
  419. list=list+c.getNickname() +"|" + c.getId();
  420. lenth++;
  421. }
  422. }
  423. System.out.println("[Commands handler] Total Clients: "+ lenth);
  424. System.out.println("[Commands handler] List: " + list);
  425. }
  426. if(read.startsWith("admins " + "remove")) {
  427. String[]msgcut = read.split(" ");
  428. //if (Admin.containsKey(Load.api.getClientInfo(id).getUniqueIdentifier())) {
  429. //System.out.println("remove");
  430. int offset = 2;
  431. int lenth = msgcut.length - offset;
  432. String eee = "";
  433. for (int y = 0; y < lenth; y++) {
  434. int yy = y + offset;
  435. // System.out.println(msg2[yy]);
  436. // if()
  437. if (eee.equalsIgnoreCase("")) {
  438. eee = msgcut[yy];
  439. } else {
  440. eee = eee + " " + msgcut[yy];
  441. }
  442. }
  443. if (Chatbot.Admins.contains(Integer.valueOf(eee))) {
  444. Chatbot.Admins.remove(Integer.valueOf(eee));
  445. System.out.println("[Commands handler] Removed " + eee + " aus der Admin ids list");
  446. } else {
  447. System.out.println("[Commands handler] Nicht in der Admin ids list");
  448. }
  449. //}else{
  450. //Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,id,"[color=red] keine rechte");
  451. //}
  452. }
  453. if(read.startsWith("admins " + "add")){
  454. String[]msgcut = read.split(" ");
  455. int offset = 2;
  456. int lenth = msgcut.length - offset;
  457. String eee = "";
  458. for (int y = 0; y < lenth; y++) {
  459. int yy = y + offset;
  460. // System.out.println(msg2[yy]);
  461. // if()
  462. if (eee.equalsIgnoreCase("")) {
  463. eee = msgcut[yy];
  464. } else {
  465. eee = eee + " " + msgcut[yy];
  466. }
  467. }
  468. if (!(Chatbot.Admins.contains(Integer.valueOf(eee)))) {
  469. Chatbot.Admins.add(Integer.valueOf(eee));
  470. System.out.println("[Commands handler] Added " + eee + " zu der Admin ids list");
  471. } else {
  472. System.out.println("[Commands handler] Ist schon auf der liste");
  473. }
  474. }
  475. if(read.equals("admins " + "get")){
  476. //System.out.println("get");
  477. String list= "";
  478. for (int z = 0; z < Chatbot.Admins.size(); z++) {
  479. list = list+Chatbot.Admins.get(z)+" ";
  480. }
  481. System.out.println("[Commands handler] " + list);
  482. }
  483. if(read.startsWith("nick")) {
  484. String[]msgcut = read.split(" ");
  485. int offset = 1;
  486. int lenth = msgcut.length - offset;
  487. String eee = "";
  488. for (int y = 0; y < lenth; y++) {
  489. int yy = y + offset;
  490. // System.out.println(msg2[yy]);
  491. // if()
  492. if (eee.equalsIgnoreCase("")) {
  493. eee = msgcut[yy];
  494. } else {
  495. eee = eee + " " + msgcut[yy];
  496. }
  497. }
  498. if(eee.length() >2){
  499. Load.api.setNickname(eee);
  500. System.out.println("[Commands handler] set nickname to " + eee);
  501. }else{
  502. System.out.println("[Commands handler] to short");
  503. }
  504. }
  505. if(read.startsWith("msg")){
  506. String[] msgcut = read.split(" ");
  507. int offset = 1;
  508. int lenth = msgcut.length - offset;
  509. String eee = "";
  510. for (int y = 0; y < lenth; y++) {
  511. int yy = y + offset;
  512. // System.out.println(msg2[yy]);
  513. // if()
  514. if (eee.equalsIgnoreCase("")) {
  515. eee = msgcut[yy];
  516. } else {
  517. eee = eee + " " + msgcut[yy];
  518. }
  519. }
  520. int msguser = 0;
  521. int ergebnis = 0;
  522. for(Client c : Load.api.getClients()){
  523. if(!(c.isServerQueryClient())){
  524. //System.out.println(c.getNickname() + "|" + eee);
  525. if (eee.toLowerCase().contains(c.getNickname().toLowerCase()) || eee.toLowerCase().equals(c.getNickname().toLowerCase()) || c.getNickname().toLowerCase().contains(eee.toLowerCase())) {
  526. msguser = c.getId();
  527. ergebnis++;
  528. }
  529. }
  530. }
  531. if(ergebnis > 1 ){
  532. System.out.println("[Commands handler] found too many users (max 1)");
  533. }else{
  534. if(ergebnis == 1){
  535. if(msguser!=0){
  536. msg = true;
  537. msgid = msguser;
  538. //kasokdokaopwkdwaowiofioajwegijioeghuoiedrhguiojrhguiorhgshueighueighuisghuisehgfiueshguziesghbzuesghziusezhgesdgzhifeghbzidfasgwbehifrgbaiszhegbfvizhaegfbvrizuhawgbvfrziawgvizhfrvgbaiwzfrvgbizavbgfr
  539. System.out.print("Nachricht: ");
  540. }
  541. }else{
  542. if(ergebnis == 0){
  543. System.out.println("[Commands handler] found no users");
  544. }
  545. }
  546. }
  547. }
  548. if(read.startsWith("exit")){
  549. for(Client c : Load.api.getClients()){
  550. Long time = c.getIdleTime() / 1000;
  551. for(int i = 0;i<AFK.Moved.size();i++){
  552. //System.out.println(c.getUniqueIdentifier()+"%"+ AFK.Moved.get(c.getUniqueIdentifier()));
  553. }
  554. if (AFK.Moved.get(c.getUniqueIdentifier()) != null) {
  555. //System.out.println("moveing out");
  556. if(!(AFK.Second.containsKey(c.getUniqueIdentifier()))) {
  557. System.out.println(c.getNickname() + " moved out of afk" + " " + time);
  558. AFK.Moved.remove(c.getUniqueIdentifier());
  559. System.out.println(c.getId()+"|"+ AFK.Channel.get(c.getUniqueIdentifier()));
  560. Load.api.moveClient(c.getId(), AFK.Channel.get(c.getUniqueIdentifier()));
  561. AFK.Channel.remove(c.getUniqueIdentifier());
  562. }else{
  563. AFK.Second.remove(c.getUniqueIdentifier());
  564. System.out.println(c.getNickname() + " moved out of afk_schild" + " " + time);
  565. AFK.Moved.remove(c.getUniqueIdentifier());
  566. Load.api.moveClient(c.getId(), AFK.Channel.get(c.getUniqueIdentifier()));
  567. AFK.Channel.remove(c.getUniqueIdentifier());
  568. }
  569. }
  570. }
  571. System.exit(88);
  572. }
  573. if(read.startsWith("unafk"))
  574. if(read.startsWith("move")){
  575. //System.out.println("1");
  576. String[] msgcut = read.split(" ");
  577. //int msgcut2 = Integer.parseInt(msgcut[1]);
  578. if(Integer.parseInt(msgcut[1]) > 0){
  579. //System.out.println("2" + msgcut.length);
  580. if(Integer.parseInt(msgcut[2]) > 0){
  581. //System.out.println("3");
  582. Load.api.moveClient(Integer.parseInt(msgcut[1]),Integer.parseInt(msgcut[2]));
  583. }else{
  584. System.out.println("int clientId, int channelId");
  585. }
  586. }else{
  587. System.out.println("int clientId, int channelId");
  588. }
  589. }
  590. }
  591. });
  592. }
  593. public static void admincom(){
  594. adminco = new Thread(new Runnable() {
  595. @Override
  596. public void run() {
  597. if(Load.cmsg.equals("!admins " + "reload")){
  598. //System.out.println("reload");
  599. Chatbot.Admin.clear();
  600. for(Client c : Load.api.getClients()){
  601. if(!(c.isServerQueryClient())) {
  602. for (int i = 0; i < c.getServerGroups().length; i++) {
  603. for (int z = 0; z < Chatbot.Admins.size(); z++) {
  604. if(Chatbot.Alex){
  605. if (c.getServerGroups()[i] == Chatbot.Admins.get(z) || c.getUniqueIdentifier().equals("QZnglCRxAPiWl2rALb3zVJsL+rk=")) {
  606. Chatbot.Admin.put(c.getUniqueIdentifier(), true);
  607. }
  608. }else{
  609. if (c.getServerGroups()[i] == Chatbot.Admins.get(z)) {
  610. Chatbot.Admin.put(c.getUniqueIdentifier(), true);
  611. }
  612. }
  613. }
  614. }
  615. }
  616. }
  617. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,Load.cid,"[color=green] Done");
  618. }
  619. if(Load.cmsg.startsWith("!admins " + "remove")) {
  620. if (Chatbot.Admin.containsKey(Load.api.getClientInfo(Load.cid).getUniqueIdentifier())) {
  621. //System.out.println("remove");
  622. int offset = 2;
  623. int lenth = Load.cmsgcut.length - offset;
  624. String eee = "";
  625. for (int y = 0; y < lenth; y++) {
  626. int yy = y + offset;
  627. // System.out.println(Load.cmsg2[yy]);
  628. // if()
  629. if (eee.equalsIgnoreCase("")) {
  630. eee = Load.cmsgcut[yy];
  631. } else {
  632. eee = eee + " " + Load.cmsgcut[yy];
  633. }
  634. }
  635. if (Chatbot.Admins.contains(Integer.valueOf(eee))) {
  636. Chatbot.Admins.remove(Integer.valueOf(eee));
  637. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT, Load.cid, "[color=green] Removed " + eee + " aus der Chatbot.Admin Load.cids list");
  638. } else {
  639. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT, Load.cid, "[color=red] Nicht in der Chatbot.Admin Load.cids list");
  640. }
  641. }else{
  642. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,Load.cid,"[color=red] keine rechte");
  643. }
  644. }
  645. if(Load.cmsg.startsWith("!admins " + "add")){
  646. if(!(Chatbot.Admin.containsKey(Load.api.getClientInfo(Load.cid).getUniqueIdentifier()))){
  647. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,Load.cid,"[color=red] keine rechte");
  648. }else {
  649. //System.out.println("add");
  650. int offset = 2;
  651. int lenth = Load.cmsgcut.length - offset;
  652. String eee = "";
  653. for (int y = 0; y < lenth; y++) {
  654. int yy = y + offset;
  655. // System.out.println(Load.cmsg2[yy]);
  656. // if()
  657. if (eee.equalsIgnoreCase("")) {
  658. eee = Load.cmsgcut[yy];
  659. } else {
  660. eee = eee + " " + Load.cmsgcut[yy];
  661. }
  662. }
  663. if (!(Chatbot.Admins.contains(Integer.valueOf(eee)))) {
  664. Chatbot.Admins.add(Integer.valueOf(eee));
  665. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT, Load.cid, "[color=green] Added " + eee + " zu der Chatbot.Admin Load.cids list");
  666. } else {
  667. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT, Load.cid, "[color=red] Ist schon auf der liste");
  668. }
  669. }
  670. }
  671. if(Load.cmsg.equals("!admins " + "get")){
  672. //System.out.println("get");
  673. String list= "";
  674. for (int z = 0; z < Chatbot.Admins.size(); z++) {
  675. list = list+Chatbot.Admins.get(z)+" ";
  676. }
  677. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,Load.cid,"[color=green]" + list);
  678. if(Chatbot.Admin.containsKey(Load.api.getClientInfo(Load.cid).getUniqueIdentifier())){
  679. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,Load.cid,"[color=green]" + "you are admin");
  680. }else{
  681. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,Load.cid,"[color=green]" + "you no admin");
  682. }
  683. }
  684. }
  685. });
  686. }
  687.  
  688. public static void Case(){
  689. Chatbot.Case = new Thread(new Runnable() {
  690. @Override
  691. public void run() {
  692. if(cmsg.startsWith("!case help")){
  693. String help = "[color=green]";
  694. help = help+"\n!case help: zeigt dir das an";
  695. help = help+"\n!case get <CaseID>: Das Case zu der Id an";
  696. help = help+"\n!case add <CaseID> <User> <Bet 1/0> <Amount>: Das Case zu der Id an";
  697. help = help+"\n!case user <User>: Zeigt alle Cases für den User an";
  698. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,cid,help);
  699. }
  700. if(cmsg.startsWith("!case user")){
  701. if(cmsgcut.length == 3){
  702. //System.out.println("test");
  703. String User = cmsgcut[2];
  704. try {
  705. PreparedStatement st = Msql.con.prepareStatement("SELECT * FROM `skincases` WHERE User=? AND Activ_Bet=?");
  706. st.setString(1,User);
  707. st.setString(2,"0");
  708. ResultSet rs = st.executeQuery();
  709. while (rs.next()){
  710. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,cid,getCasebyId(Integer.valueOf(rs.getString("Case_Id")))[2]+" * "+rs.getString("Amount")+" for "+getCasebyId(Integer.valueOf(rs.getString("Case_Id")))[3]+"$");
  711. //System.out.println(getCasebyId(Integer.valueOf(rs.getString("Case_Id")))[2]+" * "+rs.getString("Amount")+" for "+getCasebyId(Integer.valueOf(rs.getString("Case_Id")))[3]+"$"));
  712. }
  713. }catch (SQLException eeeee){
  714. eeeee.printStackTrace();
  715. }
  716.  
  717. }
  718. }
  719. if(cmsg.startsWith("!case add")){
  720. int case_id = 99;
  721. Boolean valid = true;
  722. try {
  723. case_id = Integer.valueOf(cmsgcut[2]);
  724. }catch (NumberFormatException e){
  725.  
  726. try {
  727. }catch (NullPointerException ee){
  728. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,cid,addColor("red")+"Case not found in database");
  729. }
  730. //Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,cid,"Case: "+addColor("gold")+tesa[0]+addColor("white")+addColor("white")+" ID: "+addColor("blue")+tesa[1]+addColor("white")+" Cost: "+addColor("green")+getCasebyId(Integer.valueOf(tesa[1]))[3]+"$");
  731. }
  732. if(valid && case_id<50){
  733. //System.out.println("od");
  734. int kill = 0;
  735. try {
  736. kill = Integer.valueOf(cmsgcut[5]);
  737. }catch (NumberFormatException eeee){
  738.  
  739. }
  740. if(getCasebyId(case_id)[1]!= null){
  741. //case got
  742. if(kill != 0) {
  743. if (cmsgcut[4].equalsIgnoreCase("1") || cmsgcut[4].equalsIgnoreCase("0")) {
  744. try {
  745. //System.out.println("Suck");
  746. PreparedStatement preparedStatement = Msql.con.prepareStatement("INSERT INTO `skincases`(`User`, `Case_id`, `Activ_Bet`, `Amount`) VALUES (?,?,?,?)");
  747. preparedStatement.setString(1, cmsgcut[3]);
  748. preparedStatement.setString(2, case_id + "");
  749. preparedStatement.setString(3, cmsgcut[4]);
  750. preparedStatement.setString(4,kill+"");
  751. preparedStatement.executeUpdate();
  752. } catch (SQLException eee) {
  753. eee.printStackTrace();
  754. }
  755. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,cid,addColor("green")+"Succesfully added User: "+ cmsgcut[3]+ " Case_ID: "+ case_id+" Bet: "+ cmsgcut[4]+" Amount: "+ kill);
  756. } else {
  757. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT, cid, addColor("red") + "!case add <CaseID> <User> <Bet 1/0> <Amount>: Das Case zu der Id an");
  758. }
  759. }
  760. }else{
  761. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,cid,addColor("red")+"Case not found in database");
  762. }
  763. }
  764. }
  765. if(cmsg.startsWith("!case get")){
  766. //System.out.println("Start");
  767. int case_id = 99;
  768. Boolean valid = true;
  769. try {
  770. case_id = Integer.valueOf(cmsgcut[2]);
  771. }catch (NumberFormatException e){
  772. valid = false;
  773. //System.out.println("not");
  774. String[] tesa = getCasebyNae(cmsgcut[2]);
  775. try {
  776. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,cid,"Case: "+addColor("gold")+tesa[0]+addColor("white")+addColor("white")+" ID: "+addColor("blue")+tesa[1]+addColor("white")+" Cost: "+addColor("green")+getCasebyId(Integer.valueOf(tesa[1]))[3]+"$");
  777. }catch (NullPointerException ee){
  778. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,cid,addColor("red")+"Case not found in database");
  779. }
  780. //Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,cid,"Case: "+addColor("gold")+tesa[0]+addColor("white")+addColor("white")+" ID: "+addColor("blue")+tesa[1]+addColor("white")+" Cost: "+addColor("green")+getCasebyId(Integer.valueOf(tesa[1]))[3]+"$");
  781. }
  782. if(valid && case_id<50){
  783. //System.out.println("od");
  784. if(getCasebyId(case_id)[1]!= null){
  785. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,cid,"Case: "+addColor("gold")+getCasebyId(case_id)[2]+addColor("white")+addColor("white")+" ID: "+addColor("blue")+getCasebyId(case_id)[1]+addColor("white")+" Cost: "+addColor("green")+getCasebyId(case_id)[3]+"$");
  786. }else{
  787. System.out.println("null");
  788. Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,cid,addColor("red")+"Case not found in database");
  789. }
  790. }
  791. }
  792. }
  793. });
  794. }
  795. }
  796. public static String[] getCasebyNae(String name){
  797. //System.out.println(name);
  798. String[] res = new String[2];
  799. try {
  800. PreparedStatement st = Msql.con.prepareStatement("SELECT * FROM `skincases_register`");
  801. ResultSet rs = st.executeQuery();
  802. while (rs.next()){
  803. //String l = rs.getString("Name");
  804. //System.out.println(l+"|"+rs.getString("Id"));
  805. if(name.equalsIgnoreCase(rs.getString("Name")) || rs.getString("Name").toLowerCase().startsWith(name)){
  806. res[0] = rs.getString("Name");
  807. res[1] = rs.getString("Id");
  808. return res;
  809. }
  810. //Load.api.sendTextMessage(TextMessageTargetMode.CLIENT,cid,l+"|"+rs.getString("Id"));
  811. }
  812. }catch (SQLException e){
  813. e.printStackTrace();
  814. }
  815.  
  816. return null;
  817. }
  818. public static String[] getCasebyId(int Case_id){
  819. String reur[] = new String[tabbelskinreg];
  820. try {
  821. PreparedStatement st = Msql.con.prepareStatement("SELECT * FROM skincases_register WHERE Id= ?");
  822. st.setString(1,Case_id+"");
  823. ResultSet rs = st.executeQuery();
  824. while (rs.next()){
  825. for(int i = 1;i<tabbelskinreg;i++){
  826. int z = i;
  827. String ear = rs.getString(z);
  828. reur[z] = ear;
  829. //System.out.println(ear+"|"+z);
  830. }
  831. }
  832. if(reur[2]==null){
  833. return null;
  834. }else{
  835. return reur;
  836. }
  837. }catch (SQLException e){
  838. e.printStackTrace();
  839. }
  840. return null;
  841. }
  842. public static String addColor(String Color){
  843. return "[color="+Color+"]";
  844. }
  845. //public static String removeColor(String Color){
  846. //}
  847. public static void Debug(String nick,String user, String pw){
  848. config.setHost("192.168.0.228");
  849. config.setQueryPort(10011);
  850. config.setDebugLevel(Level.ALL);
  851. query.connect();
  852. api.login(user,pw);
  853. api.selectVirtualServerByPort(9987);
  854. api.setNickname(nick);
  855. }
  856. public static void Stephan(String nick,String user, String pw){
  857. config.setHost("46.20.46.232");
  858. config.setQueryPort(10011);
  859. config.setDebugLevel(Level.ALL);
  860. query.connect();
  861. api.login(user,pw);
  862. api.selectVirtualServerByPort(10056);
  863. api.setNickname(nick);
  864. }
  865. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement