From 2a21b44fcf13acb0de25c5682a6f01f927de55b5 Mon Sep 17 00:00:00 2001 From: Pingex Date: Tue, 10 May 2016 09:29:54 +0200 Subject: [PATCH] Assert on /perm commands. Closes #9. --- .../java/net/pingex/discordbot/PermissionsModule.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/pingex/discordbot/PermissionsModule.java b/src/main/java/net/pingex/discordbot/PermissionsModule.java index 757ed47..a75b388 100644 --- a/src/main/java/net/pingex/discordbot/PermissionsModule.java +++ b/src/main/java/net/pingex/discordbot/PermissionsModule.java @@ -75,6 +75,8 @@ class PermissionsModule extends AbstractModule @Command(description = "Returns the Unique Identifier of the target user.", permission = DefaultPermission.ANY_OWNER) public String getUID(MessageReceivedEvent event, String name, String discriminator) { + if(!discriminator.matches("^\\d{4}$")) return "Invalid discriminator."; + for(IUser i : event.getMessage().getGuild().getUsers()) if(i.getName().equals(name) && i.getDiscriminator().equals(discriminator)) return i.getID(); @@ -187,6 +189,9 @@ class PermissionsModule extends AbstractModule @Command(description = "Sets an user permission.", permission = DefaultPermission.ANY_OWNER, required = {true, true, false}) public String setUser(MessageReceivedEvent event, String command, String user, Boolean target) { + if(!command.matches("^\\w+:\\w+$")) return "Invalid command."; + if(!user.matches("^\\d{18}$")) return "Invalid user."; + if(!permissions.containsKey(event.getMessage().getGuild().getID())) permissions.put(event.getMessage().getGuild().getID(), new Guild(new HashMap<>())); Guild g = permissions.get(event.getMessage().getGuild().getID()); @@ -211,6 +216,9 @@ class PermissionsModule extends AbstractModule @Command(description = "Sets a role permission.", permission = DefaultPermission.ANY_OWNER, required = {true, true, false}) public String setRole(MessageReceivedEvent event, String command, String group, Boolean target) { + if(!command.matches("^\\w+:\\w+$")) return "Invalid command."; + if(!group.matches("^\\d{18}$")) return "Invalid group."; + if(!permissions.containsKey(event.getMessage().getGuild().getID())) permissions.put(event.getMessage().getGuild().getID(), new Guild(new HashMap<>())); Guild g = permissions.get(event.getMessage().getGuild().getID()); @@ -273,8 +281,9 @@ class PermissionsModule extends AbstractModule @Command(description = "Says if the target user can run said command. Ignores default behavior.", permission = DefaultPermission.ANY_OWNER) public String canRun(MessageReceivedEvent event, String user, String discriminator, String command) { - IUser target = null; + if(!discriminator.matches("^\\d{4}$")) return "Invalid discriminator."; + IUser target = null; for(IUser i : event.getMessage().getGuild().getUsers()) if(i.getName().equals(user) && i.getDiscriminator().equals(discriminator)) {