From 544e34b41560af2d7675e0625d3d4a2309209ef7 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sun, 3 Nov 2019 18:20:14 +0100 Subject: [PATCH] Rewrite yk --- pom.xml | 2 +- .../java/discord/data/mining/DataMining.java | 41 ++++++ .../java/discord/data/mining/Database.java | 31 ---- .../mining/Listener/GenericEventListener.java | 22 --- .../Listener/MessageReceivedListener.java | 34 ----- .../data/mining/Listener/ReadyListener.java | 42 ------ src/main/java/discord/data/mining/Logger.java | 25 ---- src/main/java/discord/data/mining/Main.java | 50 ------- src/main/java/discord/data/mining/Stats.java | 138 ------------------ .../discord/data/mining/onlinethread.java | 20 --- .../java/discord/data/mining/sendMessage.java | 120 --------------- 11 files changed, 42 insertions(+), 483 deletions(-) create mode 100644 src/main/java/discord/data/mining/DataMining.java delete mode 100644 src/main/java/discord/data/mining/Database.java delete mode 100644 src/main/java/discord/data/mining/Listener/GenericEventListener.java delete mode 100644 src/main/java/discord/data/mining/Listener/MessageReceivedListener.java delete mode 100644 src/main/java/discord/data/mining/Listener/ReadyListener.java delete mode 100644 src/main/java/discord/data/mining/Logger.java delete mode 100644 src/main/java/discord/data/mining/Main.java delete mode 100644 src/main/java/discord/data/mining/Stats.java delete mode 100644 src/main/java/discord/data/mining/onlinethread.java delete mode 100644 src/main/java/discord/data/mining/sendMessage.java diff --git a/pom.xml b/pom.xml index c558a0f..0d6bfc7 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ Discord-Data-Mining Discord-Data-Mining - 1.0-SNAPSHOT + 2.0 diff --git a/src/main/java/discord/data/mining/DataMining.java b/src/main/java/discord/data/mining/DataMining.java new file mode 100644 index 0000000..08956c9 --- /dev/null +++ b/src/main/java/discord/data/mining/DataMining.java @@ -0,0 +1,41 @@ +package discord.data.mining; + +import net.dv8tion.jda.api.AccountType; +import net.dv8tion.jda.api.JDA; +import net.dv8tion.jda.api.JDABuilder; +import net.dv8tion.jda.api.entities.Guild; + +import java.util.ArrayList; + +import static discord.data.mining.SECRETS.*; + +public class DataMining { + + public String MessageLog = "462507170383134720"; + public String ReactionLog = "462524422713245696"; + public String ConsoleLog = "462556910206320640"; + public static ArrayList clients = new ArrayList<>(); + public static ArrayList bots = new ArrayList<>(); + public static ArrayList manager = new ArrayList<>(); + + public static void main(String[] args) { + try { + for (String Token : managerTokens) { + manager.add(new JDABuilder(AccountType.BOT).setAutoReconnect(true).setToken(Token).build()); + } + + Thread.sleep(1500); + + for (String Token : clienttokens) { + clients.add(new JDABuilder(AccountType.CLIENT).setToken(Token).setAutoReconnect(true).build()); + } + + for (String Token : botTokens) { + bots.add(new JDABuilder(AccountType.BOT).setAutoReconnect(true).setToken(Token).build()); + } + + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/src/main/java/discord/data/mining/Database.java b/src/main/java/discord/data/mining/Database.java deleted file mode 100644 index bde3823..0000000 --- a/src/main/java/discord/data/mining/Database.java +++ /dev/null @@ -1,31 +0,0 @@ -package discord.data.mining; - -import com.rethinkdb.net.Connection; - -import static com.rethinkdb.RethinkDB.r; - -/** - * @author Hax - * @github github.com/Schlauer-Hax - * @time 19:40 07.08.2018 - * @project Discord-Data-Mining - * @package discord.data.mining - * @class Database - **/ - -public class Database { - - static Connection conn; - - public static void connect() { - conn = r.connection() - .hostname("localhost") - .db("DM") - .port(28015) - .connect(); - } - - public static Connection getConn() { - return conn; - } -} diff --git a/src/main/java/discord/data/mining/Listener/GenericEventListener.java b/src/main/java/discord/data/mining/Listener/GenericEventListener.java deleted file mode 100644 index 8808faa..0000000 --- a/src/main/java/discord/data/mining/Listener/GenericEventListener.java +++ /dev/null @@ -1,22 +0,0 @@ -package discord.data.mining.Listener; - -import discord.data.mining.Main; -import discord.data.mining.sendMessage; -import net.dv8tion.jda.api.events.Event; -import net.dv8tion.jda.api.hooks.ListenerAdapter; - -/** - * @author GregTCLTK - * @time 21:22 29.06.2018 - * @project Discord-Data-Mining - * @package discord.data.mining.Listener - * @class onReactionAdd - **/ - -public class GenericEventListener extends ListenerAdapter { - - public void onGenericEvent(Event event) { - Main.Actionperh++; - sendMessage.sendMessage(event); - } -} diff --git a/src/main/java/discord/data/mining/Listener/MessageReceivedListener.java b/src/main/java/discord/data/mining/Listener/MessageReceivedListener.java deleted file mode 100644 index 6d73fa4..0000000 --- a/src/main/java/discord/data/mining/Listener/MessageReceivedListener.java +++ /dev/null @@ -1,34 +0,0 @@ -package discord.data.mining.Listener; - -import discord.data.mining.Main; -import net.dv8tion.jda.api.JDA; -import net.dv8tion.jda.api.events.message.MessageReceivedEvent; -import net.dv8tion.jda.api.hooks.ListenerAdapter; - -/** - * @author GregTCLTK - * @time 09:42 01.07.2018 - * @project Discord-Data-Mining - * @package discord.data.mining.Listener - * @class MessageReceivedListener - **/ - -public class MessageReceivedListener extends ListenerAdapter { - - @Override - public void onMessageReceived(MessageReceivedEvent event) { - if (event.getAuthor().getId().contains("401817301919465482") || event.getAuthor().getId().contains("261083609148948488")) { - if (event.getMessage().getContentRaw().equals("dm!shutdown") || (event.getMessage().getContentRaw().equals("dm!stop"))) { - - for (JDA Bots : Main.bots) { - Bots.shutdown(); - } - for (JDA Clients : Main.clients) { - Clients.shutdown(); - } - } else if (event.getMessage().getContentRaw().equals("dm!start")) { - - } - } - } -} diff --git a/src/main/java/discord/data/mining/Listener/ReadyListener.java b/src/main/java/discord/data/mining/Listener/ReadyListener.java deleted file mode 100644 index 694dea9..0000000 --- a/src/main/java/discord/data/mining/Listener/ReadyListener.java +++ /dev/null @@ -1,42 +0,0 @@ -package discord.data.mining.Listener; - -import discord.data.mining.Logger; -import discord.data.mining.Main; -import net.dv8tion.jda.api.JDA; -import net.dv8tion.jda.api.entities.Guild; -import net.dv8tion.jda.api.events.ReadyEvent; -import net.dv8tion.jda.api.hooks.ListenerAdapter; - -/** - * @author Hax - * @time 12:04 30.06.2018 - * @project Discord-Data-Mining - * @package discord.data.mining.Listener - * @class ReadyListener - **/ - -public class ReadyListener extends ListenerAdapter { - - @Override - public void onReady(ReadyEvent event) { - Logger.info("Client " + event.getJDA().getSelfUser().getName() + "#" +event.getJDA().getSelfUser().getDiscriminator() + "\nGuilds: " + event.getJDA().getGuilds().size() + "\nUser: " + event.getJDA().getUsers().size()); - Main.onlineclients.add(event.getJDA().getSelfUser().getName()); - Logger.info("Arraylist size " + Main.onlineclients.size() + " " + Main.clients.size()); - for (Guild guild : event.getJDA().getGuilds()) { - if (!Main.guilds.contains(guild)) { - Main.guilds.add(guild); - } else { - if (!guild.getId().contains("448554629282922527")) { - Logger.info("Leave" + guild.getName()); - guild.leave().queue(); - } - } - } - if (Main.onlineclients.size() == Main.clients.size()) { - Logger.info("All clients loaded"); - for (JDA jda : Main.clients) { - jda.addEventListener(new GenericEventListener()); - } - } - } -} \ No newline at end of file diff --git a/src/main/java/discord/data/mining/Logger.java b/src/main/java/discord/data/mining/Logger.java deleted file mode 100644 index 13a5a75..0000000 --- a/src/main/java/discord/data/mining/Logger.java +++ /dev/null @@ -1,25 +0,0 @@ -package discord.data.mining; - -import net.dv8tion.jda.api.EmbedBuilder; - -import java.text.SimpleDateFormat; -import java.time.Instant; -import java.util.Calendar; - -/** - * @author GregTCLTK - * @time 21:26 30.06.2018 - * @project Discord-Data-Mining - * @package discord.data.mining - * @class Logger - **/ - -public class Logger { - public static void info(String info) { - Calendar cal = Calendar.getInstance(); - SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); - String time = sdf.format(cal.getTime()); - Main.manager.get(0).getTextChannelById(Main.ConsoleLog).sendMessage(new EmbedBuilder().setColor(65280).setTimestamp(Instant.now()).setDescription(info).build()).queue(); - System.out.println("[" + time + "] " + info); - } -} diff --git a/src/main/java/discord/data/mining/Main.java b/src/main/java/discord/data/mining/Main.java deleted file mode 100644 index 5d32218..0000000 --- a/src/main/java/discord/data/mining/Main.java +++ /dev/null @@ -1,50 +0,0 @@ -package discord.data.mining; - -import discord.data.mining.Listener.MessageReceivedListener; -import discord.data.mining.Listener.ReadyListener; -import net.dv8tion.jda.api.AccountType; -import net.dv8tion.jda.api.JDA; -import net.dv8tion.jda.api.JDABuilder; -import net.dv8tion.jda.api.entities.Guild; - -import java.util.*; - -import static discord.data.mining.SECRETS.botTokens; -import static discord.data.mining.SECRETS.clienttokens; -import static discord.data.mining.SECRETS.managerTokens; - -public class Main { - - public static long MessageLog = 462507170383134720L; - public static long ReactionLog = 462524422713245696L; - public static long ConsoleLog = 462556910206320640L; - public static ArrayList clients = new ArrayList<>(); - public static ArrayList bots = new ArrayList<>(); - public static ArrayList manager = new ArrayList<>(); - public static int currentBot =0; - public static ArrayList onlineclients = new ArrayList<>(); - public static long Actionperh = 0; - public static ArrayList guilds = new ArrayList<>(); - - public static void main(String[] args) { - try { - Database.connect(); - for (String Token : managerTokens) { - manager.add(new JDABuilder(AccountType.BOT).setAutoReconnect(true).setToken(Token).addEventListeners(new MessageReceivedListener()).build()); - } - - Thread.sleep(1500); - - onlinethread.main(); - for (String Token : clienttokens) { - clients.add(new JDABuilder(AccountType.CLIENT).setToken(Token).addEventListeners(new ReadyListener()).setAutoReconnect(true).build()); - } - for (String Token : botTokens) { - bots.add(new JDABuilder(AccountType.BOT).setAutoReconnect(true).setToken(Token).build()); - } - Stats.start(); - } catch (Exception e) { - e.printStackTrace(); - } - } -} \ No newline at end of file diff --git a/src/main/java/discord/data/mining/Stats.java b/src/main/java/discord/data/mining/Stats.java deleted file mode 100644 index 7bf4877..0000000 --- a/src/main/java/discord/data/mining/Stats.java +++ /dev/null @@ -1,138 +0,0 @@ -package discord.data.mining; - -import javax.imageio.ImageIO; -import java.awt.*; -import java.awt.font.FontRenderContext; -import java.awt.font.LineMetrics; -import java.awt.geom.Ellipse2D; -import java.awt.geom.Line2D; -import java.awt.image.BufferedImage; -import java.io.*; -import java.util.*; - -/** - * @author Hax - * @time 12:52 30.06.2018 - * @project Discord-Data-Mining - * @package discord.data.mining - * @class Stats - **/ - -public class Stats { - - public static void start() { - - Thread diagramm = new Thread(() -> { - TimerTask timerTask = new TimerTask() { - @Override - public void run() { - Date date = new Date(); - Calendar calendar = GregorianCalendar.getInstance(); - calendar.setTime(date); - if (calendar.get(Calendar.MINUTE)==0) { - try { - FileReader fr = new FileReader("stats.txt"); - BufferedReader br = new BufferedReader(fr); - - String zeile = ""; - StringBuilder stringBuilder = new StringBuilder(); - while ((zeile = br.readLine()) != null) { - stringBuilder.append(zeile); - } - br.close(); - - String[] stats = stringBuilder.toString().split(" "); - String statsstring = stringBuilder.toString(); - statsstring = statsstring.replaceFirst(stats[0]+" ", ""); - statsstring = statsstring+" "+Main.Actionperh; - FileWriter fw = new FileWriter("stats.txt"); - BufferedWriter bw = new BufferedWriter(fw); - bw.write(statsstring); - bw.close(); - Main.Actionperh =0; - - } catch (Exception e) { - e.printStackTrace(); - } - } - if (calendar.get(Calendar.HOUR_OF_DAY)==0&&calendar.get(Calendar.MINUTE)==0) { - try { - FileReader fr = new FileReader("stats.txt"); - BufferedReader br = new BufferedReader(fr); - - String zeile = ""; - StringBuilder stringBuilder = new StringBuilder(); - while ((zeile = br.readLine()) != null) { - stringBuilder.append(zeile); - } - br.close(); - String[] datas = stringBuilder.toString().split(" "); - ArrayList data = new ArrayList<>(); - for (String dataa:datas) { - data.add(Integer.parseInt(dataa)); - } - int max = -Integer.MAX_VALUE; - for (Integer aData : data) { - if (aData > max) - max = aData; - } - BufferedImage bufferedImage = ImageIO.read(new File("Diagramm.jpg")); - Graphics2D g2 = bufferedImage.createGraphics(); - g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, - RenderingHints.VALUE_ANTIALIAS_ON); - int w = bufferedImage.getWidth(); - int h = bufferedImage.getHeight(); - g2.draw(new Line2D.Double(24, 24, 24, h - 24)); - g2.draw(new Line2D.Double(24, h - 24, w - 24, h - 24)); - Font font = g2.getFont(); - FontRenderContext frc = g2.getFontRenderContext(); - LineMetrics lm = font.getLineMetrics("0", frc); - float sh = lm.getAscent() + lm.getDescent(); - String s = "data"; - float sy = 24 + ((h - 2 * 24) - s.length() * sh) / 2 + lm.getAscent(); - for (int i = 0; i < s.length(); i++) { - String letter = String.valueOf(s.charAt(i)); - float sw = (float) font.getStringBounds(letter, frc).getWidth(); - float sx = (24 - sw) / 2; - g2.drawString(letter, sx, sy); - sy += sh; - } - s = "x axis"; - sy = h - 24 + (24 - sh) / 2 + lm.getAscent(); - float sw = (float) font.getStringBounds(s, frc).getWidth(); - float sx = (w - sw) / 2; - g2.drawString(s, sx, sy); - // Draw lines. - double xInc = (double) (w - 2 * 24) / (data.size() - 1); - double scale = (double) (h - 2 * 24) / max; - g2.setPaint(Color.green.darker()); - for (int i = 0; i < data.size() - 1; i++) { - double x1 = 24 + i * xInc; - double y1 = h - 24 - scale * data.get(i); - double x2 = 24 + (i + 1) * xInc; - double y2 = h - 24 - scale * data.get(i + 1); - g2.draw(new Line2D.Double(x1, y1, x2, y2)); - } - // Mark data points. - g2.setPaint(Color.red); - for (int i = 0; i < data.size(); i++) { - double x = 24 + i * xInc; - double y = h - 24 - scale * data.get(i); - g2.fill(new Ellipse2D.Double(x - 2, y - 2, 4, 4)); - } - ByteArrayOutputStream os = new ByteArrayOutputStream(); - ImageIO.write(bufferedImage, "jpg", os); - Main.manager.get(0).getTextChannelById("462534066869370882").sendFile(new ByteArrayInputStream(os.toByteArray()), "test.jpg").queue(); - } catch (Exception e) { - e.printStackTrace(); - } - } - } - }; - new Timer().schedule(timerTask, 30000, 60000); - }); - diagramm.start(); - - } - -} diff --git a/src/main/java/discord/data/mining/onlinethread.java b/src/main/java/discord/data/mining/onlinethread.java deleted file mode 100644 index cf13e43..0000000 --- a/src/main/java/discord/data/mining/onlinethread.java +++ /dev/null @@ -1,20 +0,0 @@ -package discord.data.mining; - -/** - * @author Hax - * @time 12:01 30.06.2018 - * @project Discord-Data-Mining - * @package discord.data.mining - * @class onlinethread - **/ - -public class onlinethread { - public static void main() { - new Thread(() -> { - while (true) { - - } - }); - } - -} diff --git a/src/main/java/discord/data/mining/sendMessage.java b/src/main/java/discord/data/mining/sendMessage.java deleted file mode 100644 index 6142608..0000000 --- a/src/main/java/discord/data/mining/sendMessage.java +++ /dev/null @@ -1,120 +0,0 @@ -package discord.data.mining; - -/** - * @author Skidder - * @time 09:11 30.06.2018 - * @project Discord-Data-Mining - * @package discord.data.mining - * @class sendMessage - **/ - -import net.dv8tion.jda.api.EmbedBuilder; -import net.dv8tion.jda.api.JDA; -import net.dv8tion.jda.api.entities.Message; -import net.dv8tion.jda.api.events.Event; -import net.dv8tion.jda.api.events.message.MessageReceivedEvent; -import net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent; -import net.dv8tion.jda.api.events.message.react.MessageReactionRemoveEvent; - -import java.text.SimpleDateFormat; -import java.time.Instant; -import java.util.Calendar; - -import static com.rethinkdb.RethinkDB.r; - -public class sendMessage { - public static void sendMessage(Event inputevent) { - try { - JDA BOT = Main.bots.get(Main.currentBot); - Main.currentBot++; - if (Main.currentBot == Main.bots.size()) Main.currentBot = 0; - if (inputevent instanceof MessageReceivedEvent) { - MessageReceivedEvent event = (MessageReceivedEvent) inputevent; - if (!event.getGuild().getId().equals("448554629282922527")) { - Calendar cal = Calendar.getInstance(); - SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); - String time = sdf.format(cal.getTime()); - r.table("messages").insert( - r.hashMap("MessageID", event.getMessage().getIdLong()) - .with("AuthorID", event.getAuthor().getIdLong()) - .with("GuildID", event.getGuild().getIdLong()) - .with("Content", event.getMessage().getContentRaw()) - .with("Time", time) - ).run(Database.getConn()); - BOT.getTextChannelById(Main.MessageLog) - .sendMessage( - new EmbedBuilder() - .setAuthor(event.getAuthor().getName(), "https://discordapp.com/channels/@me/" + event.getAuthor().getId() + "/", event.getAuthor().getAvatarUrl()).setColor(65280) - .setTitle("New Message", "https://canary.discordapp.com/channels/" + event.getGuild().getId() + "/") - .setDescription("**Message Content:**\n" + event.getMessage().getContentRaw()) - .setThumbnail(event.getGuild().getIconUrl()) - .addField("Guild Name", event.getGuild().getName(), true) - .addField("Guild ID", event.getGuild().getId(), true) - .addField("Guild Owner", event.getGuild().getOwner().getUser().getName() + "#" + event.getGuild().getOwner().getUser().getDiscriminator(), true) - .addField("Channel Name", "#" + event.getChannel().getName(), true) - .setFooter(event.getJDA().getSelfUser().getName(), event.getJDA().getSelfUser().getAvatarUrl()) - .setTimestamp(Instant.now()) - .build() - ).queue(); - } - } else if (inputevent instanceof MessageReactionAddEvent) { - MessageReactionAddEvent event = (MessageReactionAddEvent) inputevent; - if (!event.getGuild().getId().equals("448554629282922527")) { - Calendar cal = Calendar.getInstance(); - SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); - String time = sdf.format(cal.getTime()); - event.getTextChannel().getMessageById(event.getMessageId()).queue( - msg -> { - StringBuilder reactions = new StringBuilder(); - msg.getReactions().forEach(messageReaction -> reactions.append(messageReaction.getReactionEmote().getName()+" ("+messageReaction.getCount()+")")); - r.table("reactionadd").insert( - r.hashMap("MessageID", msg.getIdLong()) - .with("AuthorID", msg.getIdLong()) - .with("GuildID", event.getGuild().getIdLong()) - .with("Content", msg.getContentRaw()) - .with("Time", time) - .with("NewReaction", event.getReaction().getReactionEmote().getName()) - .with("Reactions", reactions.toString()) - ).run(Database.getConn()); - } - ); - BOT.getTextChannelById(Main.ReactionLog) - .sendMessage( - new EmbedBuilder() - .setAuthor(event.getMember().getUser().getName(), "https://discordapp.com/channels/@me/" + event.getMember().getUser().getId() + "/", event.getMember().getUser().getAvatarUrl()).setColor(65280) - .setTitle("Reaction Add", "https://canary.discordapp.com/channels/" + event.getGuild().getId() + "/") - .setThumbnail(event.getGuild().getIconUrl()) - .setDescription("**Emoji:**\n" + event.getReactionEmote().getEmote().getAsMention()) - .addField("Guild Name", event.getGuild().getName(), true) - .addField("Guild ID", event.getGuild().getId(), true) - .addField("Guild Owner", event.getGuild().getOwner().getUser().getName() + "#" + event.getGuild().getOwner().getUser().getDiscriminator(), true) - .addField("Channel Name", "#" + event.getChannel().getName(), true) - .setFooter(event.getJDA().getSelfUser().getName(), event.getJDA().getSelfUser().getAvatarUrl()) - .setTimestamp(Instant.now()) - .build() - ).queue(); - } - } else if (inputevent instanceof MessageReactionRemoveEvent) { - MessageReactionRemoveEvent event = (MessageReactionRemoveEvent) inputevent; - if (!event.getGuild().getId().equals("448554629282922527")) { - BOT.getTextChannelById(Main.ReactionLog) - .sendMessage( - new EmbedBuilder() - .setAuthor(event.getMember().getUser().getName(), "https://discordapp.com/channels/@me/" + event.getMember().getUser().getId() + "/", event.getMember().getUser().getAvatarUrl()).setColor(16711680) - .setTitle("Reaction Remove", "https://canary.discordapp.com/channels/" + event.getGuild().getId() + "/") - .setThumbnail(event.getGuild().getIconUrl()) - .setDescription("**Emoji:**\n" + event.getReactionEmote().getEmote().getAsMention()) - .addField("Guild Name", event.getGuild().getName(), true) - .addField("Guild ID", event.getGuild().getId(), true) - .addField("Guild Owner", event.getGuild().getOwner().getUser().getName() + "#" + event.getGuild().getOwner().getUser().getDiscriminator(), true) - .addField("Channel Name", "#" + event.getChannel().getName(), true) - .setFooter(event.getJDA().getSelfUser().getName(), event.getJDA().getSelfUser().getAvatarUrl()) - .setTimestamp(Instant.now()) - .build() - ).queue(); - } - } - } catch (Exception ignore) { - } - } -} \ No newline at end of file