From 2d07b72db176844f407eb7fc9f589a6728fe42cb Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sun, 27 Oct 2019 15:11:15 +0100 Subject: [PATCH 1/7] =?UTF-8?q?Mann,=20ich=20sitze=20in=20der=20Bahn=20und?= =?UTF-8?q?=20f=C3=BChl'=20mich=20tausendmal=20cooler?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/bbn/hadder/commands/moderation/KickCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java index 0fe8521..843899b 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java @@ -47,6 +47,6 @@ public class KickCommand implements Command { @Override public String[] labels() { - return new String[0]; + return new String[]{"kick"}; } } From b847f8371779fd6f158ba949ee6bd03c1573fa5c Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sun, 27 Oct 2019 15:13:46 +0100 Subject: [PATCH 2/7] Update Gif Command --- src/main/java/com/bbn/hadder/commands/fun/GifCommand.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java b/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java index e9ae1a6..d393613 100644 --- a/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java +++ b/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java @@ -5,6 +5,8 @@ package com.bbn.hadder.commands.fun; */ import com.bbn.hadder.commands.Command; +import com.bbn.hadder.utils.MessageEditor; +import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import okhttp3.OkHttpClient; import okhttp3.Request; @@ -48,7 +50,8 @@ public class GifCommand implements Command { url = (String) array.getJSONObject(gifIndex).get("url"); event.getTextChannel().sendMessage(url).queue(); } catch (Exception e) { - event.getTextChannel().sendMessage("Meddl Bruder. Ich hab heut leider kein gif für dich").queue(); + EmbedBuilder builder = new EmbedBuilder(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.ERROR, builder).setTitle("Error").setDescription("Please try again with another term.").build()).queue(); } } From bddbd95791a3e9ee66c809e2c2f428f37578a88b Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sun, 27 Oct 2019 15:36:25 +0100 Subject: [PATCH 3/7] Pom Version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 365a5b9..7371623 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ Hadder Hadder - 1.0-SNAPSHOT + 0.2-ALPHA Hadder From 738decf1c273c6f9fe027e6b504dfa9a0977cf51 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sun, 27 Oct 2019 16:25:46 +0100 Subject: [PATCH 4/7] Ey, du flext mit deinem Money und siehst aus wie ein Loser --- .../bbn/hadder/commands/fun/GifCommand.java | 58 ++++++++++--------- .../commands/owner/ShutdownCommand.java | 16 +---- 2 files changed, 33 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java b/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java index d393613..caf1b42 100644 --- a/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java +++ b/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java @@ -21,37 +21,43 @@ import java.nio.file.Paths; import java.util.Random; public class GifCommand implements Command { + @Override public void executed(String[] args, MessageReceivedEvent event) { - String url; - JSONArray array; - String query = ""; - for(String arg : args) { - query += arg.toLowerCase() + "+"; - query = query.substring(0, query.length()-1); - } + if (args.length > 0) { + String url; + JSONArray array; + StringBuilder query = new StringBuilder(); + for (String arg : args) { + query.append(arg.toLowerCase()).append("+"); + query = new StringBuilder(query.substring(0, query.length() - 1)); + } - File configfile = new File("./config.json"); + File configfile = new File("./config.json"); - JSONObject config = null; - try { - config = new JSONObject(new String(Files.readAllBytes(Paths.get(configfile.toURI())))); - } catch (IOException e) { - e.printStackTrace(); - } - OkHttpClient caller = new OkHttpClient(); - Request request = new Request.Builder().url("http://api.giphy.com/v1/gifs/search?q=" + query + "&api_key=" + config.getString("Giphy")).build(); - try { - Random rand = new Random(); - Response response = caller.newCall(request).execute(); - JSONObject json = new JSONObject(response.body().string()); - array = json.getJSONArray("data"); - int gifIndex = rand.nextInt(array.length()); - url = (String) array.getJSONObject(gifIndex).get("url"); - event.getTextChannel().sendMessage(url).queue(); - } catch (Exception e) { + JSONObject config = null; + try { + config = new JSONObject(new String(Files.readAllBytes(Paths.get(configfile.toURI())))); + } catch (IOException e) { + e.printStackTrace(); + } + OkHttpClient caller = new OkHttpClient(); + Request request = new Request.Builder().url("http://api.giphy.com/v1/gifs/search?q=" + query + "&api_key=" + config.getString("Giphy")).build(); + try { + Random rand = new Random(); + Response response = caller.newCall(request).execute(); + JSONObject json = new JSONObject(response.body().string()); + array = json.getJSONArray("data"); + int gifIndex = rand.nextInt(array.length()); + url = (String) array.getJSONObject(gifIndex).get("url"); + event.getTextChannel().sendMessage(url).queue(); + } catch (Exception e) { + EmbedBuilder builder = new EmbedBuilder(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.ERROR, builder).setTitle("Error").setDescription("Please try again with another term.").build()).queue(); + } + } else { EmbedBuilder builder = new EmbedBuilder(); - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.ERROR, builder).setTitle("Error").setDescription("Please try again with another term.").build()).queue(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to write at least one search term!").build()).queue(); } } diff --git a/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java b/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java index 6c40c8c..926ad15 100644 --- a/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java +++ b/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java @@ -4,25 +4,11 @@ package com.bbn.hadder.commands.owner; * @author Skidder / GregTCLTK */ -import com.bbn.hadder.Hadder; -import com.bbn.hadder.Rethink; import com.bbn.hadder.commands.Command; import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.EmbedBuilder; -import net.dv8tion.jda.api.JDA; -import net.dv8tion.jda.api.JDABuilder; -import net.dv8tion.jda.api.OnlineStatus; -import net.dv8tion.jda.api.entities.Activity; -import net.dv8tion.jda.api.events.message.MessageReceivedEvent; -import net.dv8tion.jda.api.hooks.ListenerAdapter; -import org.json.JSONObject; -import javax.annotation.Nonnull; -import javax.security.auth.login.LoginException; -import java.io.File; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Paths; +import net.dv8tion.jda.api.events.message.MessageReceivedEvent; public class ShutdownCommand implements Command { @Override From 7ea6c4d9b4ba3c4ff0f367fff5ba4e08a404df4b Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sun, 27 Oct 2019 22:05:25 +0100 Subject: [PATCH 5/7] Update Hadder.java --- src/main/java/com/bbn/hadder/Hadder.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java index bde7d09..157d555 100644 --- a/src/main/java/com/bbn/hadder/Hadder.java +++ b/src/main/java/com/bbn/hadder/Hadder.java @@ -38,8 +38,7 @@ public class Hadder { e.printStackTrace(); } - Rethink.connect(); - + Rethink.connect(); DefaultShardManagerBuilder builder = new DefaultShardManagerBuilder(); From 8e18cff02d8384bba6d239147a0bae0a684fbbe5 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Mon, 28 Oct 2019 19:10:10 +0100 Subject: [PATCH 6/7] Clear Command and other stuff --- pom.xml | 2 +- src/main/java/com/bbn/hadder/Hadder.java | 5 +- .../bbn/hadder/commands/fun/GifCommand.java | 6 +- .../commands/moderation/ClearCommand.java | 62 +++++++++++++++++++ 4 files changed, 67 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java diff --git a/pom.xml b/pom.xml index 7371623..b6536b8 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ Hadder Hadder - 0.2-ALPHA + 0.3-ALPHA Hadder diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java index 157d555..56b18f0 100644 --- a/src/main/java/com/bbn/hadder/Hadder.java +++ b/src/main/java/com/bbn/hadder/Hadder.java @@ -3,8 +3,7 @@ package com.bbn.hadder; import com.bbn.hadder.commands.TestCommand; import com.bbn.hadder.commands.fun.GifCommand; import com.bbn.hadder.commands.general.PingCommand; -import com.bbn.hadder.commands.moderation.BanCommand; -import com.bbn.hadder.commands.moderation.KickCommand; +import com.bbn.hadder.commands.moderation.*; import com.bbn.hadder.commands.owner.ShutdownCommand; import com.bbn.hadder.commands.settings.PrefixCommand; import com.bbn.hadder.core.CommandHandler; @@ -47,7 +46,7 @@ public class Hadder { builder.setToken(config.getString("Token")); - CommandHandler.cmdlist.addAll(List.of(new TestCommand(), new BanCommand(), new PrefixCommand(), new ShutdownCommand(), new KickCommand(), new PingCommand(), new GifCommand())); + CommandHandler.cmdlist.addAll(List.of(new TestCommand(), new BanCommand(), new PrefixCommand(), new ShutdownCommand(), new KickCommand(), new PingCommand(), new GifCommand(), new ClearCommand())); builder.addEventListeners( new MentionListener(), diff --git a/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java b/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java index caf1b42..cbcd8fe 100644 --- a/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java +++ b/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java @@ -25,8 +25,6 @@ public class GifCommand implements Command { @Override public void executed(String[] args, MessageReceivedEvent event) { if (args.length > 0) { - String url; - JSONArray array; StringBuilder query = new StringBuilder(); for (String arg : args) { query.append(arg.toLowerCase()).append("+"); @@ -47,9 +45,9 @@ public class GifCommand implements Command { Random rand = new Random(); Response response = caller.newCall(request).execute(); JSONObject json = new JSONObject(response.body().string()); - array = json.getJSONArray("data"); + JSONArray array = json.getJSONArray("data"); int gifIndex = rand.nextInt(array.length()); - url = (String) array.getJSONObject(gifIndex).get("url"); + String url = array.getJSONObject(gifIndex).get("url").toString(); event.getTextChannel().sendMessage(url).queue(); } catch (Exception e) { EmbedBuilder builder = new EmbedBuilder(); diff --git a/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java new file mode 100644 index 0000000..58059e7 --- /dev/null +++ b/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java @@ -0,0 +1,62 @@ +package com.bbn.hadder.commands.moderation; + +/* + * @author Skidder / GregTCLTK + */ + +import com.bbn.hadder.commands.Command; +import com.bbn.hadder.utils.MessageEditor; +import net.dv8tion.jda.api.EmbedBuilder; +import net.dv8tion.jda.api.Permission; +import net.dv8tion.jda.api.entities.Message; +import net.dv8tion.jda.api.events.message.MessageReceivedEvent; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +import static java.time.temporal.ChronoUnit.DAYS; + +public class ClearCommand implements Command { + + @Override + public void executed(String[] args, MessageReceivedEvent event) { + if (args.length > 0) { + if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.MESSAGE_MANAGE) || event.getGuild().getOwnerId().equals(event.getAuthor().getId())) { + if (event.getGuild().getMemberById(event.getJDA().getSelfUser().getId()).hasPermission(Permission.MESSAGE_MANAGE)) { + try { + int nbToDelete = Integer.parseInt(args[0]); + if(nbToDelete < 1 || nbToDelete > 200) { + EmbedBuilder builder = new EmbedBuilder(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to choose a number between 1 and 200!").build()).queue(); + return; + } + List history = event.getTextChannel().getHistory().retrievePast(nbToDelete +1).complete(); + List msgToDelete = new ArrayList<>(); + msgToDelete.addAll(history); + event.getTextChannel().deleteMessages(msgToDelete).queue(); + EmbedBuilder builder = new EmbedBuilder(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).setDescription("Successfully deleted " + nbToDelete + " messages.").build()).queue(); + } catch (NumberFormatException e) { + EmbedBuilder builder = new EmbedBuilder(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to specify a number!").build()).queue(); + } + } else { + EmbedBuilder builder = new EmbedBuilder(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.NO_SELF_PERMISSION, builder).build()).queue(); + } + } else { + EmbedBuilder builder = new EmbedBuilder(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.NO_PERMISSION, builder).build()).queue(); + } + } else { + EmbedBuilder builder = new EmbedBuilder(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to specify a number!").build()).queue(); + } + } + + @Override + public String[] labels() { + return new String[]{"clear"}; + } +} From a0478a0ba9dbc28bb4c9a2c7b94b44102a86405c Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Mon, 28 Oct 2019 19:13:11 +0100 Subject: [PATCH 7/7] fix --- src/main/java/com/bbn/hadder/Hadder.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java index bb7f51f..6f315ed 100644 --- a/src/main/java/com/bbn/hadder/Hadder.java +++ b/src/main/java/com/bbn/hadder/Hadder.java @@ -52,8 +52,6 @@ public class Hadder { new MentionListener(), new PrivateMessageListener(), new CommandListener(), - new GuildJoinListener(), - new GuildLeaveListener(), new GuildListener(), new ReadyListener());