From 8c5dd3b32079ca1391c532afa58d47913996e1f3 Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Sat, 12 Nov 2016 20:14:16 +0100 Subject: [PATCH 01/16] Improved help and actually added it to cmds --- .../discordplugin/CommandListener.java | 14 +++++++++---- .../commands/ConnectCommand.java | 9 ++++++++ .../commands/DiscordCommandBase.java | 7 +++++-- .../discordplugin/commands/HelpCommand.java | 21 +++++++++++++++++-- .../commands/UserinfoCommand.java | 9 ++++++++ 5 files changed, 52 insertions(+), 8 deletions(-) diff --git a/src/main/java/buttondevteam/discordplugin/CommandListener.java b/src/main/java/buttondevteam/discordplugin/CommandListener.java index 724d9f1..054394d 100644 --- a/src/main/java/buttondevteam/discordplugin/CommandListener.java +++ b/src/main/java/buttondevteam/discordplugin/CommandListener.java @@ -36,10 +36,16 @@ public class CommandListener { String cmdwithargs = message.getContent(); final String mention = DiscordPlugin.dc.getOurUser().mention(false); final String mentionNick = DiscordPlugin.dc.getOurUser().mention(true); - if (message.getContent().startsWith(mention) && cmdwithargs.length() > mention.length() + 1) // TODO: Resolve mentions: Compound arguments, either a mention or text - cmdwithargs = cmdwithargs.substring(mention.length() + 1); - if (message.getContent().startsWith(mentionNick) && cmdwithargs.length() > mentionNick.length() + 1) - cmdwithargs = cmdwithargs.substring(mentionNick.length() + 1); + if (message.getContent().startsWith(mention)) // TODO: Resolve mentions: Compound arguments, either a mention or text + if (cmdwithargs.length() > mention.length() + 1) + cmdwithargs = cmdwithargs.substring(mention.length() + 1); + else + cmdwithargs = "help"; + if (message.getContent().startsWith(mentionNick)) + if (cmdwithargs.length() > mentionNick.length() + 1) + cmdwithargs = cmdwithargs.substring(mentionNick.length() + 1); + else + cmdwithargs = "help"; int index = cmdwithargs.indexOf(' '); String cmd; String args; diff --git a/src/main/java/buttondevteam/discordplugin/commands/ConnectCommand.java b/src/main/java/buttondevteam/discordplugin/commands/ConnectCommand.java index a2b149d..09f3fbf 100644 --- a/src/main/java/buttondevteam/discordplugin/commands/ConnectCommand.java +++ b/src/main/java/buttondevteam/discordplugin/commands/ConnectCommand.java @@ -65,4 +65,13 @@ public class ConnectCommand extends DiscordCommandBase { + message.getAuthor().getDiscriminator() + " do /discord accept"); } + @Override + public String[] getHelpText() { + return new String[] { // + "---- Connect command ----", // + "This commands let's you connect your acoount with a Minecraft account. This'd allow using the Minecraft chat and other things.", // + "Usage: connect " // + }; + } + } diff --git a/src/main/java/buttondevteam/discordplugin/commands/DiscordCommandBase.java b/src/main/java/buttondevteam/discordplugin/commands/DiscordCommandBase.java index 3e52cb3..df1846c 100644 --- a/src/main/java/buttondevteam/discordplugin/commands/DiscordCommandBase.java +++ b/src/main/java/buttondevteam/discordplugin/commands/DiscordCommandBase.java @@ -10,19 +10,22 @@ public abstract class DiscordCommandBase { public abstract String getCommandName(); public abstract void run(IMessage message, String args); + + public abstract String[] getHelpText(); static final HashMap commands = new HashMap(); static { commands.put("connect", new ConnectCommand()); // TODO: API for adding commands? commands.put("userinfo", new UserinfoCommand()); + commands.put("help", new HelpCommand()); } public static void runCommand(String cmd, String args, IMessage message) { DiscordCommandBase command = commands.get(cmd); if (command == null) { - // TODO: Help command - DiscordPlugin.sendMessageToChannel(message.getChannel(), "Unknown command: " + cmd + " with args: " + args); + DiscordPlugin.sendMessageToChannel(message.getChannel(), + "Unknown command: " + cmd + " with args: " + args + "\nDo @ChromaBot help for help"); return; } try { diff --git a/src/main/java/buttondevteam/discordplugin/commands/HelpCommand.java b/src/main/java/buttondevteam/discordplugin/commands/HelpCommand.java index 4c02475..f4b1cb5 100644 --- a/src/main/java/buttondevteam/discordplugin/commands/HelpCommand.java +++ b/src/main/java/buttondevteam/discordplugin/commands/HelpCommand.java @@ -1,5 +1,6 @@ package buttondevteam.discordplugin.commands; +import java.util.Arrays; import java.util.stream.Collectors; import buttondevteam.discordplugin.DiscordPlugin; @@ -14,8 +15,24 @@ public class HelpCommand extends DiscordCommandBase { @Override public void run(IMessage message, String args) { - DiscordPlugin.sendMessageToChannel(message.getChannel(), "Available commands:\n" + DiscordCommandBase.commands - .values().stream().map(dc -> dc.getCommandName()).collect(Collectors.joining("\n"))); + DiscordCommandBase argdc; + if (args.length() == 0) + DiscordPlugin.sendMessageToChannel(message.getChannel(), + "Available commands:\n" + DiscordCommandBase.commands.values().stream() + .map(dc -> dc.getCommandName()).collect(Collectors.joining("\n"))); + else + DiscordPlugin.sendMessageToChannel(message.getChannel(), + (argdc = DiscordCommandBase.commands.get(args)) == null ? "Command not found: " + args + : Arrays.stream(argdc.getHelpText()).collect(Collectors.joining("\n"))); + } + + @Override + public String[] getHelpText() { + return new String[] { // + "---- Help command ----", // + "Shows some info about a command or lists the available commands.", // + "Usage: help [command]"// + }; } } diff --git a/src/main/java/buttondevteam/discordplugin/commands/UserinfoCommand.java b/src/main/java/buttondevteam/discordplugin/commands/UserinfoCommand.java index e1fd59d..45de66a 100644 --- a/src/main/java/buttondevteam/discordplugin/commands/UserinfoCommand.java +++ b/src/main/java/buttondevteam/discordplugin/commands/UserinfoCommand.java @@ -82,4 +82,13 @@ public class UserinfoCommand extends DiscordCommandBase { "The user is not found in our system (player has to be on the MC server for now)!"); } + @Override + public String[] getHelpText() { + return new String[] { // + "---- User information ----", // + "Shows some information about users, from Discord, from Minecraft or from Reddit if they have these accounts connected.", // + "Usage: userinfo " // + }; + } + } From f665d1c8b94d5f0929fe8b57a99eab427258fa4b Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Mon, 14 Nov 2016 17:41:55 +0100 Subject: [PATCH 02/16] Fixed NPE in userinfo --- .../commands/UserinfoCommand.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/main/java/buttondevteam/discordplugin/commands/UserinfoCommand.java b/src/main/java/buttondevteam/discordplugin/commands/UserinfoCommand.java index 45de66a..7e76975 100644 --- a/src/main/java/buttondevteam/discordplugin/commands/UserinfoCommand.java +++ b/src/main/java/buttondevteam/discordplugin/commands/UserinfoCommand.java @@ -31,7 +31,7 @@ public class UserinfoCommand extends DiscordCommandBase { target = message.getMentions().get(0); else if (args.contains("#")) { String[] targettag = args.split("#"); - final List targets = message.getGuild().getUsersByName(targettag[0], true); + final List targets = getUsers(message, args); if (targets.size() == 0) { DiscordPlugin.sendMessageToChannel(message.getChannel(), "The user cannot be found (by name): " + args); return; @@ -48,12 +48,7 @@ public class UserinfoCommand extends DiscordCommandBase { return; } } else { - final List targets; - if (message.getChannel().isPrivate()) - targets = DiscordPlugin.dc.getUsers().stream().filter(u -> u.getName().equalsIgnoreCase(args)) - .collect(Collectors.toList()); - else - targets = message.getGuild().getUsersByName(args, true); + final List targets = getUsers(message, args); if (targets.size() == 0) { DiscordPlugin.sendMessageToChannel(message.getChannel(), "The user cannot be found on Discord: " + args); @@ -82,6 +77,16 @@ public class UserinfoCommand extends DiscordCommandBase { "The user is not found in our system (player has to be on the MC server for now)!"); } + private List getUsers(IMessage message, String args) { + final List targets; + if (message.getChannel().isPrivate()) + targets = DiscordPlugin.dc.getUsers().stream().filter(u -> u.getName().equalsIgnoreCase(args)) + .collect(Collectors.toList()); + else + targets = message.getGuild().getUsersByName(args, true); + return targets; + } + @Override public String[] getHelpText() { return new String[] { // From ce9e2987b3565c5429c1fd0cb9bdc98f3ea894df Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Mon, 14 Nov 2016 18:06:54 +0100 Subject: [PATCH 03/16] Added typing and test --- .../java/buttondevteam/discordplugin/CommandListener.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/buttondevteam/discordplugin/CommandListener.java b/src/main/java/buttondevteam/discordplugin/CommandListener.java index 054394d..5a00518 100644 --- a/src/main/java/buttondevteam/discordplugin/CommandListener.java +++ b/src/main/java/buttondevteam/discordplugin/CommandListener.java @@ -1,5 +1,7 @@ package buttondevteam.discordplugin; +import org.bukkit.Bukkit; + import buttondevteam.discordplugin.commands.DiscordCommandBase; import sx.blah.discord.api.events.IListener; import sx.blah.discord.handle.impl.events.MentionEvent; @@ -23,6 +25,8 @@ public class CommandListener { }, new IListener() { @Override public void handle(MessageReceivedEvent event) { + if (event.getMessage().getChannel().getID().equals("219626707458457603")) + Bukkit.getLogger().info("Message in dev: " + event.getMessage().getContent()); if (!event.getMessage().getChannel().isPrivate()) return; if (event.getMessage().getAuthor().isBot()) @@ -33,6 +37,7 @@ public class CommandListener { } private static void runCommand(IMessage message) { + message.getChannel().setTypingStatus(true); String cmdwithargs = message.getContent(); final String mention = DiscordPlugin.dc.getOurUser().mention(false); final String mentionNick = DiscordPlugin.dc.getOurUser().mention(true); @@ -57,5 +62,6 @@ public class CommandListener { args = cmdwithargs.substring(index + 1); } DiscordCommandBase.runCommand(cmd, args, message); + message.getChannel().setTypingStatus(false); } } From 3066271c0e3beb4a5febcee7db8a930b7b8909a5 Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Mon, 14 Nov 2016 19:20:46 +0100 Subject: [PATCH 04/16] Removed thingy and hopefully triggered it --- src/main/java/buttondevteam/discordplugin/CommandListener.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/buttondevteam/discordplugin/CommandListener.java b/src/main/java/buttondevteam/discordplugin/CommandListener.java index 5a00518..09ef36c 100644 --- a/src/main/java/buttondevteam/discordplugin/CommandListener.java +++ b/src/main/java/buttondevteam/discordplugin/CommandListener.java @@ -25,8 +25,6 @@ public class CommandListener { }, new IListener() { @Override public void handle(MessageReceivedEvent event) { - if (event.getMessage().getChannel().getID().equals("219626707458457603")) - Bukkit.getLogger().info("Message in dev: " + event.getMessage().getContent()); if (!event.getMessage().getChannel().isPrivate()) return; if (event.getMessage().getAuthor().isBot()) From 6ef68823357f7b1b4d21e0390873967e5bfe7856 Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Mon, 14 Nov 2016 19:26:37 +0100 Subject: [PATCH 05/16] Checking for attachments --- .../java/buttondevteam/discordplugin/CommandListener.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/buttondevteam/discordplugin/CommandListener.java b/src/main/java/buttondevteam/discordplugin/CommandListener.java index 09ef36c..6561107 100644 --- a/src/main/java/buttondevteam/discordplugin/CommandListener.java +++ b/src/main/java/buttondevteam/discordplugin/CommandListener.java @@ -1,5 +1,7 @@ package buttondevteam.discordplugin; +import java.util.stream.Collectors; + import org.bukkit.Bukkit; import buttondevteam.discordplugin.commands.DiscordCommandBase; @@ -25,6 +27,10 @@ public class CommandListener { }, new IListener() { @Override public void handle(MessageReceivedEvent event) { + if (event.getMessage().getChannel().getID().equals("219626707458457603")) + Bukkit.getLogger().info("Attachment in dev: " + event.getMessage().getAttachments().stream().map( + a -> a.getFilename() + " - " + a.getFilesize() + " - " + a.getId() + " - " + a.getUrl()) + .collect(Collectors.joining(", "))); if (!event.getMessage().getChannel().isPrivate()) return; if (event.getMessage().getAuthor().isBot()) From 0839dbba73f39f5c7366f492b83194b5099db7cd Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Mon, 14 Nov 2016 19:29:30 +0100 Subject: [PATCH 06/16] Remove and test --- .../java/buttondevteam/discordplugin/CommandListener.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main/java/buttondevteam/discordplugin/CommandListener.java b/src/main/java/buttondevteam/discordplugin/CommandListener.java index 6561107..62c98cf 100644 --- a/src/main/java/buttondevteam/discordplugin/CommandListener.java +++ b/src/main/java/buttondevteam/discordplugin/CommandListener.java @@ -27,10 +27,6 @@ public class CommandListener { }, new IListener() { @Override public void handle(MessageReceivedEvent event) { - if (event.getMessage().getChannel().getID().equals("219626707458457603")) - Bukkit.getLogger().info("Attachment in dev: " + event.getMessage().getAttachments().stream().map( - a -> a.getFilename() + " - " + a.getFilesize() + " - " + a.getId() + " - " + a.getUrl()) - .collect(Collectors.joining(", "))); if (!event.getMessage().getChannel().isPrivate()) return; if (event.getMessage().getAuthor().isBot()) From ec43d3925753b2d4ea30ac5abb570fc66623822a Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Mon, 14 Nov 2016 19:33:29 +0100 Subject: [PATCH 07/16] Testing for embeds --- .../java/buttondevteam/discordplugin/CommandListener.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/buttondevteam/discordplugin/CommandListener.java b/src/main/java/buttondevteam/discordplugin/CommandListener.java index 62c98cf..31b5f69 100644 --- a/src/main/java/buttondevteam/discordplugin/CommandListener.java +++ b/src/main/java/buttondevteam/discordplugin/CommandListener.java @@ -27,6 +27,12 @@ public class CommandListener { }, new IListener() { @Override public void handle(MessageReceivedEvent event) { + if (event.getMessage().getChannel().getID().equals("219626707458457603")) + Bukkit.getLogger().info("Embedded in dev: " + event.getMessage().getEmbedded().stream() + .map(a -> a.getDescription() + " - " + a.getThumbnail() + " - " + a.getTitle() + " - " + + a.getType() + " - " + a.getUrl() + " - " + a.getEmbedProvider().getName() + " - " + + a.getEmbedProvider().getUrl()) + .collect(Collectors.joining(", "))); if (!event.getMessage().getChannel().isPrivate()) return; if (event.getMessage().getAuthor().isBot()) From eaf74d9d8313cb7efc25c4fa580e5e79ed3591fe Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Mon, 14 Nov 2016 19:36:24 +0100 Subject: [PATCH 08/16] Remove to test --- .../java/buttondevteam/discordplugin/CommandListener.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/main/java/buttondevteam/discordplugin/CommandListener.java b/src/main/java/buttondevteam/discordplugin/CommandListener.java index 31b5f69..62c98cf 100644 --- a/src/main/java/buttondevteam/discordplugin/CommandListener.java +++ b/src/main/java/buttondevteam/discordplugin/CommandListener.java @@ -27,12 +27,6 @@ public class CommandListener { }, new IListener() { @Override public void handle(MessageReceivedEvent event) { - if (event.getMessage().getChannel().getID().equals("219626707458457603")) - Bukkit.getLogger().info("Embedded in dev: " + event.getMessage().getEmbedded().stream() - .map(a -> a.getDescription() + " - " + a.getThumbnail() + " - " + a.getTitle() + " - " - + a.getType() + " - " + a.getUrl() + " - " + a.getEmbedProvider().getName() + " - " - + a.getEmbedProvider().getUrl()) - .collect(Collectors.joining(", "))); if (!event.getMessage().getChannel().isPrivate()) return; if (event.getMessage().getAuthor().isBot()) From c22fdeac498a691318f8f26cd842873d326a622e Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Mon, 14 Nov 2016 19:37:45 +0100 Subject: [PATCH 09/16] Added back and changed --- .../java/buttondevteam/discordplugin/CommandListener.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/buttondevteam/discordplugin/CommandListener.java b/src/main/java/buttondevteam/discordplugin/CommandListener.java index 62c98cf..d32f4f4 100644 --- a/src/main/java/buttondevteam/discordplugin/CommandListener.java +++ b/src/main/java/buttondevteam/discordplugin/CommandListener.java @@ -27,6 +27,11 @@ public class CommandListener { }, new IListener() { @Override public void handle(MessageReceivedEvent event) { + if (event.getMessage().getChannel().getID().equals("219626707458457603")) + Bukkit.getLogger().info("Embedded in dev: " + event.getMessage().getEmbedded().stream() + .map(a -> a.getDescription() + " - " + a.getThumbnail() + " - " + a.getTitle() + " - " + + a.getType() + " - " + a.getUrl()) + .collect(Collectors.joining(", "))); if (!event.getMessage().getChannel().isPrivate()) return; if (event.getMessage().getAuthor().isBot()) From 1871dfbb2f1e830db42286191aa209a28250496c Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Mon, 14 Nov 2016 19:40:29 +0100 Subject: [PATCH 10/16] Testing again --- .../java/buttondevteam/discordplugin/CommandListener.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/main/java/buttondevteam/discordplugin/CommandListener.java b/src/main/java/buttondevteam/discordplugin/CommandListener.java index d32f4f4..62c98cf 100644 --- a/src/main/java/buttondevteam/discordplugin/CommandListener.java +++ b/src/main/java/buttondevteam/discordplugin/CommandListener.java @@ -27,11 +27,6 @@ public class CommandListener { }, new IListener() { @Override public void handle(MessageReceivedEvent event) { - if (event.getMessage().getChannel().getID().equals("219626707458457603")) - Bukkit.getLogger().info("Embedded in dev: " + event.getMessage().getEmbedded().stream() - .map(a -> a.getDescription() + " - " + a.getThumbnail() + " - " + a.getTitle() + " - " - + a.getType() + " - " + a.getUrl()) - .collect(Collectors.joining(", "))); if (!event.getMessage().getChannel().isPrivate()) return; if (event.getMessage().getAuthor().isBot()) From 0ff139928b9754d717711400baae05974d3ecd28 Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Tue, 15 Nov 2016 20:46:36 +0100 Subject: [PATCH 11/16] Added support for role mentions After a while of trying to test it locally while my PC is already busy, I decided on continuing to test in production. This is alpha stage afterall. --- .../discordplugin/CommandListener.java | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/main/java/buttondevteam/discordplugin/CommandListener.java b/src/main/java/buttondevteam/discordplugin/CommandListener.java index 62c98cf..ce08bd5 100644 --- a/src/main/java/buttondevteam/discordplugin/CommandListener.java +++ b/src/main/java/buttondevteam/discordplugin/CommandListener.java @@ -1,9 +1,5 @@ package buttondevteam.discordplugin; -import java.util.stream.Collectors; - -import org.bukkit.Bukkit; - import buttondevteam.discordplugin.commands.DiscordCommandBase; import sx.blah.discord.api.events.IListener; import sx.blah.discord.handle.impl.events.MentionEvent; @@ -41,16 +37,10 @@ public class CommandListener { String cmdwithargs = message.getContent(); final String mention = DiscordPlugin.dc.getOurUser().mention(false); final String mentionNick = DiscordPlugin.dc.getOurUser().mention(true); - if (message.getContent().startsWith(mention)) // TODO: Resolve mentions: Compound arguments, either a mention or text - if (cmdwithargs.length() > mention.length() + 1) - cmdwithargs = cmdwithargs.substring(mention.length() + 1); - else - cmdwithargs = "help"; - if (message.getContent().startsWith(mentionNick)) - if (cmdwithargs.length() > mentionNick.length() + 1) - cmdwithargs = cmdwithargs.substring(mentionNick.length() + 1); - else - cmdwithargs = "help"; + checkanddeletemention(cmdwithargs, mention, message); + checkanddeletemention(cmdwithargs, mentionNick, message); + for (String mentionRole : (Iterable) message.getRoleMentions().stream().map(r -> r.mention())::iterator) + cmdwithargs = checkanddeletemention(cmdwithargs, mentionRole, message); int index = cmdwithargs.indexOf(' '); String cmd; String args; @@ -64,4 +54,14 @@ public class CommandListener { DiscordCommandBase.runCommand(cmd, args, message); message.getChannel().setTypingStatus(false); } + + private static String checkanddeletemention(String cmdwithargs, String mention, IMessage message) { + if (message.getContent().startsWith(mention)) // TODO: Resolve mentions: Compound arguments, either a mention or text + if (cmdwithargs.length() > mention.length() + 1) + cmdwithargs = cmdwithargs.substring( + cmdwithargs.charAt(mention.length() + 1) == ' ' ? mention.length() + 1 : mention.length()); + else + cmdwithargs = "help"; + return cmdwithargs; + } } From 714c4c3de259cc8043f46c8c231b625f7ef832ed Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Tue, 15 Nov 2016 21:05:18 +0100 Subject: [PATCH 12/16] Fixed some issues --- .../java/buttondevteam/discordplugin/CommandListener.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/buttondevteam/discordplugin/CommandListener.java b/src/main/java/buttondevteam/discordplugin/CommandListener.java index ce08bd5..c5f1b81 100644 --- a/src/main/java/buttondevteam/discordplugin/CommandListener.java +++ b/src/main/java/buttondevteam/discordplugin/CommandListener.java @@ -37,8 +37,8 @@ public class CommandListener { String cmdwithargs = message.getContent(); final String mention = DiscordPlugin.dc.getOurUser().mention(false); final String mentionNick = DiscordPlugin.dc.getOurUser().mention(true); - checkanddeletemention(cmdwithargs, mention, message); - checkanddeletemention(cmdwithargs, mentionNick, message); + cmdwithargs = checkanddeletemention(cmdwithargs, mention, message); + cmdwithargs = checkanddeletemention(cmdwithargs, mentionNick, message); for (String mentionRole : (Iterable) message.getRoleMentions().stream().map(r -> r.mention())::iterator) cmdwithargs = checkanddeletemention(cmdwithargs, mentionRole, message); int index = cmdwithargs.indexOf(' '); @@ -62,6 +62,8 @@ public class CommandListener { cmdwithargs.charAt(mention.length() + 1) == ' ' ? mention.length() + 1 : mention.length()); else cmdwithargs = "help"; + if (cmdwithargs.length() == 0) + cmdwithargs = "help"; return cmdwithargs; } } From 6e67787083bc25a96c00e4bf4ec23c2c7602295d Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Tue, 15 Nov 2016 21:15:23 +0100 Subject: [PATCH 13/16] Moved listeners --- src/main/java/buttondevteam/discordplugin/DiscordPlugin.java | 3 +++ .../discordplugin/{ => listeners}/CommandListener.java | 3 ++- .../discordplugin/{ => listeners}/ExceptionListener.java | 3 ++- .../discordplugin/{ => listeners}/MCListener.java | 4 +++- 4 files changed, 10 insertions(+), 3 deletions(-) rename src/main/java/buttondevteam/discordplugin/{ => listeners}/CommandListener.java (93%) rename src/main/java/buttondevteam/discordplugin/{ => listeners}/ExceptionListener.java (87%) rename src/main/java/buttondevteam/discordplugin/{ => listeners}/MCListener.java (91%) diff --git a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java b/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java index c87efee..23fe966 100644 --- a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java +++ b/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java @@ -14,6 +14,9 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; +import buttondevteam.discordplugin.listeners.CommandListener; +import buttondevteam.discordplugin.listeners.ExceptionListener; +import buttondevteam.discordplugin.listeners.MCListener; import buttondevteam.discordplugin.mccommands.DiscordMCCommandBase; import buttondevteam.lib.TBMCCoreAPI; import buttondevteam.lib.chat.TBMCChatAPI; diff --git a/src/main/java/buttondevteam/discordplugin/CommandListener.java b/src/main/java/buttondevteam/discordplugin/listeners/CommandListener.java similarity index 93% rename from src/main/java/buttondevteam/discordplugin/CommandListener.java rename to src/main/java/buttondevteam/discordplugin/listeners/CommandListener.java index c5f1b81..bd7ff06 100644 --- a/src/main/java/buttondevteam/discordplugin/CommandListener.java +++ b/src/main/java/buttondevteam/discordplugin/listeners/CommandListener.java @@ -1,5 +1,6 @@ -package buttondevteam.discordplugin; +package buttondevteam.discordplugin.listeners; +import buttondevteam.discordplugin.DiscordPlugin; import buttondevteam.discordplugin.commands.DiscordCommandBase; import sx.blah.discord.api.events.IListener; import sx.blah.discord.handle.impl.events.MentionEvent; diff --git a/src/main/java/buttondevteam/discordplugin/ExceptionListener.java b/src/main/java/buttondevteam/discordplugin/listeners/ExceptionListener.java similarity index 87% rename from src/main/java/buttondevteam/discordplugin/ExceptionListener.java rename to src/main/java/buttondevteam/discordplugin/listeners/ExceptionListener.java index 85059ba..4375819 100644 --- a/src/main/java/buttondevteam/discordplugin/ExceptionListener.java +++ b/src/main/java/buttondevteam/discordplugin/listeners/ExceptionListener.java @@ -1,9 +1,10 @@ -package buttondevteam.discordplugin; +package buttondevteam.discordplugin.listeners; import org.apache.commons.lang.exception.ExceptionUtils; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; +import buttondevteam.discordplugin.DiscordPlugin; import buttondevteam.lib.TBMCExceptionEvent; public class ExceptionListener implements Listener { diff --git a/src/main/java/buttondevteam/discordplugin/MCListener.java b/src/main/java/buttondevteam/discordplugin/listeners/MCListener.java similarity index 91% rename from src/main/java/buttondevteam/discordplugin/MCListener.java rename to src/main/java/buttondevteam/discordplugin/listeners/MCListener.java index ea2f193..a600907 100644 --- a/src/main/java/buttondevteam/discordplugin/MCListener.java +++ b/src/main/java/buttondevteam/discordplugin/listeners/MCListener.java @@ -1,4 +1,4 @@ -package buttondevteam.discordplugin; +package buttondevteam.discordplugin.listeners; import org.bukkit.Bukkit; import org.bukkit.entity.Player; @@ -6,6 +6,8 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.server.ServerCommandEvent; +import buttondevteam.discordplugin.DiscordPlayer; +import buttondevteam.discordplugin.DiscordPlugin; import buttondevteam.discordplugin.commands.ConnectCommand; import buttondevteam.lib.TBMCPlayerGetInfoEvent; import buttondevteam.lib.TBMCPlayerJoinEvent; From a954720ebd24c74a4e4885845515acc91eca53fb Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Tue, 15 Nov 2016 22:01:55 +0100 Subject: [PATCH 14/16] Started MC chat (#8) --- .../discordplugin/DiscordPlugin.java | 5 +++++ .../discordplugin/listeners/ChatListener.java | 19 +++++++++++++++++++ .../listeners/MCChatListener.java | 7 +++++++ 3 files changed, 31 insertions(+) create mode 100644 src/main/java/buttondevteam/discordplugin/listeners/ChatListener.java create mode 100644 src/main/java/buttondevteam/discordplugin/listeners/MCChatListener.java diff --git a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java b/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java index 23fe966..08ccda8 100644 --- a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java +++ b/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java @@ -14,6 +14,7 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; +import buttondevteam.discordplugin.listeners.ChatListener; import buttondevteam.discordplugin.listeners.CommandListener; import buttondevteam.discordplugin.listeners.ExceptionListener; import buttondevteam.discordplugin.listeners.MCListener; @@ -60,6 +61,7 @@ public class DiscordPlugin extends JavaPlugin implements IListener { dc.getDispatcher().registerListener(this); for (IListener listener : CommandListener.getListeners()) dc.getDispatcher().registerListener(listener); + dc.getDispatcher().registerListener(new ChatListener()); Bukkit.getPluginManager().registerEvents(new ExceptionListener(), this); TBMCCoreAPI.RegisterEventsForExceptions(new MCListener(), this); TBMCChatAPI.AddCommands(this, DiscordMCCommandBase.class); @@ -73,6 +75,7 @@ public class DiscordPlugin extends JavaPlugin implements IListener { public static IChannel annchannel; public static IChannel genchannel; public static IChannel issuechannel; + public static IChannel chatchannel; public static boolean Test = true; @@ -91,12 +94,14 @@ public class DiscordPlugin extends JavaPlugin implements IListener { annchannel = mainServer.getChannelByID("126795071927353344"); // announcements genchannel = mainServer.getChannelByID("125813020357165056"); // general issuechannel = devServer.getChannelByID("219643416496046081"); // server_issues + chatchannel = mainServer.getChannelByID("248184577582039041"); // minecraft_chat dc.changeStatus(Status.game("on TBMC")); } else { botchannel = devServer.getChannelByID("239519012529111040"); // bottest annchannel = devServer.getChannelByID("239519012529111040"); // bottest genchannel = devServer.getChannelByID("239519012529111040"); // bottest issuechannel = devServer.getChannelByID("239519012529111040"); // bottest + chatchannel = devServer.getChannelByID("248185455508455424"); // minecraft_chat_test dc.changeStatus(Status.game("testing")); } // sendMessageToChannel(botchannel, "Minecraft server started up"); diff --git a/src/main/java/buttondevteam/discordplugin/listeners/ChatListener.java b/src/main/java/buttondevteam/discordplugin/listeners/ChatListener.java new file mode 100644 index 0000000..5bcf348 --- /dev/null +++ b/src/main/java/buttondevteam/discordplugin/listeners/ChatListener.java @@ -0,0 +1,19 @@ +package buttondevteam.discordplugin.listeners; + +import buttondevteam.discordplugin.DiscordPlugin; +import sx.blah.discord.api.events.IListener; +import sx.blah.discord.handle.impl.events.MessageReceivedEvent; + +public class ChatListener implements IListener { + + @Override + public void handle(MessageReceivedEvent event) { + if (!event.getMessage().getChannel().getID().equals(DiscordPlugin.chatchannel.getID())) + return; + if (event.getMessage().getContent().startsWith("/")) + ; // Call API method + else + ; + } + +} diff --git a/src/main/java/buttondevteam/discordplugin/listeners/MCChatListener.java b/src/main/java/buttondevteam/discordplugin/listeners/MCChatListener.java new file mode 100644 index 0000000..457af9c --- /dev/null +++ b/src/main/java/buttondevteam/discordplugin/listeners/MCChatListener.java @@ -0,0 +1,7 @@ +package buttondevteam.discordplugin.listeners; + +import org.bukkit.event.Listener; + +public class MCChatListener implements Listener { + // Custom event +} From d87cb6cbaf62d263522b9975fc21304ebcad1dbc Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Sat, 19 Nov 2016 20:12:53 +0100 Subject: [PATCH 15/16] Fixed userinfo finding user by tag --- .../buttondevteam/discordplugin/commands/UserinfoCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/buttondevteam/discordplugin/commands/UserinfoCommand.java b/src/main/java/buttondevteam/discordplugin/commands/UserinfoCommand.java index 7e76975..eeb7e42 100644 --- a/src/main/java/buttondevteam/discordplugin/commands/UserinfoCommand.java +++ b/src/main/java/buttondevteam/discordplugin/commands/UserinfoCommand.java @@ -31,7 +31,7 @@ public class UserinfoCommand extends DiscordCommandBase { target = message.getMentions().get(0); else if (args.contains("#")) { String[] targettag = args.split("#"); - final List targets = getUsers(message, args); + final List targets = getUsers(message, targettag[0]); if (targets.size() == 0) { DiscordPlugin.sendMessageToChannel(message.getChannel(), "The user cannot be found (by name): " + args); return; From e2870ef4b00b1eb148089ab17fab47506a02aa97 Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Sun, 20 Nov 2016 02:45:20 +0100 Subject: [PATCH 16/16] Updated chat channel ID --- src/main/java/buttondevteam/discordplugin/DiscordPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java b/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java index 08ccda8..590f402 100644 --- a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java +++ b/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java @@ -94,7 +94,7 @@ public class DiscordPlugin extends JavaPlugin implements IListener { annchannel = mainServer.getChannelByID("126795071927353344"); // announcements genchannel = mainServer.getChannelByID("125813020357165056"); // general issuechannel = devServer.getChannelByID("219643416496046081"); // server_issues - chatchannel = mainServer.getChannelByID("248184577582039041"); // minecraft_chat + chatchannel = mainServer.getChannelByID("249663564057411596"); // minecraft_chat dc.changeStatus(Status.game("on TBMC")); } else { botchannel = devServer.getChannelByID("239519012529111040"); // bottest