From c830cab0edb35b25079e2ee826595f4c4cc9000f Mon Sep 17 00:00:00 2001 From: Hax Date: Sun, 27 Oct 2019 12:02:29 +0100 Subject: [PATCH 1/4] Updated Commands --- src/main/java/com/bbn/hadder/Hadder.java | 9 +++------ src/main/java/com/bbn/hadder/commands/Command.java | 1 + .../java/com/bbn/hadder/commands/TestCommand.java | 5 +++++ .../bbn/hadder/commands/moderation/BanCommand.java | 5 +++++ .../bbn/hadder/commands/owner/ShutdownCommand.java | 11 ++++++++++- .../bbn/hadder/commands/settings/PrefixCommand.java | 5 +++++ .../java/com/bbn/hadder/core/CommandHandler.java | 12 +++++++----- 7 files changed, 36 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java index efc253e..5cf43e6 100644 --- a/src/main/java/com/bbn/hadder/Hadder.java +++ b/src/main/java/com/bbn/hadder/Hadder.java @@ -17,6 +17,7 @@ import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; +import java.util.List; public class Hadder { @@ -44,12 +45,8 @@ public class Hadder { builder.setActivity(Activity.streaming("auf dem BigBotNetwork", "https://twitch.tv/BigBotNetwork")); builder.setToken(config.getString("Token")); - CommandHandler.cmdlist.put("test", new TestCommand()); - CommandHandler.cmdlist.put("ban", new BanCommand()); - CommandHandler.cmdlist.put("prefix", new PrefixCommand()); - CommandHandler.cmdlist.put("stop", new ShutdownCommand()); - CommandHandler.cmdlist.put("shutdown", new ShutdownCommand()); - CommandHandler.cmdlist.put("kick", new KickCommand()); + + CommandHandler.cmdlist.addAll(List.of(new TestCommand(), new BanCommand(), new PrefixCommand(), new ShutdownCommand(), new KickCommand())); builder.addEventListeners( new MentionListener(), diff --git a/src/main/java/com/bbn/hadder/commands/Command.java b/src/main/java/com/bbn/hadder/commands/Command.java index 95b1468..fcb46df 100644 --- a/src/main/java/com/bbn/hadder/commands/Command.java +++ b/src/main/java/com/bbn/hadder/commands/Command.java @@ -8,4 +8,5 @@ import net.dv8tion.jda.api.events.message.MessageReceivedEvent; public interface Command { void executed(String[] args, MessageReceivedEvent event); + String[] labels(); } diff --git a/src/main/java/com/bbn/hadder/commands/TestCommand.java b/src/main/java/com/bbn/hadder/commands/TestCommand.java index 4fd5742..d31867a 100644 --- a/src/main/java/com/bbn/hadder/commands/TestCommand.java +++ b/src/main/java/com/bbn/hadder/commands/TestCommand.java @@ -11,4 +11,9 @@ public class TestCommand implements Command { public void executed(String[] args, MessageReceivedEvent event) { event.getTextChannel().sendMessage("TEST my friends").queue(); } + + @Override + public String[] labels() { + return new String[]{"test"}; + } } diff --git a/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java index 6d1e8f6..c2cd496 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java @@ -48,4 +48,9 @@ public class BanCommand implements Command { event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.NO_PERMISSION, builder).build()).queue(); } } + + @Override + public String[] labels() { + return new String[]{"ban"}; + } } 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 aea13fc..f01a06f 100644 --- a/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java +++ b/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java @@ -16,11 +16,20 @@ public class ShutdownCommand implements Command { if (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")) { EmbedBuilder builder = new EmbedBuilder(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).setTitle("Shutdown").build()).queue(); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } event.getJDA().shutdown(); - Rethink.disconnect(); } else { EmbedBuilder builder = new EmbedBuilder(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.NO_PERMISSION, builder).build()).queue(); } } + + @Override + public String[] labels() { + return new String[]{"shutdown"}; + } } diff --git a/src/main/java/com/bbn/hadder/commands/settings/PrefixCommand.java b/src/main/java/com/bbn/hadder/commands/settings/PrefixCommand.java index d72a6c5..86bfbca 100644 --- a/src/main/java/com/bbn/hadder/commands/settings/PrefixCommand.java +++ b/src/main/java/com/bbn/hadder/commands/settings/PrefixCommand.java @@ -36,4 +36,9 @@ public class PrefixCommand implements Command { event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.NO_PERMISSION, builder).build()).queue(); } } + + @Override + public String[] labels() { + return new String[]{"prefix"}; + } } diff --git a/src/main/java/com/bbn/hadder/core/CommandHandler.java b/src/main/java/com/bbn/hadder/core/CommandHandler.java index 902cc90..91c6e67 100644 --- a/src/main/java/com/bbn/hadder/core/CommandHandler.java +++ b/src/main/java/com/bbn/hadder/core/CommandHandler.java @@ -6,16 +6,18 @@ package com.bbn.hadder.core; import com.bbn.hadder.commands.Command; -import java.util.HashMap; +import java.util.ArrayList; public class CommandHandler { - public static HashMap cmdlist = new HashMap<>(); + public static ArrayList cmdlist = new ArrayList<>(); public static void handleCommand(CommandParser.commandContainer cmd) { - if(cmdlist.containsKey(cmd.invoke)) { - cmdlist.get(cmd.invoke).executed(cmd.args, cmd.event); - } + for (Command command : cmdlist) { + for (String label : command.labels()) { + if (label.equals(cmd.invoke)) command.executed(cmd.args, cmd.event); + } + } } } From 2f0f2e4e815663dad4316a13366562b2c006fba3 Mon Sep 17 00:00:00 2001 From: Hax Date: Sun, 27 Oct 2019 12:06:21 +0100 Subject: [PATCH 2/4] Fixed Kick Command --- .../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 949de38..fa392f4 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 02a529cc32506efc60962a82f9d8bf2f5b1224c3 Mon Sep 17 00:00:00 2001 From: Hax Date: Sun, 27 Oct 2019 12:31:40 +0100 Subject: [PATCH 3/4] Shut the frick down --- .../commands/owner/ShutdownCommand.java | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) 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 f01a06f..6c40c8c 100644 --- a/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java +++ b/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java @@ -4,11 +4,25 @@ 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; public class ShutdownCommand implements Command { @Override @@ -16,12 +30,9 @@ public class ShutdownCommand implements Command { if (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")) { EmbedBuilder builder = new EmbedBuilder(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).setTitle("Shutdown").build()).queue(); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - event.getJDA().shutdown(); + event.getJDA().getShardManager().shutdown(); + System.out.println("Bot shut down via Command..."); + System.exit(0); } else { EmbedBuilder builder = new EmbedBuilder(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.NO_PERMISSION, builder).build()).queue(); From 8daa901eebaaaa5ff47ea2f7431d4d547c333bbe Mon Sep 17 00:00:00 2001 From: Hax Date: Sun, 27 Oct 2019 15:03:34 +0100 Subject: [PATCH 4/4] =?UTF-8?q?Fahr=20mit=20dem=20Cityroller=20vor=20bei?= =?UTF-8?q?=20deiner=20schei=C3=9F=20party?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/bbn/hadder/commands/general/PingCommand.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/bbn/hadder/commands/general/PingCommand.java b/src/main/java/com/bbn/hadder/commands/general/PingCommand.java index d155efc..516ba98 100644 --- a/src/main/java/com/bbn/hadder/commands/general/PingCommand.java +++ b/src/main/java/com/bbn/hadder/commands/general/PingCommand.java @@ -14,7 +14,9 @@ public class PingCommand implements Command { @Override public void executed(String[] args, MessageReceivedEvent event) { EmbedBuilder builder = new EmbedBuilder(); - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).setTitle("Ping").setDescription("0").build()).queue(); + event.getJDA().getRestPing().queue(ping -> { + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).setTitle("Ping").setDescription(String.valueOf(ping)).build()).queue(); + }); } @Override