Compare commits

...
Sign in to create a new pull request.

61 commits

Author SHA1 Message Date
Skidder
b31780588a
Delete dependabot.yml 2021-07-02 23:24:36 +02:00
Skidder
dd288bf847
Merge pull request #22 from BBN-Holding/dependabot/maven/org.slf4j-slf4j-simple-1.7.31
Bump slf4j-simple from 1.7.30 to 1.7.31
2021-07-01 15:45:47 +02:00
Skidder
7cd8942c41
Merge pull request #21 from BBN-Holding/dependabot/maven/org.slf4j-slf4j-api-1.7.31
Bump slf4j-api from 1.7.30 to 1.7.31
2021-07-01 15:45:38 +02:00
dependabot[bot]
0f23a0ba16
Bump slf4j-simple from 1.7.30 to 1.7.31
Bumps [slf4j-simple](https://github.com/qos-ch/slf4j) from 1.7.30 to 1.7.31.
- [Release notes](https://github.com/qos-ch/slf4j/releases)
- [Commits](https://github.com/qos-ch/slf4j/compare/v_1.7.30...v_1.7.31)

---
updated-dependencies:
- dependency-name: org.slf4j:slf4j-simple
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-01 13:02:07 +00:00
dependabot[bot]
93daeebb12
Bump slf4j-api from 1.7.30 to 1.7.31
Bumps [slf4j-api](https://github.com/qos-ch/slf4j) from 1.7.30 to 1.7.31.
- [Release notes](https://github.com/qos-ch/slf4j/releases)
- [Commits](https://github.com/qos-ch/slf4j/compare/v_1.7.30...v_1.7.31)

---
updated-dependencies:
- dependency-name: org.slf4j:slf4j-api
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-01 13:02:02 +00:00
Skidder
111844a273
Update dependabot.yml 2021-04-30 15:19:58 +02:00
Skidder
1c9db1d35d
Update dependabot.yml 2021-04-30 15:19:23 +02:00
Skidder
69ed1b95a9
Merge pull request #20 from BBN-Holding/dependabot/add-v2-config-file
Upgrade to GitHub-native Dependabot
2021-04-28 07:30:30 +02:00
Skidder
b8d666faa7
Merge pull request #19 from BBN-Holding/dependabot/maven/net.dv8tion-JDA-4.2.0_247
Bump JDA from 4.2.0_246 to 4.2.0_247
2021-04-28 07:30:17 +02:00
dependabot-preview[bot]
a24f1d0188
Upgrade to GitHub-native Dependabot 2021-04-27 23:32:02 +00:00
dependabot-preview[bot]
44890b70a6
Bump JDA from 4.2.0_246 to 4.2.0_247
Bumps JDA from 4.2.0_246 to 4.2.0_247.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-23 14:49:36 +00:00
Skidder
be7eae412c
Merge pull request #18 from BigBotNetwork/dependabot/maven/net.dv8tion-JDA-4.2.0_246
Bump JDA from 4.2.0_242 to 4.2.0_246
2021-03-22 14:30:38 +01:00
dependabot-preview[bot]
18996a515a
Bump JDA from 4.2.0_242 to 4.2.0_246
Bumps JDA from 4.2.0_242 to 4.2.0_246.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-22 13:27:02 +00:00
Skidder
989c083391
Merge pull request #17 from BigBotNetwork/dependabot/maven/net.dv8tion-JDA-4.2.0_242
Bump JDA from 4.2.0_241 to 4.2.0_242
2021-03-19 22:21:37 +01:00
dependabot-preview[bot]
3fa4b73625
Bump JDA from 4.2.0_241 to 4.2.0_242
Bumps JDA from 4.2.0_241 to 4.2.0_242.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-19 13:50:01 +00:00
Skidder
208e0e8734
Merge pull request #16 from BigBotNetwork/dependabot/maven/net.dv8tion-JDA-4.2.0_241
Bump JDA from 4.2.0_240 to 4.2.0_241
2021-03-11 15:08:14 +01:00
dependabot-preview[bot]
7ad69136ae
Bump JDA from 4.2.0_240 to 4.2.0_241
Bumps JDA from 4.2.0_240 to 4.2.0_241.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-11 13:50:03 +00:00
Skidder
90ff9d65af
Merge pull request #15 from BigBotNetwork/dependabot/maven/net.dv8tion-JDA-4.2.0_240
Bump JDA from 4.2.0_231 to 4.2.0_240
2021-03-10 14:44:57 +01:00
dependabot-preview[bot]
040e3ebeee
Bump JDA from 4.2.0_231 to 4.2.0_240
Bumps JDA from 4.2.0_231 to 4.2.0_240.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-10 13:44:45 +00:00
Skidder
866ebd5d7c
Merge pull request #12 from BigBotNetwork/dependabot/maven/net.dv8tion-JDA-4.2.0_231
Bump JDA from 4.2.0_230 to 4.2.0_231
2021-03-04 14:55:39 +01:00
dependabot-preview[bot]
37a0ca300d
Bump JDA from 4.2.0_230 to 4.2.0_231
Bumps JDA from 4.2.0_230 to 4.2.0_231.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-04 13:50:18 +00:00
Skidder
af8334761b
Merge pull request #11 from BigBotNetwork/dependabot/maven/net.dv8tion-JDA-4.2.0_230
Bump JDA from 4.2.0_229 to 4.2.0_230
2021-03-03 14:44:36 +01:00
dependabot-preview[bot]
368e00044b
Bump JDA from 4.2.0_229 to 4.2.0_230
Bumps JDA from 4.2.0_229 to 4.2.0_230.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-03 13:44:27 +00:00
Skidder
3c1e3e5d1e
Merge pull request #10 from BigBotNetwork/dependabot/maven/net.dv8tion-JDA-4.2.0_229
Bump JDA from 4.2.0_228 to 4.2.0_229
2021-02-26 14:31:23 +01:00
dependabot-preview[bot]
8760a5221e
Bump JDA from 4.2.0_228 to 4.2.0_229
Bumps JDA from 4.2.0_228 to 4.2.0_229.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-26 13:31:11 +00:00
Greg
aaeb89da89 Migrate domain 2 2021-02-14 15:37:19 +01:00
Greg
6557fe795e Update domains and add Discord badge 2021-02-14 01:08:42 +01:00
Greg
64d5b9946f Update .gitignore 2021-02-14 01:02:05 +01:00
Skidder
a06f4631b3
Merge pull request #9 from BigBotNetwork/dependabot/maven/org.slf4j-slf4j-simple-1.7.30
Bump slf4j-simple from 1.7.29 to 1.7.30
2021-02-14 00:57:02 +01:00
dependabot-preview[bot]
b935b09ee4
Bump slf4j-simple from 1.7.29 to 1.7.30
Bumps [slf4j-simple](https://github.com/qos-ch/slf4j) from 1.7.29 to 1.7.30.
- [Release notes](https://github.com/qos-ch/slf4j/releases)
- [Commits](https://github.com/qos-ch/slf4j/compare/v_1.7.29...v_1.7.30)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-13 23:56:48 +00:00
Skidder
bbf35b213c
Merge pull request #8 from BigBotNetwork/dependabot/maven/org.slf4j-slf4j-api-1.7.30
Bump slf4j-api from 1.7.29 to 1.7.30
2021-02-14 00:56:40 +01:00
Skidder
f22ebda2ec
Merge pull request #7 from BigBotNetwork/dependabot/maven/net.dv8tion-JDA-4.2.0_228
Bump JDA from 4.0.0_73 to 4.2.0_228
2021-02-14 00:56:33 +01:00
dependabot-preview[bot]
d9e6117106
Bump slf4j-api from 1.7.29 to 1.7.30
Bumps [slf4j-api](https://github.com/qos-ch/slf4j) from 1.7.29 to 1.7.30.
- [Release notes](https://github.com/qos-ch/slf4j/releases)
- [Commits](https://github.com/qos-ch/slf4j/compare/v_1.7.29...v_1.7.30)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-13 23:56:30 +00:00
dependabot-preview[bot]
2d995e632b
Bump JDA from 4.0.0_73 to 4.2.0_228
Bumps JDA from 4.0.0_73 to 4.2.0_228.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-13 23:56:06 +00:00
GregTCLTK
fb70b271b3
More EmbedUtil messsages 2020-01-25 15:28:37 +01:00
GregTCLTK
0a502c5d14
EmbedUtil 2020-01-25 14:56:31 +01:00
GregTCLTK
9a3c8c969a
Member Events 2019-12-16 08:13:10 +01:00
GregTCLTK
a70191cab2
Finished Guild Update Events 2019-12-15 14:39:57 +01:00
GregTCLTK
faab0719fc
Added more guild update events 2019-12-15 12:33:05 +01:00
GregTCLTK
af937e7d11
More guild events 2019-12-15 12:18:30 +01:00
GregTCLTK
da7c5e62da
Added startMining() 2019-12-15 11:35:41 +01:00
GregTCLTK
e9de80f756
More channel and category events 2019-12-15 11:18:55 +01:00
GregTCLTK
5cec18d7ea
New events 2019-12-15 10:59:35 +01:00
GregTCLTK
c90a0a9ba8
Store Channel create and delete 2019-12-14 22:06:37 +01:00
GregTCLTK
517475dfb3
Reaction Remove 2019-12-14 20:04:56 +01:00
GregTCLTK
d2a5ed0713
User Events 2019-12-14 16:00:26 +01:00
GregTCLTK
7f40c41183
Remove unused repo 2019-12-14 15:22:06 +01:00
GregTCLTK
07f4edd17f
It's working now! 2019-12-14 15:19:09 +01:00
GregTCLTK
e8093512fe
Fix 2019-11-11 16:29:54 +01:00
GregTCLTK
fe6cdb3d5f
Nice stuff 2019-11-11 16:14:48 +01:00
GregTCLTK
fe0edb7bc1
Remove RethinkDB 2019-11-11 08:37:30 +01:00
GregTCLTK
1a4171b978
Fixing 2019-11-11 08:19:39 +01:00
GregTCLTK
7a1954ca73
MessageEvents 2019-11-11 08:15:47 +01:00
GregTCLTK
acaf7fc272
lul 2019-11-10 20:39:24 +01:00
GregTCLTK
b45b6f269d
setAuthor 2019-11-10 15:37:40 +01:00
GregTCLTK
66cded9d7d
DataLogging 😏 2019-11-10 15:13:03 +01:00
GregTCLTK
45eb227d22
Command Executed DM 2019-11-10 14:26:59 +01:00
GregTCLTK
5640e88cbe
This is a commit 2019-11-10 14:13:54 +01:00
GregTCLTK
c526bbbeea
Guild 2019-11-04 09:11:05 +01:00
GregTCLTK
b993c563c0
Rewrite 2019-11-04 08:59:47 +01:00
GregTCLTK
544e34b415
Rewrite
yk
2019-11-03 18:20:14 +01:00
21 changed files with 963 additions and 501 deletions

4
.gitignore vendored
View file

@ -24,5 +24,7 @@ hs_err_pid*
*.xml
SECRETS.java
SECRETSsss.java
.idea
Discord-Data-Mining.iml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -1,2 +1,4 @@
# Discord-Data-Mining
The official Discord-Data-Mining
The official Discord-Data-Mining Rewrite
<a href="https://discord.gg/nPwjaJk"><img src="https://discord.com/api/guilds/757966278936756345/embed.png"/></a>

27
pom.xml
View file

@ -6,15 +6,15 @@
<groupId>Discord-Data-Mining</groupId>
<artifactId>Discord-Data-Mining</artifactId>
<version>1.0-SNAPSHOT</version>
<version>2.0</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.9</source>
<target>1.9</target>
<source>15</source>
<target>15</target>
</configuration>
</plugin>
</plugins>
@ -26,21 +26,22 @@
<name>jcenter-bintray</name>
<url>http://jcenter.bintray.com</url>
</repository>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.rethinkdb</groupId>
<artifactId>rethinkdb-driver</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>net.dv8tion</groupId>
<artifactId>JDA</artifactId>
<version>LATEST</version>
<version>4.2.0_247</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.31</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.31</version>
</dependency>
</dependencies>
</project>

View file

@ -1,3 +0,0 @@
Manifest-Version: 1.0
Main-Class: discord.data.mining.Main

View file

@ -0,0 +1,59 @@
package discord.data.mining;
import discord.data.mining.listener.GenericEventListener;
import discord.data.mining.listener.MessageListener;
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.utils.ChunkingFilter;
import java.util.ArrayList;
import static discord.data.mining.SECRETS.*;
public class DataMining {
public static String MessageLog = "462507170383134720";
public static String ReactionLog = "462524422713245696";
public static String UserLog = "655416028620128262";
public static String ConsoleLog = "462556910206320640";
public static String ChannelLog = "655494752506216475";
public static String GuildLog = "655714414976040961";
public static String MemberLog = "656026530190983188";
public static String ActivityLog = "656028905802694666";
public static ArrayList<JDA> clients = new ArrayList<>();
public static ArrayList<JDA> bots = new ArrayList<>();
private static ArrayList<JDA> manager = new ArrayList<>();
public static int bot = 0;
public static void main(String[] args) {
try {
for (String Token : managerTokens) {
manager.add(new JDABuilder(AccountType.BOT).setAutoReconnect(true).setToken(Token).addEventListeners(new MessageListener()).build());
}
Thread.sleep(1500);
startMining();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void startMining() {
try {
for (String Token : botTokens) {
bots.add(new JDABuilder(AccountType.BOT).setAutoReconnect(true).setToken(Token).build());
}
for (String Token : clientTokens) {
clients.add(new JDABuilder(AccountType.CLIENT).setToken(Token).setAutoReconnect(true).setChunkingFilter(ChunkingFilter.NONE).addEventListeners(new ReadyListener(), new GenericEventListener()).build());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

View file

@ -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;
}
}

View file

@ -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);
}
}

View file

@ -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")) {
}
}
}
}

View file

@ -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());
}
}
}
}

View file

@ -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);
}
}

View file

@ -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<JDA> clients = new ArrayList<>();
public static ArrayList<JDA> bots = new ArrayList<>();
public static ArrayList<JDA> manager = new ArrayList<>();
public static int currentBot =0;
public static ArrayList<String> onlineclients = new ArrayList<>();
public static long Actionperh = 0;
public static ArrayList<Guild> 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();
}
}
}

View file

@ -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<Integer> 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();
}
}

View file

@ -0,0 +1,736 @@
package discord.data.mining.core;
import discord.data.mining.DataMining;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.events.GenericEvent;
import net.dv8tion.jda.api.events.channel.category.CategoryCreateEvent;
import net.dv8tion.jda.api.events.channel.category.CategoryDeleteEvent;
import net.dv8tion.jda.api.events.channel.category.update.CategoryUpdateNameEvent;
import net.dv8tion.jda.api.events.channel.store.StoreChannelCreateEvent;
import net.dv8tion.jda.api.events.channel.store.StoreChannelDeleteEvent;
import net.dv8tion.jda.api.events.channel.store.update.StoreChannelUpdateNameEvent;
import net.dv8tion.jda.api.events.channel.text.TextChannelCreateEvent;
import net.dv8tion.jda.api.events.channel.text.TextChannelDeleteEvent;
import net.dv8tion.jda.api.events.channel.text.update.TextChannelUpdateNameEvent;
import net.dv8tion.jda.api.events.channel.text.update.TextChannelUpdateTopicEvent;
import net.dv8tion.jda.api.events.channel.voice.VoiceChannelCreateEvent;
import net.dv8tion.jda.api.events.channel.voice.VoiceChannelDeleteEvent;
import net.dv8tion.jda.api.events.channel.voice.update.VoiceChannelUpdateNameEvent;
import net.dv8tion.jda.api.events.guild.GuildBanEvent;
import net.dv8tion.jda.api.events.guild.GuildUnbanEvent;
import net.dv8tion.jda.api.events.guild.member.GuildMemberJoinEvent;
import net.dv8tion.jda.api.events.guild.member.GuildMemberLeaveEvent;
import net.dv8tion.jda.api.events.guild.member.GuildMemberRoleAddEvent;
import net.dv8tion.jda.api.events.guild.member.GuildMemberRoleRemoveEvent;
import net.dv8tion.jda.api.events.guild.member.update.GuildMemberUpdateBoostTimeEvent;
import net.dv8tion.jda.api.events.guild.member.update.GuildMemberUpdateNicknameEvent;
import net.dv8tion.jda.api.events.guild.update.*;
import net.dv8tion.jda.api.events.message.MessageDeleteEvent;
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 net.dv8tion.jda.api.events.user.UserActivityEndEvent;
import net.dv8tion.jda.api.events.user.UserActivityStartEvent;
import net.dv8tion.jda.api.events.user.update.*;
import java.awt.*;
import java.time.Instant;
public class DataLog {
public static void log(GenericEvent event) {
JDA BOT = DataMining.bots.get(DataMining.bot);
DataMining.bot++;
if (DataMining.bot == DataMining.bots.size()) DataMining.bot = 0;
if (event instanceof MessageReceivedEvent) {
MessageReceivedEvent msgevent = (MessageReceivedEvent) event;
if (!msgevent.getGuild().getId().equals("448554629282922527")) {
BOT.getTextChannelById(DataMining.MessageLog).sendMessage(new EmbedUtil().add()
.setThumbnail(msgevent.getGuild().getIconUrl())
.setAuthor(msgevent.getAuthor().getAsTag(), msgevent.getAuthor().getAvatarUrl(), msgevent.getAuthor().getAvatarUrl())
.setTitle("New Message")
.addField("Guild name", msgevent.getGuild().getName(), true)
.addField("Guild ID", msgevent.getGuild().getId(), true)
.addField("Guild owner", msgevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Content", "```" + msgevent.getMessage().getContentDisplay() + "```", false)
.build()).queue();
}
} else if (event instanceof MessageDeleteEvent) {
MessageDeleteEvent msgevent = (MessageDeleteEvent) event;
if (!msgevent.getGuild().getId().equals("448554629282922527")) {
BOT.getTextChannelById(DataMining.MessageLog).sendMessage(new EmbedUtil().remove()
.setThumbnail(msgevent.getGuild().getIconUrl())
.setTitle("Message deleted")
.addField("Guild name", msgevent.getGuild().getName(), true)
.addField("Guild ID", msgevent.getGuild().getId(), true)
.addField("Guild owner", msgevent.getGuild().getOwner().getUser().getAsTag(), true)
.build()).queue();
}
} else if (event instanceof MessageReactionAddEvent) {
MessageReactionAddEvent revent = (MessageReactionAddEvent) event;
if (!revent.getGuild().getId().equals("448554629282922527")) {
BOT.getTextChannelById(DataMining.ReactionLog).sendMessage(new EmbedUtil().add()
.setThumbnail(revent.getGuild().getIconUrl())
.setAuthor(revent.getMember().getUser().getAsTag(), revent.getMember().getUser().getAvatarUrl(), revent.getMember().getUser().getAvatarUrl())
.setTitle("Reaction added")
.addField("Guild name", revent.getGuild().getName(), true)
.addField("Guild ID", revent.getGuild().getId(), true)
.addField("Guild owner", revent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Reaction", revent.getReaction().toString(), false)
.build()).queue();
}
} else if (event instanceof MessageReactionRemoveEvent) {
MessageReactionRemoveEvent revent = (MessageReactionRemoveEvent) event;
if (!revent.getGuild().getId().equals("448554629282922527")) {
BOT.getTextChannelById(DataMining.ReactionLog).sendMessage(new EmbedUtil().remove()
.setThumbnail(revent.getGuild().getIconUrl())
.setAuthor(revent.getMember().getUser().getAsTag(), revent.getMember().getUser().getAvatarUrl(), revent.getMember().getUser().getAvatarUrl())
.setTitle("Reaction removed")
.addField("Guild name", revent.getGuild().getName(), true)
.addField("Guild ID", revent.getGuild().getId(), true)
.addField("Guild owner", revent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Reaction", revent.getReaction().toString(), false)
.build()).queue();
}
} else if (event instanceof UserUpdateNameEvent) {
UserUpdateNameEvent uevent = (UserUpdateNameEvent) event;
BOT.getTextChannelById(DataMining.UserLog).sendMessage(new EmbedUtil().add()
.setThumbnail(uevent.getUser().getAvatarUrl())
.setAuthor(uevent.getUser().getAsTag(), uevent.getUser().getAvatarUrl(), uevent.getUser().getAvatarUrl())
.setTitle("User updated name")
.addField("Old name", uevent.getOldName(), true)
.addField("New name", uevent.getNewName(), true)
.build()).queue();
} else if (event instanceof UserUpdateDiscriminatorEvent) {
UserUpdateDiscriminatorEvent uevent = (UserUpdateDiscriminatorEvent) event;
BOT.getTextChannelById(DataMining.UserLog).sendMessage(new EmbedUtil().add()
.setThumbnail(uevent.getUser().getAvatarUrl())
.setAuthor(uevent.getUser().getAsTag(), uevent.getUser().getAvatarUrl(), uevent.getUser().getAvatarUrl())
.setTitle("User updated discriminator")
.addField("Old discriminator", uevent.getOldDiscriminator(), true)
.addField("New discriminator", uevent.getNewDiscriminator(), true)
.build()).queue();
} else if (event instanceof UserUpdateAvatarEvent) {
UserUpdateAvatarEvent uevent = (UserUpdateAvatarEvent) event;
try {
BOT.getTextChannelById(DataMining.UserLog).sendMessage(new EmbedUtil().add()
.setImage(uevent.getNewAvatarUrl())
.setThumbnail(uevent.getOldAvatarUrl())
.setAuthor(uevent.getUser().getAsTag(), uevent.getUser().getAvatarUrl(), uevent.getUser().getAvatarUrl())
.setTitle("User updated avatar")
.addField("New avatar ID", uevent.getNewAvatarId(), true)
.addField("Old avatar ID", uevent.getOldAvatarId(), true)
.build()).queue();
} catch (Exception ignore){}
} else if (event instanceof UserUpdateOnlineStatusEvent) {
UserUpdateOnlineStatusEvent uevent = (UserUpdateOnlineStatusEvent) event;
BOT.getTextChannelById(DataMining.UserLog).sendMessage(new EmbedUtil().add()
.setThumbnail(uevent.getUser().getAvatarUrl())
.setAuthor(uevent.getUser().getAsTag(), uevent.getUser().getAvatarUrl(), uevent.getUser().getAvatarUrl())
.setTitle("User updated online status")
.addField("New online status", uevent.getNewOnlineStatus().toString(), true)
.addField("Old online status", uevent.getOldOnlineStatus().toString(), true)
.build()).queue();
} else if (event instanceof UserActivityStartEvent) {
UserActivityStartEvent uevent = (UserActivityStartEvent) event;
BOT.getTextChannelById(DataMining.ActivityLog).sendMessage(new EmbedUtil().add()
.setThumbnail(uevent.getUser().getAvatarUrl())
.setAuthor(uevent.getUser().getAsTag(), uevent.getUser().getAvatarUrl(), uevent.getUser().getAvatarUrl())
.setTitle("User started playing")
.addField("New activity", uevent.getNewActivity().toString(), true)
.build()).queue();
} else if (event instanceof UserActivityEndEvent) {
UserActivityEndEvent uevent = (UserActivityEndEvent) event;
BOT.getTextChannelById(DataMining.ActivityLog).sendMessage(new EmbedUtil().remove()
.setThumbnail(uevent.getUser().getAvatarUrl())
.setAuthor(uevent.getUser().getAsTag(), uevent.getUser().getAvatarUrl(), uevent.getUser().getAvatarUrl())
.setTitle("User ended playing")
.addField("Old activity", uevent.getOldActivity().toString(), true)
.build()).queue();
} else if (event instanceof StoreChannelCreateEvent) {
StoreChannelCreateEvent cevent = (StoreChannelCreateEvent) event;
BOT.getTextChannelById(DataMining.ChannelLog).sendMessage(new EmbedUtil().add()
.setThumbnail(cevent.getChannel().getGuild().getIconUrl())
.setAuthor(cevent.getChannel().getGuild().getName(), cevent.getChannel().getGuild().getIconUrl(), cevent.getChannel().getGuild().getIconUrl())
.setTitle("Store channel created")
.addField("Guild name", cevent.getChannel().getGuild().getName(), true)
.addField("Guild ID", cevent.getChannel().getGuild().getId(), true)
.addField("Guild owner", cevent.getChannel().getGuild().getOwner().getUser().getAsTag(), true)
.addField("Channel name", cevent.getChannel().getName(), true)
.addField("Channel ID", cevent.getChannel().getId(), true)
.build()).queue();
} else if (event instanceof StoreChannelDeleteEvent) {
StoreChannelDeleteEvent cevent = (StoreChannelDeleteEvent) event;
BOT.getTextChannelById(DataMining.ChannelLog).sendMessage(new EmbedUtil().remove()
.setThumbnail(cevent.getChannel().getGuild().getIconUrl())
.setAuthor(cevent.getChannel().getGuild().getName(), cevent.getChannel().getGuild().getIconUrl(), cevent.getChannel().getGuild().getIconUrl())
.setTitle("Store channel deleted")
.addField("Guild name", cevent.getChannel().getGuild().getName(), true)
.addField("Guild ID", cevent.getChannel().getGuild().getId(), true)
.addField("Guild owner", cevent.getChannel().getGuild().getOwner().getUser().getAsTag(), true)
.addField("Channel name", cevent.getChannel().getName(), true)
.addField("Channel ID", cevent.getChannel().getId(), true)
.build()).queue();
} else if (event instanceof StoreChannelUpdateNameEvent) {
StoreChannelUpdateNameEvent cevent = (StoreChannelUpdateNameEvent) event;
BOT.getTextChannelById(DataMining.ChannelLog).sendMessage(new EmbedUtil().update()
.setThumbnail(cevent.getChannel().getGuild().getIconUrl())
.setAuthor(cevent.getChannel().getGuild().getName(), cevent.getChannel().getGuild().getIconUrl(), cevent.getChannel().getGuild().getIconUrl())
.setTitle("Store channel name updated")
.addField("Guild name", cevent.getChannel().getGuild().getName(), true)
.addField("Guild ID", cevent.getChannel().getGuild().getId(), true)
.addField("Guild owner", cevent.getChannel().getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old name", cevent.getOldName(), true)
.addField("New name", cevent.getNewName(), true)
.addField("Channel ID", cevent.getChannel().getId(), true)
.build()).queue();
} else if (event instanceof TextChannelCreateEvent) {
TextChannelCreateEvent cevent = (TextChannelCreateEvent) event;
BOT.getTextChannelById(DataMining.ChannelLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(cevent.getChannel().getGuild().getIconUrl())
.setAuthor(cevent.getChannel().getGuild().getName(), cevent.getChannel().getGuild().getIconUrl(), cevent.getChannel().getGuild().getIconUrl())
.setTitle("Text channel created")
.addField("Guild name", cevent.getChannel().getGuild().getName(), true)
.addField("Guild ID", cevent.getChannel().getGuild().getId(), true)
.addField("Guild owner", cevent.getChannel().getGuild().getOwner().getUser().getAsTag(), true)
.addField("Channel name", cevent.getChannel().getName(), true)
.addField("Channel ID", cevent.getChannel().getId(), true)
.setFooter("BBN Data Mining", "https://bbn.one/images/avatar.png")
.build()).queue();
} else if (event instanceof TextChannelDeleteEvent) {
TextChannelDeleteEvent cevent = (TextChannelDeleteEvent) event;
BOT.getTextChannelById(DataMining.ChannelLog).sendMessage(new EmbedBuilder()
.setColor(Color.RED)
.setTimestamp(Instant.now())
.setThumbnail(cevent.getChannel().getGuild().getIconUrl())
.setAuthor(cevent.getChannel().getGuild().getName(), cevent.getChannel().getGuild().getIconUrl(), cevent.getChannel().getGuild().getIconUrl())
.setTitle("Text channel deleted")
.addField("Guild name", cevent.getChannel().getGuild().getName(), true)
.addField("Guild ID", cevent.getChannel().getGuild().getId(), true)
.addField("Guild owner", cevent.getChannel().getGuild().getOwner().getUser().getAsTag(), true)
.addField("Channel name", cevent.getChannel().getName(), true)
.addField("Channel ID", cevent.getChannel().getId(), true)
.setFooter("BBN Data Mining", "https://bbn.one/images/avatar.png")
.build()).queue();
} else if (event instanceof TextChannelUpdateNameEvent) {
TextChannelUpdateNameEvent cevent = (TextChannelUpdateNameEvent) event;
BOT.getTextChannelById(DataMining.ChannelLog).sendMessage(new EmbedBuilder()
.setColor(Color.YELLOW)
.setTimestamp(Instant.now())
.setThumbnail(cevent.getChannel().getGuild().getIconUrl())
.setAuthor(cevent.getChannel().getGuild().getName(), cevent.getChannel().getGuild().getIconUrl(), cevent.getChannel().getGuild().getIconUrl())
.setTitle("Text channel name updated")
.addField("Guild name", cevent.getChannel().getGuild().getName(), true)
.addField("Guild ID", cevent.getChannel().getGuild().getId(), true)
.addField("Guild owner", cevent.getChannel().getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old name", cevent.getOldName(), true)
.addField("New name", cevent.getNewName(), true)
.addField("Channel ID", cevent.getChannel().getId(), true)
.setFooter("BBN Data Mining", "https://bbn.one/images/avatar.png")
.build()).queue();
} else if (event instanceof TextChannelUpdateTopicEvent) {
TextChannelUpdateTopicEvent cevent = (TextChannelUpdateTopicEvent) event;
BOT.getTextChannelById(DataMining.ChannelLog).sendMessage(new EmbedBuilder()
.setColor(Color.YELLOW)
.setTimestamp(Instant.now())
.setThumbnail(cevent.getChannel().getGuild().getIconUrl())
.setAuthor(cevent.getChannel().getGuild().getName(), cevent.getChannel().getGuild().getIconUrl(), cevent.getChannel().getGuild().getIconUrl())
.setTitle("Text channel topic updated")
.addField("Guild name", cevent.getChannel().getGuild().getName(), true)
.addField("Guild ID", cevent.getChannel().getGuild().getId(), true)
.addField("Guild owner", cevent.getChannel().getGuild().getOwner().getUser().getAsTag(), true)
.addField("Channel name", cevent.getChannel().getName(), true)
.addField("Old topic", cevent.getOldTopic(), true)
.addField("New topic", cevent.getNewTopic(), true)
.addField("Channel ID", cevent.getChannel().getId(), true)
.setFooter("BBN Data Mining", "https://bbn.one/images/avatar.png")
.build()).queue();
} else if (event instanceof VoiceChannelCreateEvent) {
VoiceChannelCreateEvent cevent = (VoiceChannelCreateEvent) event;
BOT.getTextChannelById(DataMining.ChannelLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(cevent.getChannel().getGuild().getIconUrl())
.setAuthor(cevent.getChannel().getGuild().getName(), cevent.getChannel().getGuild().getIconUrl(), cevent.getChannel().getGuild().getIconUrl())
.setTitle("Voice channel created")
.addField("Guild name", cevent.getChannel().getGuild().getName(), true)
.addField("Guild ID", cevent.getChannel().getGuild().getId(), true)
.addField("Guild owner", cevent.getChannel().getGuild().getOwner().getUser().getAsTag(), true)
.addField("Channel name", cevent.getChannel().getName(), true)
.addField("Channel ID", cevent.getChannel().getId(), true)
.setFooter("BBN Data Mining", "https://bbn.one/images/avatar.png")
.build()).queue();
} else if (event instanceof VoiceChannelDeleteEvent) {
VoiceChannelDeleteEvent cevent = (VoiceChannelDeleteEvent) event;
BOT.getTextChannelById(DataMining.ChannelLog).sendMessage(new EmbedBuilder()
.setColor(Color.RED)
.setTimestamp(Instant.now())
.setThumbnail(cevent.getChannel().getGuild().getIconUrl())
.setAuthor(cevent.getChannel().getGuild().getName(), cevent.getChannel().getGuild().getIconUrl(), cevent.getChannel().getGuild().getIconUrl())
.setTitle("Voice channel deleted")
.addField("Guild name", cevent.getChannel().getGuild().getName(), true)
.addField("Guild ID", cevent.getChannel().getGuild().getId(), true)
.addField("Guild owner", cevent.getChannel().getGuild().getOwner().getUser().getAsTag(), true)
.addField("Channel name", cevent.getChannel().getName(), true)
.addField("Channel ID", cevent.getChannel().getId(), true)
.setFooter("BBN Data Mining", "https://bbn.one/images/avatar.png")
.build()).queue();
} else if (event instanceof VoiceChannelUpdateNameEvent) {
VoiceChannelUpdateNameEvent cevent = (VoiceChannelUpdateNameEvent) event;
BOT.getTextChannelById(DataMining.ChannelLog).sendMessage(new EmbedBuilder()
.setColor(Color.YELLOW)
.setTimestamp(Instant.now())
.setThumbnail(cevent.getChannel().getGuild().getIconUrl())
.setAuthor(cevent.getChannel().getGuild().getName(), cevent.getChannel().getGuild().getIconUrl(), cevent.getChannel().getGuild().getIconUrl())
.setTitle("Voice channel name updated")
.addField("Guild name", cevent.getChannel().getGuild().getName(), true)
.addField("Guild ID", cevent.getChannel().getGuild().getId(), true)
.addField("Guild owner", cevent.getChannel().getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old name", cevent.getOldName(), true)
.addField("New name", cevent.getNewName(), true)
.addField("Channel ID", cevent.getChannel().getId(), true)
.setFooter("BBN Data Mining", "https://bbn.one/images/avatar.png")
.build()).queue();
} else if (event instanceof CategoryCreateEvent) {
CategoryCreateEvent cevent = (CategoryCreateEvent) event;
BOT.getTextChannelById(DataMining.ChannelLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(cevent.getGuild().getIconUrl())
.setAuthor(cevent.getGuild().getName(), cevent.getGuild().getIconUrl(), cevent.getGuild().getIconUrl())
.setTitle("Category created")
.addField("Guild name", cevent.getGuild().getName(), true)
.addField("Guild ID", cevent.getGuild().getId(), true)
.addField("Guild owner", cevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Category name", cevent.getCategory().getName(), true)
.addField("Category ID", cevent.getCategory().getId(), true)
.setFooter("BBN Data Mining", "https://bbn.one/images/avatar.png")
.build()).queue();
} else if (event instanceof CategoryDeleteEvent) {
CategoryDeleteEvent cevent = (CategoryDeleteEvent) event;
BOT.getTextChannelById(DataMining.ChannelLog).sendMessage(new EmbedBuilder()
.setColor(Color.RED)
.setTimestamp(Instant.now())
.setThumbnail(cevent.getGuild().getIconUrl())
.setAuthor(cevent.getGuild().getName(), cevent.getGuild().getIconUrl(), cevent.getGuild().getIconUrl())
.setTitle("Category deleted")
.addField("Guild name", cevent.getGuild().getName(), true)
.addField("Guild ID", cevent.getGuild().getId(), true)
.addField("Guild owner", cevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Category name", cevent.getCategory().getName(), true)
.addField("Category ID", cevent.getCategory().getId(), true)
.setFooter("BBN Data Mining", "https://bbn.one/images/avatar.png")
.build()).queue();
} else if (event instanceof CategoryUpdateNameEvent) {
CategoryUpdateNameEvent cevent = (CategoryUpdateNameEvent) event;
BOT.getTextChannelById(DataMining.ChannelLog).sendMessage(new EmbedBuilder()
.setColor(Color.YELLOW)
.setTimestamp(Instant.now())
.setThumbnail(cevent.getGuild().getIconUrl())
.setAuthor(cevent.getGuild().getName(), cevent.getGuild().getIconUrl(), cevent.getGuild().getIconUrl())
.setTitle("Category name updated")
.addField("Guild name", cevent.getGuild().getName(), true)
.addField("Guild ID", cevent.getGuild().getId(), true)
.addField("Guild owner", cevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old name", cevent.getOldName(), true)
.addField("New name", cevent.getNewName(), true)
.addField("Category ID", cevent.getCategory().getId(), true)
.setFooter("BBN Data Mining", "https://bbn.one/images/avatar.png")
.build()).queue();
} else if (event instanceof GuildBanEvent) {
GuildBanEvent gevent = (GuildBanEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.RED)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getGuild().getIconUrl())
.setAuthor(gevent.getUser().getAsTag(), gevent.getUser().getAvatarUrl(), gevent.getUser().getAvatarUrl())
.setTitle("User banned")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("User ID", gevent.getUser().getId(), true)
.build()).queue();
} else if (event instanceof GuildUnbanEvent) {
GuildUnbanEvent gevent = (GuildUnbanEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getGuild().getIconUrl())
.setAuthor(gevent.getUser().getAsTag(), gevent.getUser().getAvatarUrl(), gevent.getUser().getAvatarUrl())
.setTitle("User unbanned")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("User ID", gevent.getUser().getId(), true)
.build()).queue();
} else if (event instanceof GuildUpdateAfkChannelEvent) {
GuildUpdateAfkChannelEvent gevent = (GuildUpdateAfkChannelEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getGuild().getIconUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("AFK channel updated")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old channel", String.valueOf(gevent.getOldAfkChannel()), true)
.addField("New channel", String.valueOf(gevent.getNewAfkChannel()), true)
.build()).queue();
} else if (event instanceof GuildUpdateSystemChannelEvent) {
GuildUpdateSystemChannelEvent gevent = (GuildUpdateSystemChannelEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getGuild().getIconUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("System channel updated")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old channel", String.valueOf(gevent.getOldSystemChannel()), true)
.addField("New channel", String.valueOf(gevent.getNewSystemChannel()), true)
.build()).queue();
} else if (event instanceof GuildUpdateAfkTimeoutEvent) {
GuildUpdateAfkTimeoutEvent gevent = (GuildUpdateAfkTimeoutEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getGuild().getIconUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("AFk timeout updated")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old channel", String.valueOf(gevent.getOldAfkTimeout()), true)
.addField("New channel", String.valueOf(gevent.getNewAfkTimeout()), true)
.build()).queue();
} else if (event instanceof GuildUpdateExplicitContentLevelEvent) {
GuildUpdateExplicitContentLevelEvent gevent = (GuildUpdateExplicitContentLevelEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getGuild().getIconUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("Explicit content level updated")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old level", String.valueOf(gevent.getOldLevel()), true)
.addField("New level", String.valueOf(gevent.getNewLevel()), true)
.build()).queue();
} else if (event instanceof GuildUpdateIconEvent) {
GuildUpdateIconEvent gevent = (GuildUpdateIconEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getOldIconUrl())
.setImage(gevent.getNewIconUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("Icon updated")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("New icon ID", gevent.getOldIconId(), true)
.addField("Old icon ID", gevent.getNewIconId(), true)
.build()).queue();
} else if (event instanceof GuildUpdateMFALevelEvent) {
GuildUpdateMFALevelEvent gevent = (GuildUpdateMFALevelEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getGuild().getIconUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("MFA level updated")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old MFA level", String.valueOf(gevent.getOldMFALevel()), true)
.addField("New MFA level", String.valueOf(gevent.getNewMFALevel()), true)
.build()).queue();
} else if (event instanceof GuildUpdateNameEvent) {
GuildUpdateNameEvent gevent = (GuildUpdateNameEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getGuild().getIconUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("Guild name updated")
.addField("Old name", gevent.getOldName(), true)
.addField("New name", gevent.getNewName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.build()).queue();
} else if (event instanceof GuildUpdateNotificationLevelEvent) {
GuildUpdateNotificationLevelEvent gevent = (GuildUpdateNotificationLevelEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getGuild().getIconUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("Notification level updated")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old level", String.valueOf(gevent.getOldNotificationLevel()), true)
.addField("New level", String.valueOf(gevent.getNewNotificationLevel()), true)
.build()).queue();
} else if (event instanceof GuildUpdateOwnerEvent) {
GuildUpdateOwnerEvent gevent = (GuildUpdateOwnerEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getGuild().getIconUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("Owner updated")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Old owner", gevent.getOldOwner().getUser().getAsTag(), true)
.addField("New owner", gevent.getNewOwner().getUser().getAsTag(), true)
.build()).queue();
} else if (event instanceof GuildUpdateRegionEvent) {
GuildUpdateRegionEvent gevent = (GuildUpdateRegionEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getGuild().getIconUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("Region updated")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old region", String.valueOf(gevent.getOldRegion()), true)
.addField("New region", String.valueOf(gevent.getNewRegion()), true)
.build()).queue();
} else if (event instanceof GuildUpdateSplashEvent) {
GuildUpdateSplashEvent gevent = (GuildUpdateSplashEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getOldSplashUrl())
.setImage(gevent.getNewSplashUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("Splash updated")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old ID", gevent.getOldSplashId(), true)
.addField("New ID", gevent.getNewSplashId(), true)
.build()).queue();
} else if (event instanceof GuildUpdateVerificationLevelEvent) {
GuildUpdateVerificationLevelEvent gevent = (GuildUpdateVerificationLevelEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getGuild().getIconUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("Verification level updated")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old level", String.valueOf(gevent.getOldVerificationLevel()), true)
.addField("New level", String.valueOf(gevent.getNewVerificationLevel()), true)
.build()).queue();
} else if (event instanceof GuildUpdateFeaturesEvent){
GuildUpdateFeaturesEvent gevent = (GuildUpdateFeaturesEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getGuild().getIconUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("Features updated")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old features", String.valueOf(gevent.getOldFeatures()), true)
.addField("New features", String.valueOf(gevent.getNewFeatures()), true)
.build()).queue();
} else if (event instanceof GuildUpdateVanityCodeEvent){
GuildUpdateVanityCodeEvent gevent = (GuildUpdateVanityCodeEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getGuild().getIconUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("Vanity code updated")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old URL", gevent.getOldVanityUrl(), true)
.addField("New URL", gevent.getNewVanityUrl(), true)
.build()).queue();
} else if (event instanceof GuildUpdateBannerEvent){
GuildUpdateBannerEvent gevent = (GuildUpdateBannerEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getOldBannerUrl())
.setImage(gevent.getNewBannerIdUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("Banner updated")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old ID", gevent.getOldBannerId(), true)
.addField("New ID", gevent.getNewBannerId(), true)
.build()).queue();
} else if (event instanceof GuildUpdateDescriptionEvent){
GuildUpdateDescriptionEvent gevent = (GuildUpdateDescriptionEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getGuild().getIconUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("Description updated")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old description", gevent.getOldDescription(), true)
.addField("New description", gevent.getNewDescription(), true)
.build()).queue();
} else if (event instanceof GuildUpdateBoostTierEvent){
GuildUpdateBoostTierEvent gevent = (GuildUpdateBoostTierEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getGuild().getIconUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("Boost tier changed")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old tier", String.valueOf(gevent.getOldBoostTier()), true)
.addField("New tier", String.valueOf(gevent.getNewBoostTier()), true)
.build()).queue();
} else if (event instanceof GuildUpdateBoostCountEvent){
GuildUpdateBoostCountEvent gevent = (GuildUpdateBoostCountEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getGuild().getIconUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("Boost added")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old boost count", String.valueOf(gevent.getOldBoostCount()), true)
.addField("New boost count", String.valueOf(gevent.getNewBoostCount()), true)
.build()).queue();
} else if (event instanceof GuildUpdateMaxMembersEvent){
GuildUpdateMaxMembersEvent gevent = (GuildUpdateMaxMembersEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getGuild().getIconUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("Max. members updated")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old max members", String.valueOf(gevent.getOldMaxMembers()), true)
.addField("New max members", String.valueOf(gevent.getNewMaxMembers()), true)
.build()).queue();
} else if (event instanceof GuildUpdateMaxPresencesEvent){
GuildUpdateMaxPresencesEvent gevent = (GuildUpdateMaxPresencesEvent) event;
BOT.getTextChannelById(DataMining.GuildLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getGuild().getIconUrl())
.setAuthor(gevent.getGuild().getName(), gevent.getGuild().getIconUrl(), gevent.getGuild().getIconUrl())
.setTitle("Max. presences updated")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Old max presences", String.valueOf(gevent.getOldMaxPresences()), true)
.addField("New max presences", String.valueOf(gevent.getNewMaxPresences()), true)
.build()).queue();
} else if (event instanceof GuildMemberJoinEvent){
GuildMemberJoinEvent gevent = (GuildMemberJoinEvent) event;
BOT.getTextChannelById(DataMining.MemberLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getUser().getAvatarUrl())
.setAuthor(gevent.getUser().getAsTag(), gevent.getUser().getAvatarUrl(), gevent.getUser().getAvatarUrl())
.setTitle("Member joined")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Member ID", gevent.getMember().getId(), true)
.build()).queue();
} else if (event instanceof GuildMemberLeaveEvent){
GuildMemberLeaveEvent gevent = (GuildMemberLeaveEvent) event;
BOT.getTextChannelById(DataMining.MemberLog).sendMessage(new EmbedBuilder()
.setColor(Color.RED)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getUser().getAvatarUrl())
.setAuthor(gevent.getUser().getAsTag(), gevent.getUser().getAvatarUrl(), gevent.getUser().getAvatarUrl())
.setTitle("Member left")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Member ID", gevent.getMember().getId(), true)
.build()).queue();
} else if (event instanceof GuildMemberRoleAddEvent){
GuildMemberRoleAddEvent gevent = (GuildMemberRoleAddEvent) event;
BOT.getTextChannelById(DataMining.MemberLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getUser().getAvatarUrl())
.setAuthor(gevent.getUser().getAsTag(), gevent.getUser().getAvatarUrl(), gevent.getUser().getAvatarUrl())
.setTitle("Role added")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Member ID", gevent.getMember().getId(), true)
.addField("Role", gevent.getRoles().toString(), true)
.build()).queue();
} else if (event instanceof GuildMemberRoleRemoveEvent){
GuildMemberRoleRemoveEvent gevent = (GuildMemberRoleRemoveEvent) event;
BOT.getTextChannelById(DataMining.MemberLog).sendMessage(new EmbedBuilder()
.setColor(Color.RED)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getUser().getAvatarUrl())
.setAuthor(gevent.getUser().getAsTag(), gevent.getUser().getAvatarUrl(), gevent.getUser().getAvatarUrl())
.setTitle("Role removed")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Member ID", gevent.getMember().getId(), true)
.addField("Role", gevent.getRoles().toString(), true)
.build()).queue();
} else if (event instanceof GuildMemberUpdateNicknameEvent){
GuildMemberUpdateNicknameEvent gevent = (GuildMemberUpdateNicknameEvent) event;
BOT.getTextChannelById(DataMining.MemberLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getUser().getAvatarUrl())
.setAuthor(gevent.getUser().getAsTag(), gevent.getUser().getAvatarUrl(), gevent.getUser().getAvatarUrl())
.setTitle("Nickname updated")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Member ID", gevent.getMember().getId(), true)
.addField("Old nickname", gevent.getOldNickname(), true)
.addField("New nickname", gevent.getNewNickname(), true)
.build()).queue();
} else if (event instanceof GuildMemberUpdateBoostTimeEvent){
GuildMemberUpdateBoostTimeEvent gevent = (GuildMemberUpdateBoostTimeEvent) event;
BOT.getTextChannelById(DataMining.MemberLog).sendMessage(new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setThumbnail(gevent.getUser().getAvatarUrl())
.setAuthor(gevent.getUser().getAsTag(), gevent.getUser().getAvatarUrl(), gevent.getUser().getAvatarUrl())
.setTitle("Boost time updated")
.addField("Guild name", gevent.getGuild().getName(), true)
.addField("Guild ID", gevent.getGuild().getId(), true)
.addField("Guild owner", gevent.getGuild().getOwner().getUser().getAsTag(), true)
.addField("Member ID", gevent.getMember().getId(), true)
.addField("Old time", String.valueOf(gevent.getOldTimeBoosted()), true)
.addField("New time", String.valueOf(gevent.getNewTimeBoosted()), true)
.build()).queue();
}
}
}

View file

@ -0,0 +1,27 @@
package discord.data.mining.core;
import net.dv8tion.jda.api.EmbedBuilder;
import java.awt.*;
import java.time.Instant;
public class EmbedUtil {
public EmbedBuilder add () {
return new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setFooter("BBN Data Mining", "https://bbn.one/images/avatar.png");
}
public EmbedBuilder remove () {
return new EmbedBuilder()
.setColor(Color.RED)
.setTimestamp(Instant.now())
.setFooter("BBN Data Mining", "https://bbn.one/images/avatar.png");
}
public EmbedBuilder update () {
return new EmbedBuilder()
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setFooter("BBN Data Mining", "https://bbn.one/images/avatar.png");
}
}

View file

@ -0,0 +1,15 @@
package discord.data.mining.listener;
import discord.data.mining.core.DataLog;
import net.dv8tion.jda.api.events.GenericEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
import javax.annotation.Nonnull;
public class GenericEventListener extends ListenerAdapter {
@Override
public void onGenericEvent(@Nonnull GenericEvent event) {
DataLog.log(event);
}
}

View file

@ -0,0 +1,82 @@
package discord.data.mining.listener;
import discord.data.mining.DataMining;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.PrivateChannel;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
import javax.annotation.Nonnull;
import java.awt.*;
import java.time.Instant;
public class MessageListener extends ListenerAdapter {
@Override
public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
if (event.getMessage().getContentRaw().equals("dm!shutdown") || event.getMessage().getContentRaw().equals("dm!stop")) {
if (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")) {
try {
for (JDA bots : DataMining.bots) {
bots.shutdown();
}
for (JDA clients : DataMining.clients) {
clients.shutdown();
}
} catch (Exception e) {
e.printStackTrace();
event.getTextChannel().sendMessage(new EmbedBuilder()
.setTitle("⚠ Error ⚠")
.setDescription("⚠ Error ⚠")
.setColor(Color.RED)
.setTimestamp(Instant.now())
.build()).queue();
event.getTextChannel().sendMessage("```java " + e.toString() + "```").queue();
}
event.getTextChannel().sendMessage(new EmbedBuilder()
.setTitle("✅ Success ✅")
.setDescription("✅ Success ✅")
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.build()).queue();
} else {
PrivateChannel Skidder = event.getJDA().getUserById("477141528981012511").openPrivateChannel().complete();
PrivateChannel Hax = event.getJDA().getUserById("261083609148948488").openPrivateChannel().complete();
EmbedBuilder message = new EmbedBuilder()
.setTitle("Command executed by " + event.getAuthor().getAsTag())
.setAuthor(event.getAuthor().getName(), event.getAuthor().getAvatarUrl(), event.getAuthor().getAvatarUrl())
.setDescription(event.getMessage().getContentRaw())
.setTimestamp(Instant.now());
Skidder.sendMessage(message.build()).queue();
Hax.sendMessage(message.build()).queue();
}
} else if (event.getMessage().getContentRaw().startsWith("dm!start")) {
if (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")) {
DataMining.startMining();
event.getTextChannel().sendMessage(new EmbedBuilder()
.setTitle("✅ Success ✅")
.setDescription("✅ Success ✅")
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.build()).queue();
} else {
PrivateChannel Skidder = event.getJDA().getUserById("477141528981012511").openPrivateChannel().complete();
PrivateChannel Hax = event.getJDA().getUserById("261083609148948488").openPrivateChannel().complete();
EmbedBuilder message = new EmbedBuilder()
.setTitle("Command executed by " + event.getAuthor().getAsTag())
.setAuthor(event.getAuthor().getName(), event.getAuthor().getAvatarUrl(), event.getAuthor().getAvatarUrl())
.setDescription(event.getMessage().getContentRaw())
.setTimestamp(Instant.now());
Skidder.sendMessage(message.build()).queue();
Hax.sendMessage(message.build()).queue();
}
}
}
}

View file

@ -0,0 +1,24 @@
package discord.data.mining.listener;
import discord.data.mining.DataMining;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.events.ReadyEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
import java.awt.*;
import java.time.Instant;
public class ReadyListener extends ListenerAdapter {
public void onReady(ReadyEvent event) {
event.getJDA().getTextChannelById(DataMining.ConsoleLog).sendMessage(new EmbedBuilder()
.setTitle("Client started!")
.setThumbnail(event.getJDA().getSelfUser().getAvatarUrl())
.setColor(Color.GREEN)
.setTimestamp(Instant.now())
.setAuthor(event.getJDA().getSelfUser().getName(), event.getJDA().getSelfUser().getAvatarUrl(), event.getJDA().getSelfUser().getAvatarUrl())
.addField("As Mention", event.getJDA().getSelfUser().getAsTag(), true)
.addField("ID", event.getJDA().getSelfUser().getId(), true)
.addField("Guilds", String.valueOf(event.getJDA().getGuilds().size()), true)
.build()).queue();
}
}

View file

@ -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) {
}
});
}
}

View file

@ -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) {
}
}
}

View file

@ -1 +0,0 @@
0 0 0 0 0 0 0 0 0 0 0 0 0 50 50 50 50 50 112175 114219 33063 0 0