Advertisement
AqUpd

Untitled

Nov 7th, 2021
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.03 KB | None | 0 0
  1. package com.aqupd.fabricdswl;
  2.  
  3. import com.aqupd.fabricdswl.utils.AqConfig;
  4. import net.dv8tion.jda.api.JDA;
  5. import net.dv8tion.jda.api.JDABuilder;
  6. import net.dv8tion.jda.api.entities.Message;
  7. import net.dv8tion.jda.api.entities.MessageChannel;
  8. import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
  9. import net.dv8tion.jda.api.hooks.ListenerAdapter;
  10. import net.fabricmc.api.DedicatedServerModInitializer;
  11. import org.apache.commons.io.IOUtils;
  12. import org.json.JSONArray;
  13. import org.json.JSONObject;
  14.  
  15. import javax.security.auth.login.LoginException;
  16.  
  17. import java.io.*;
  18. import java.net.URL;
  19. import java.nio.charset.StandardCharsets;
  20. import java.util.Objects;
  21.  
  22. import static com.aqupd.fabricdswl.utils.AqLogger.*;
  23.  
  24. public class Main implements DedicatedServerModInitializer {
  25.     String token = AqConfig.INSTANCE.getStringProperty("bot.token");
  26.  
  27.  
  28.     @Override
  29.     public void onInitializeServer() {
  30.         try {
  31.             JDA api = JDABuilder.createDefault(token).build();
  32.             api.awaitReady();
  33.             api.addEventListener(new MyListener());
  34.         } catch (InterruptedException | LoginException e) {
  35.             e.printStackTrace();
  36.         }
  37.         logInfo("mod initialized");
  38.     }
  39.  
  40.     public static class MyListener extends ListenerAdapter {
  41.         @Override
  42.         public void onMessageReceived(MessageReceivedEvent event) {
  43.             String chid = AqConfig.INSTANCE.getStringProperty("channel.id");
  44.  
  45.             if (event.getAuthor().isBot()) return;
  46.             // We don't want to respond to other bot accounts, including ourself
  47.             Message message = event.getMessage();
  48.             String content = message.getContentRaw();
  49.             MessageChannel channel = event.getChannel();
  50.  
  51.             if(channel.getId().equals(chid)) {
  52.                 try {
  53.                     File file = new File("whitelist.json");
  54.                     if(file.exists()) {
  55.                         InputStream is = new FileInputStream("whitelist.json");
  56.                         String jsonTxt = IOUtils.toString(is, StandardCharsets.UTF_8);
  57.                         JSONArray array = new JSONArray(jsonTxt);
  58.                         String url = "https://api.mojang.com/users/profiles/minecraft/"+content;
  59.  
  60.                         String UUIDJson = IOUtils.toString(new URL(url));
  61.                         if(UUIDJson.isEmpty()) channel.sendMessage("Nope(already or not exist)").queue();
  62.                         JSONObject uuid = new JSONObject(UUIDJson);
  63.                         uuid.put("uuid", insertDashUUID(uuid.getString("id")));
  64.                         uuid.remove("id");
  65.                         logInfo(uuid.toString());
  66.  
  67.                         boolean whitelisted = false;
  68.                         for(int i=0; i < array.length(); i++){
  69.                             if(Objects.equals(array.getJSONObject(i).toString(), uuid.toString())){
  70.                                 logInfo("already whitelisted");
  71.                                 whitelisted = true;
  72.                             }
  73.                         }
  74.                         if(!whitelisted){
  75.                             array.put(uuid);
  76.                             logInfo(array.toString());
  77.                         }
  78.                         var writer = new FileWriter(file);
  79.                         writer.write(array.toString());
  80.                         writer.flush();
  81.                         writer.close();
  82.                         channel.sendMessage("Whitelisted!").queue();
  83.                     }
  84.                 } catch (IOException e) {
  85.                     e.printStackTrace();
  86.                 }
  87.             }
  88.         }
  89.     }
  90.  
  91.     public static String insertDashUUID(String uuid) {
  92.         StringBuilder sb = new StringBuilder(uuid);
  93.         sb.insert(8, "-");
  94.         sb = new StringBuilder(sb.toString());
  95.         sb.insert(13, "-");
  96.         sb = new StringBuilder(sb.toString());
  97.         sb.insert(18, "-");
  98.         sb = new StringBuilder(sb.toString());
  99.         sb.insert(23, "-");
  100.         return sb.toString();
  101.     }
  102. }
  103.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement