From c96792f7c9dd517e6fcad6f62e05218d79bc185f Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sun, 3 Nov 2019 01:30:49 +0100 Subject: [PATCH 1/2] Public ShardManager --- src/main/java/com/bbn/hadder/Hadder.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java index 1da65ee..6ec4194 100644 --- a/src/main/java/com/bbn/hadder/Hadder.java +++ b/src/main/java/com/bbn/hadder/Hadder.java @@ -24,6 +24,8 @@ import java.util.List; public class Hadder { + public static ShardManager shardManager; + public static void main(String[] args) { startBot(); } @@ -61,7 +63,7 @@ public class Hadder { new ReadyListener()); try { - ShardManager shardManager = builder.build(); + shardManager = builder.build(); } catch (LoginException e) { e.printStackTrace(); } From ace8587f96ba1ab6405051277d6d31c4915cef54 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sun, 3 Nov 2019 01:31:32 +0100 Subject: [PATCH 2/2] First Bot List Integration --- .../bbn/hadder/listener/GuildListener.java | 5 ++ .../bbn/hadder/listener/ReadyListener.java | 3 + .../java/com/bbn/hadder/utils/BotList.java | 55 +++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 src/main/java/com/bbn/hadder/utils/BotList.java diff --git a/src/main/java/com/bbn/hadder/listener/GuildListener.java b/src/main/java/com/bbn/hadder/listener/GuildListener.java index 2ac0825..f37bd2c 100644 --- a/src/main/java/com/bbn/hadder/listener/GuildListener.java +++ b/src/main/java/com/bbn/hadder/listener/GuildListener.java @@ -5,6 +5,7 @@ package com.bbn.hadder.listener; */ import com.bbn.hadder.Rethink; +import com.bbn.hadder.utils.BotList; import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.entities.User; @@ -34,6 +35,8 @@ public class GuildListener extends ListenerAdapter { .setFooter(event.getJDA().getSelfUser().getName(), event.getJDA().getSelfUser().getAvatarUrl()) .setTimestamp(Instant.now()) .build()).queue(); + + BotList.post(); } public void onGuildLeave(GuildLeaveEvent event) { @@ -46,6 +49,8 @@ public class GuildListener extends ListenerAdapter { .setFooter(event.getJDA().getSelfUser().getName(), event.getJDA().getSelfUser().getAvatarUrl()) .setTimestamp(Instant.now()) .build()).queue(); + + BotList.post(); } public void onGuildMemberJoin(GuildMemberJoinEvent event) { diff --git a/src/main/java/com/bbn/hadder/listener/ReadyListener.java b/src/main/java/com/bbn/hadder/listener/ReadyListener.java index 4d24a2b..a007c31 100644 --- a/src/main/java/com/bbn/hadder/listener/ReadyListener.java +++ b/src/main/java/com/bbn/hadder/listener/ReadyListener.java @@ -1,6 +1,7 @@ package com.bbn.hadder.listener; import com.bbn.hadder.Rethink; +import com.bbn.hadder.utils.BotList; import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.events.ReadyEvent; @@ -21,5 +22,7 @@ public class ReadyListener extends ListenerAdapter { for (Guild g : event.getJDA().getGuilds()) { Rethink.insertServer(g.getId()); } + + BotList.post(); } } diff --git a/src/main/java/com/bbn/hadder/utils/BotList.java b/src/main/java/com/bbn/hadder/utils/BotList.java new file mode 100644 index 0000000..b4ac8ed --- /dev/null +++ b/src/main/java/com/bbn/hadder/utils/BotList.java @@ -0,0 +1,55 @@ +package com.bbn.hadder.utils; + +/* + * @author Skidder / GregTCLTK + */ + +import com.bbn.hadder.Hadder; +import okhttp3.MediaType; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import org.json.JSONObject; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; + +public class BotList { + + private static String MythicalBotList = "https://mythicalbots.xyz/api"; + + private static JSONObject json = new JSONObject(); + + public static void post() { + json.put("server_count", Hadder.shardManager.getGuilds().size()); + + RequestBody body = RequestBody.create(MediaType.parse("application/json"), json.toString()); + + File configfile = new File("./config.json"); + + JSONObject config = null; + try { + config = new JSONObject(new String(Files.readAllBytes(Paths.get(configfile.toURI())))); + } catch (IOException e) { + e.printStackTrace(); + } + + // Mythical Bot List + Request mythicalbotlist = new Request.Builder() + .url(MythicalBotList) + .post(body) + .addHeader("Authorization", config.getString("MythicalBotList")) + .build(); + + try { + new OkHttpClient().newCall(mythicalbotlist).execute().close(); + System.out.println("Successfully posted count for the Mythical Bot List!"); + } catch (IOException e) { + e.printStackTrace(); + } + + } + +}