Merge branch 'merge' of https://github.com/BigBotNetwork/Discord-Data-Mining into merge
This commit is contained in:
commit
5dead2de81
11 changed files with 17 additions and 249 deletions
|
|
@ -1,2 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<module type="JAVA_MODULE" version="4" />
|
|
||||||
|
|
@ -10,8 +10,14 @@
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
<orderEntry type="library" name="Maven: net.dv8tion:JDA:3.7.1_386" level="project" />
|
<orderEntry type="library" name="Maven: net.dv8tion:JDA:3.7.1_386" level="project" />
|
||||||
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
|
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
|
||||||
|
<orderEntry type="library" name="Maven: com.rethinkdb:rethinkdb-driver:2.3.3" level="project" />
|
||||||
|
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.12" level="project" />
|
||||||
|
<orderEntry type="library" name="Maven: com.googlecode.json-simple:json-simple:1.1.1" level="project" />
|
||||||
|
<orderEntry type="library" name="Maven: junit:junit:4.10" level="project" />
|
||||||
|
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:1.1" level="project" />
|
||||||
|
<orderEntry type="library" name="Maven: net.dv8tion:JDA:3.7.1_391" level="project" />
|
||||||
|
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" />
|
||||||
<orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.1" level="project" />
|
<orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.1" level="project" />
|
||||||
<orderEntry type="library" name="Maven: org.json:json:20160810" level="project" />
|
<orderEntry type="library" name="Maven: org.json:json:20160810" level="project" />
|
||||||
<orderEntry type="library" name="Maven: net.sf.trove4j:trove4j:3.0.3" level="project" />
|
<orderEntry type="library" name="Maven: net.sf.trove4j:trove4j:3.0.3" level="project" />
|
||||||
|
|
|
||||||
4
pom.xml
4
pom.xml
|
|
@ -4,8 +4,8 @@
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<groupId>Cryptix-Data-Mining</groupId>
|
<groupId>Discord-Data-Mining</groupId>
|
||||||
<artifactId>Cryptix-Data-Mining</artifactId>
|
<artifactId>Discord-Data-Mining</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.0-SNAPSHOT</version>
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import static com.rethinkdb.RethinkDB.r;
|
||||||
* @author Hax
|
* @author Hax
|
||||||
* @github github.com/Schlauer-Hax
|
* @github github.com/Schlauer-Hax
|
||||||
* @time 19:40 07.08.2018
|
* @time 19:40 07.08.2018
|
||||||
* @project Cryptix-Data-Mining
|
* @project Discord-Data-Mining
|
||||||
* @package discord.data.mining
|
* @package discord.data.mining
|
||||||
* @class Database
|
* @class Database
|
||||||
**/
|
**/
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ public class MessageReceivedListener extends ListenerAdapter {
|
||||||
@Override
|
@Override
|
||||||
public void onMessageReceived(MessageReceivedEvent event) {
|
public void onMessageReceived(MessageReceivedEvent event) {
|
||||||
if (event.getAuthor().getId().contains("401817301919465482") || event.getAuthor().getId().contains("261083609148948488")) {
|
if (event.getAuthor().getId().contains("401817301919465482") || event.getAuthor().getId().contains("261083609148948488")) {
|
||||||
if (event.getMessage().getContentRaw().equals("dm!shutdown")) {
|
if (event.getMessage().getContentRaw().equals("dm!shutdown") || (event.getMessage().getContentRaw().equals("dm!stop"))) {
|
||||||
|
|
||||||
for (JDA Bots : Main.bots) {
|
for (JDA Bots : Main.bots) {
|
||||||
Bots.shutdown();
|
Bots.shutdown();
|
||||||
|
|
@ -26,6 +26,8 @@ public class MessageReceivedListener extends ListenerAdapter {
|
||||||
for (JDA Clients : Main.clients) {
|
for (JDA Clients : Main.clients) {
|
||||||
Clients.shutdown();
|
Clients.shutdown();
|
||||||
}
|
}
|
||||||
|
} else if (event.getMessage().getContentRaw().equals("dm!start")) {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import java.time.Instant;
|
||||||
/**
|
/**
|
||||||
* @author GregTCLTK
|
* @author GregTCLTK
|
||||||
* @time 21:26 30.06.2018
|
* @time 21:26 30.06.2018
|
||||||
* @project Cryptix-Data-Mining
|
* @project Discord-Data-Mining
|
||||||
* @package discord.data.mining
|
* @package discord.data.mining
|
||||||
* @class Logger
|
* @class Logger
|
||||||
**/
|
**/
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ public class Main {
|
||||||
for (String Token : botTokens) {
|
for (String Token : botTokens) {
|
||||||
bots.add(new JDABuilder(AccountType.BOT).setAutoReconnect(true).setToken(Token).buildAsync());
|
bots.add(new JDABuilder(AccountType.BOT).setAutoReconnect(true).setToken(Token).buildAsync());
|
||||||
}
|
}
|
||||||
test2.main();
|
Stats.start();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package discord.data.mining;
|
||||||
/**
|
/**
|
||||||
* @author Hax
|
* @author Hax
|
||||||
* @time 12:01 30.06.2018
|
* @time 12:01 30.06.2018
|
||||||
* @project Cryptix-Data-Mining
|
* @project Discord-Data-Mining
|
||||||
* @package discord.data.mining
|
* @package discord.data.mining
|
||||||
* @class onlinethread
|
* @class onlinethread
|
||||||
**/
|
**/
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package discord.data.mining;
|
||||||
/**
|
/**
|
||||||
* @author Skidder
|
* @author Skidder
|
||||||
* @time 09:11 30.06.2018
|
* @time 09:11 30.06.2018
|
||||||
* @project Cryptix-Data-Mining
|
* @project Discord-Data-Mining
|
||||||
* @package discord.data.mining
|
* @package discord.data.mining
|
||||||
* @class sendMessage
|
* @class sendMessage
|
||||||
**/
|
**/
|
||||||
|
|
|
||||||
|
|
@ -1,95 +0,0 @@
|
||||||
package discord.data.mining;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.*;
|
|
||||||
import java.awt.font.FontRenderContext;
|
|
||||||
import java.awt.font.LineMetrics;
|
|
||||||
import java.awt.geom.Ellipse2D;
|
|
||||||
import java.awt.geom.Line2D;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Hax
|
|
||||||
* @time 12:46 30.06.2018
|
|
||||||
* @project Cryptix-Data-Mining
|
|
||||||
* @package discord.data.mining
|
|
||||||
* @class test
|
|
||||||
**/
|
|
||||||
|
|
||||||
public class test extends JPanel {
|
|
||||||
|
|
||||||
int[] data = {
|
|
||||||
21, 14, 18, 03, 86, 88, 74, 87, 54, 77,
|
|
||||||
61, 55, 48, 60, 49, 36, 38, 27, 20, 18
|
|
||||||
};
|
|
||||||
final int PAD = 20;
|
|
||||||
|
|
||||||
protected void paintComponent(Graphics g) {
|
|
||||||
super.paintComponent(g);
|
|
||||||
Graphics2D g2 = (Graphics2D)g;
|
|
||||||
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
|
|
||||||
RenderingHints.VALUE_ANTIALIAS_ON);
|
|
||||||
int w = getWidth();
|
|
||||||
int h = getHeight();
|
|
||||||
// Draw ordinate.
|
|
||||||
g2.draw(new Line2D.Double(PAD, PAD, PAD, h-PAD));
|
|
||||||
// Draw abcissa.
|
|
||||||
g2.draw(new Line2D.Double(PAD, h-PAD, w-PAD, h-PAD));
|
|
||||||
// Draw labels.
|
|
||||||
Font font = g2.getFont();
|
|
||||||
FontRenderContext frc = g2.getFontRenderContext();
|
|
||||||
LineMetrics lm = font.getLineMetrics("0", frc);
|
|
||||||
float sh = lm.getAscent() + lm.getDescent();
|
|
||||||
// Ordinate label.
|
|
||||||
String s = "data";
|
|
||||||
float sy = PAD + ((h - 2*PAD) - 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 = (PAD - sw)/2;
|
|
||||||
g2.drawString(letter, sx, sy);
|
|
||||||
sy += sh;
|
|
||||||
}
|
|
||||||
// Abcissa label.
|
|
||||||
s = "x axis";
|
|
||||||
sy = h - PAD + (PAD - 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*PAD)/(data.length-1);
|
|
||||||
double scale = (double)(h - 2*PAD)/getMax();
|
|
||||||
g2.setPaint(Color.green.darker());
|
|
||||||
for(int i = 0; i < data.length-1; i++) {
|
|
||||||
double x1 = PAD + i*xInc;
|
|
||||||
double y1 = h - PAD - scale*data[i];
|
|
||||||
double x2 = PAD + (i+1)*xInc;
|
|
||||||
double y2 = h - PAD - scale*data[i+1];
|
|
||||||
g2.draw(new Line2D.Double(x1, y1, x2, y2));
|
|
||||||
}
|
|
||||||
// Mark data points.
|
|
||||||
g2.setPaint(Color.red);
|
|
||||||
for(int i = 0; i < data.length; i++) {
|
|
||||||
double x = PAD + i*xInc;
|
|
||||||
double y = h - PAD - scale*data[i];
|
|
||||||
g2.fill(new Ellipse2D.Double(x-2, y-2, 4, 4));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private int getMax() {
|
|
||||||
int max = -Integer.MAX_VALUE;
|
|
||||||
for(int i = 0; i < data.length; i++) {
|
|
||||||
if(data[i] > max)
|
|
||||||
max = data[i];
|
|
||||||
}
|
|
||||||
return max;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
JFrame f = new JFrame();
|
|
||||||
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
|
||||||
f.add(new test());
|
|
||||||
f.setSize(400,400);
|
|
||||||
f.setLocation(200,200);
|
|
||||||
f.setVisible(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,143 +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 Cryptix-Data-Mining
|
|
||||||
* @package discord.data.mining
|
|
||||||
* @class test2
|
|
||||||
**/
|
|
||||||
|
|
||||||
public class test2 {
|
|
||||||
|
|
||||||
public static void main() {
|
|
||||||
|
|
||||||
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<Integer> data = new ArrayList<>();
|
|
||||||
for (String dataa:datas) {
|
|
||||||
data.add(Integer.parseInt(dataa));
|
|
||||||
}
|
|
||||||
int max = -Integer.MAX_VALUE;
|
|
||||||
for(int i = 0; i < data.size(); i++) {
|
|
||||||
if(data.get(i) > max)
|
|
||||||
max = data.get(i);
|
|
||||||
}
|
|
||||||
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();
|
|
||||||
// Draw ordinate.
|
|
||||||
g2.draw(new Line2D.Double(24, 24, 24, h - 24));
|
|
||||||
// Draw abcissa.
|
|
||||||
g2.draw(new Line2D.Double(24, h - 24, w - 24, h - 24));
|
|
||||||
// Draw labels.
|
|
||||||
Font font = g2.getFont();
|
|
||||||
FontRenderContext frc = g2.getFontRenderContext();
|
|
||||||
LineMetrics lm = font.getLineMetrics("0", frc);
|
|
||||||
float sh = lm.getAscent() + lm.getDescent();
|
|
||||||
// Ordinate label.
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
// Abcissa label.
|
|
||||||
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();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
Loading…
Add table
Reference in a new issue