From f0959c1abea556ff0423478bc1e8ecc74a0a8d5e Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Tue, 4 Oct 2016 21:40:09 +0200 Subject: [PATCH] Started #2 --- pom.xml | 6 ++- .../discordplugin/DiscordPlugin.java | 52 +++++++++++++++++-- 2 files changed, 54 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 4a78636..765a304 100644 --- a/pom.xml +++ b/pom.xml @@ -134,6 +134,10 @@ slf4j-jdk14 1.7.21 - + + com.github.TBMCPlugins.ButtonCore + ButtonCore + master-SNAPSHOT + diff --git a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java b/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java index 91b9815..1765809 100644 --- a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java +++ b/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java @@ -5,18 +5,23 @@ import org.bukkit.Bukkit; import org.bukkit.plugin.java.JavaPlugin; import com.google.common.base.Charsets; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; + +import buttondevteam.bucket.core.TBMCCoreAPI; import sx.blah.discord.api.*; import sx.blah.discord.api.events.IListener; import sx.blah.discord.handle.impl.events.ReadyEvent; -import sx.blah.discord.util.DiscordException; -import sx.blah.discord.util.MissingPermissionsException; -import sx.blah.discord.util.RateLimitException; /** * Hello world! * */ public class DiscordPlugin extends JavaPlugin implements IListener { + private static final String SubredditURL = "https://www.reddit.com/r/ChromaGamers"; + private static boolean stop = false; + @Override public void onEnable() { try { @@ -25,6 +30,13 @@ public class DiscordPlugin extends JavaPlugin implements IListener { cb.withToken(IOUtils.toString(getClass().getResourceAsStream("/Token.txt"), Charsets.UTF_8)); IDiscordClient dc = cb.login(); dc.getDispatcher().registerListener(this); + Runnable r = new Runnable() { + public void run() { + FlairGetterThreadMethod(); + } + }; + Thread t = new Thread(r); + t.start(); } catch (Exception e) { e.printStackTrace(); Bukkit.getPluginManager().disablePlugin(this); @@ -39,4 +51,38 @@ public class DiscordPlugin extends JavaPlugin implements IListener { e.printStackTrace(); } } + + @Override + public void onDisable() { + stop = true; + } + + private void FlairGetterThreadMethod() { + while (!stop) { + try { + String body = TBMCCoreAPI.DownloadString(SubredditURL + ".json?limit=10"); // TODO: Save last announcement + JsonArray json = new JsonParser().parse(body).getAsJsonArray().get(1).getAsJsonObject().get("data") + .getAsJsonObject().get("children").getAsJsonArray(); + for (Object obj : json) { + JsonObject item = (JsonObject) obj; + String author = item.get("data").getAsJsonObject().get("author").getAsString(); + String post = item.get("data").getAsJsonObject().get("body").getAsString(); + System.out.println("author: " + author); + System.out.println("post: " + post); + try { + Thread.sleep(10); + } catch (InterruptedException ex) { + Thread.currentThread().interrupt(); + } + } + try { + Thread.sleep(10000); + } catch (InterruptedException ex) { + Thread.currentThread().interrupt(); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } }