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 7065fe3..6f315ed 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,14 +46,12 @@ 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(),
new PrivateMessageListener(),
new CommandListener(),
- new GuildJoinListener(),
- new GuildLeaveListener(),
new GuildListener(),
new ReadyListener());
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"};
+ }
+}