diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml
index 8d54078f..f94d05c0 100644
--- a/dependency-reduced-pom.xml
+++ b/dependency-reduced-pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.github.vaerys
DiscordSAIL
- 2.5.4
+ 2.5.5
diff --git a/pom.xml b/pom.xml
index 995c80b8..0135f99b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.github.vaerys
DiscordSAIL
- 2.5.4
+ 2.5.5
diff --git a/src/main/java/Commands/CC/GetCCData.java b/src/main/java/Commands/CC/GetCCData.java
index 8abd50b7..14d3cfe1 100644
--- a/src/main/java/Commands/CC/GetCCData.java
+++ b/src/main/java/Commands/CC/GetCCData.java
@@ -1,21 +1,46 @@
package Commands.CC;
import Commands.CommandObject;
+import Handlers.FileHandler;
import Interfaces.Command;
+import Main.Constants;
+import Main.Utility;
+import Objects.CCommandObject;
import sx.blah.discord.handle.obj.Permissions;
+import java.io.File;
+
/**
* Created by Vaerys on 01/02/2017.
*/
public class GetCCData implements Command {
@Override
public String execute(String args, CommandObject command) {
- return command.customCommands.sendCCasJSON(command.channelID, args);
+ for (CCommandObject c : command.customCommands.getCommandList()) {
+ if (c.getName().equalsIgnoreCase(args)) {
+ String content = "Command Name: \"" + c.getName() + "\"";
+ content += "\nCreated by: \"" + command.client.getUserByID(c.getUserID()).getDisplayName(command.guild) + "\"";
+ content += "\nTimes run: \"" + c.getTimesRun() + "\"";
+ content += "\nContents: \"" + c.getContents(false) + "\"";
+ String filePath = Constants.DIRECTORY_TEMP + command.messageID + ".txt";
+ FileHandler.writeToFile(filePath, content);
+ Utility.sendFile("> Here is the raw data for Custom Command: **" + c.getName() + "**", new File(filePath), command.channel);
+ try {
+ Thread.sleep(4000);
+ new File(filePath).delete();
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ return "";
+ }
+ }
+ return "> Custom command " + args + " could not be found.";
+// return command.customCommands.sendCCasJSON(command.channelID, args);
}
@Override
public String[] names() {
- return new String[]{"GetCCData"};
+ return new String[]{"GetCCdata"};
}
@Override
diff --git a/src/main/java/Commands/CommandInit.java b/src/main/java/Commands/CommandInit.java
index 5768f804..6a1f9b64 100644
--- a/src/main/java/Commands/CommandInit.java
+++ b/src/main/java/Commands/CommandInit.java
@@ -37,6 +37,7 @@ public static ArrayList get() {
commands.add(new UpdateAvatar());
commands.add(new GetMessageData());
commands.add(new TempCommand());
+ commands.add(new ResetPlayingStatus());
//Admin commands
commands.add(new ChannelHere());
diff --git a/src/main/java/Commands/CommandObject.java b/src/main/java/Commands/CommandObject.java
index 77e0f5b9..692be1b7 100644
--- a/src/main/java/Commands/CommandObject.java
+++ b/src/main/java/Commands/CommandObject.java
@@ -1,5 +1,6 @@
package Commands;
+import GuildToggles.Modules.ModuleServers;
import Interfaces.Command;
import Interfaces.DMCommand;
import Interfaces.GuildToggle;
@@ -49,6 +50,7 @@ public class CommandObject {
public ArrayList channelTypes = new ArrayList<>();
public ArrayList commandTypes = new ArrayList<>();
public ArrayList guildToggles = new ArrayList<>();
+ private ArrayList toRemove = new ArrayList<>();
public IDiscordClient client;
@@ -97,14 +99,38 @@ private void init() {
channelTypes = (ArrayList) Globals.getChannelTypes().clone();
guildToggles = (ArrayList) Globals.getGuildGuildToggles().clone();
+ logger.trace("Nodules:" + (" CC = " + guildConfig.moduleCC +
+ ", ROLES = " + guildConfig.moduleRoles +
+ ", COMP = " + guildConfig.moduleComp +
+ ", SERVERS = " + guildConfig.moduleServers +
+ ", CHARS = " + guildConfig.moduleChars +
+ ", ME = " + guildConfig.moduleMe +
+ ", MODMUTE = " + guildConfig.moduleModMute + ".").toUpperCase());
+ String testToggles = "";
+ for (GuildToggle g : guildToggles) {
+ testToggles += g.name() + ", ";
+ }
+ if (testToggles.contains(new ModuleServers().name())) {
+ logger.debug("Module Servers found.");
+ }
for (int i = 0; i < guildToggles.size(); i++) {
+ logger.info("this - " + guildToggles.get(i).name());
if (!guildToggles.get(i).get(guildConfig)) {
if (guildToggles.get(i).isModule()) {
- logger.trace(guildToggles.get(i).name() + " - " + guildToggles.get(i).get(guildConfig) + "");
+ logger.trace(guildToggles.get(i).name() + " - " + guildToggles.get(i).get(guildConfig));
}
guildToggles.get(i).execute(this);
}
}
+ //well this works I guess.
+ for (GuildToggle t : toRemove) {
+ for (int i = 0; i < guildToggles.size(); i++) {
+ if (t.name().equalsIgnoreCase(guildToggles.get(i).name())){
+ guildToggles.remove(i);
+ }
+ }
+ }
+
dmCommands = Globals.getCommandsDM();
notAllowed = "> I'm sorry " + author.getDisplayName(guild) + ", I'm afraid I can't let you do that.";
@@ -164,8 +190,8 @@ public void removeCommandsByType(String type) {
}
for (int i = 0; i < commandTypes.size(); i++) {
if (commandTypes.get(i).equalsIgnoreCase(type)) {
+ logger.trace("Type - " + commandTypes.get(i) + " - removed");
commandTypes.remove(i);
- logger.trace(type + " - removed");
}
}
}
@@ -189,7 +215,7 @@ public void removeCommand(String[] names) {
public void removeToggle(String name) {
for (int i = 0; i < guildToggles.size(); i++) {
if (guildToggles.get(i).name().equals(name)) {
- guildToggles.remove(i);
+ toRemove.add(guildToggles.get(i));
}
}
}
diff --git a/src/main/java/Commands/Competition/EnterComp.java b/src/main/java/Commands/Competition/EnterComp.java
index 34a7f0be..0590a4cf 100644
--- a/src/main/java/Commands/Competition/EnterComp.java
+++ b/src/main/java/Commands/Competition/EnterComp.java
@@ -2,7 +2,7 @@
import Commands.CommandObject;
import Interfaces.Command;
-import Objects.PollObject;
+import Objects.CompObject;
import POGOs.GuildConfig;
import sx.blah.discord.handle.obj.IMessage;
import sx.blah.discord.handle.obj.IUser;
@@ -39,7 +39,7 @@ public String execute(String args, CommandObject command) {
}
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yy - HH:mm:ss");
Calendar cal = Calendar.getInstance();
- command.competition.newEntry(new PollObject(author.getDisplayName(command.guild), author.getID(), fileName, fileUrl, dateFormat.format(cal.getTime())));
+ command.competition.newEntry(new CompObject(author.getDisplayName(command.guild), author.getID(), fileName, fileUrl, dateFormat.format(cal.getTime())));
return "> Thank you " + author.getDisplayName(command.guild) + " For entering the Competition.";
} else {
return "> Competition Entries are closed.";
diff --git a/src/main/java/Commands/Competition/GetCompEntries.java b/src/main/java/Commands/Competition/GetCompEntries.java
index 8c2a1268..99d95841 100644
--- a/src/main/java/Commands/Competition/GetCompEntries.java
+++ b/src/main/java/Commands/Competition/GetCompEntries.java
@@ -3,7 +3,7 @@
import Commands.CommandObject;
import Interfaces.Command;
import Main.Utility;
-import Objects.PollObject;
+import Objects.CompObject;
import sx.blah.discord.handle.obj.Permissions;
/**
@@ -13,7 +13,7 @@ public class GetCompEntries implements Command {
@Override
public String execute(String args, CommandObject command) {
int i = 1;
- for (PollObject p : command.competition.getEntries()) {
+ for (CompObject p : command.competition.getEntries()) {
Utility.sendMessage("Entry " + i + " : " + command.guild.getUserByID(p.getUserID()).mention() + "\n" +
p.getFileUrl(), command.channel);
try {
diff --git a/src/main/java/Commands/Creator/ResetPlayingStatus.java b/src/main/java/Commands/Creator/ResetPlayingStatus.java
new file mode 100644
index 00000000..a87fc0bb
--- /dev/null
+++ b/src/main/java/Commands/Creator/ResetPlayingStatus.java
@@ -0,0 +1,77 @@
+package Commands.Creator;
+
+import Commands.CommandObject;
+import Interfaces.Command;
+import Main.Globals;
+import sx.blah.discord.handle.obj.Permissions;
+
+/**
+ * Created by Vaerys on 21/03/2017.
+ */
+public class ResetPlayingStatus implements Command{
+ @Override
+ public String execute(String args, CommandObject command) {
+ command.client.changePlayingText(Globals.playing);
+ return "> Status reset.";
+ }
+
+ @Override
+ public String[] names() {
+ return new String[]{"ResetPlayingStatus"};
+ }
+
+ @Override
+ public String description() {
+ return "Resets the playing status.";
+ }
+
+ @Override
+ public String usage() {
+ return null;
+ }
+
+ @Override
+ public String type() {
+ return TYPE_CREATOR;
+ }
+
+ @Override
+ public String channel() {
+ return null;
+ }
+
+ @Override
+ public Permissions[] perms() {
+ return new Permissions[0];
+ }
+
+ @Override
+ public boolean requiresArgs() {
+ return false;
+ }
+
+ @Override
+ public boolean doAdminLogging() {
+ return false;
+ }
+
+ @Override
+ public String dualDescription() {
+ return null;
+ }
+
+ @Override
+ public String dualUsage() {
+ return null;
+ }
+
+ @Override
+ public String dualType() {
+ return null;
+ }
+
+ @Override
+ public Permissions[] dualPerms() {
+ return new Permissions[0];
+ }
+}
diff --git a/src/main/java/Commands/Help/Info.java b/src/main/java/Commands/Help/Info.java
index ac192ba5..fcea305b 100644
--- a/src/main/java/Commands/Help/Info.java
+++ b/src/main/java/Commands/Help/Info.java
@@ -50,6 +50,7 @@ public String execute(String args, CommandObject command) {
for (Permissions p : c.perms()) {
permList.add(p.toString());
}
+ builder.append("**");
builder.append(Utility.listFormatter(permList, true));
}
//dual command info
diff --git a/src/main/java/Commands/RoleSelect/CosmeticRoles.java b/src/main/java/Commands/RoleSelect/CosmeticRoles.java
index 38882845..4a7fb66e 100644
--- a/src/main/java/Commands/RoleSelect/CosmeticRoles.java
+++ b/src/main/java/Commands/RoleSelect/CosmeticRoles.java
@@ -49,14 +49,23 @@ public String execute(String args, CommandObject command) {
ArrayList roles = guildConfig.getCosmeticRoles();
String newRoleId = null;
List userRoles = guild.getRolesForUser(author);
+ boolean toggle = false;
for (RoleTypeObject role : roles) {
for (int i = 0; userRoles.size() > i; i++) {
- if (role.getRoleID().equals(userRoles.get(i).getID())) {
- userRoles.remove(i);
+ if (command.guildConfig.roleIsToggle) {
+ if (userRoles.get(i).getName().equalsIgnoreCase(args)){
+ userRoles.remove(i);
+ toggle = true;
+ }
+ } else {
+ if (role.getRoleID().equals(userRoles.get(i).getID())) {
+ userRoles.remove(i);
+ }
}
if (args.equalsIgnoreCase(guild.getRoleByID(role.getRoleID()).getName())) {
newRoleId = role.getRoleID();
}
+
}
}
if (splitFirst.getFirstWord().equalsIgnoreCase("remove")) {
@@ -68,11 +77,20 @@ public String execute(String args, CommandObject command) {
}
return "> Role with name: **" + args + "** not found in **Cosmetic Role** list.";
} else {
- userRoles.add(guild.getRoleByID(newRoleId));
- response = "> You have selected the cosmetic role: **" + guild.getRoleByID(newRoleId).getName() + "**.";
+ if (!toggle) {
+ userRoles.add(guild.getRoleByID(newRoleId));
+ if (command.guildConfig.roleIsToggle){
+ response = "> You have enabled the cosmetic role: **" + guild.getRoleByID(newRoleId).getName() + "**.";
+ }else {
+ response = "> You have selected the cosmetic role: **" + guild.getRoleByID(newRoleId).getName() + "**.";
+ }
+ }else {
+ response = "> You have disabled the cosmetic role: **" + guild.getRoleByID(newRoleId).getName() + "**.";
+ }
+
}
}
- command.client.getDispatcher().dispatch(new UserRoleUpdateEvent(guild,author,oldRoles,userRoles));
+ command.client.getDispatcher().dispatch(new UserRoleUpdateEvent(guild, author, oldRoles, userRoles));
if (Utility.roleManagement(author, guild, userRoles).get()) {
return Constants.ERROR_UPDATING_ROLE;
} else {
diff --git a/src/main/java/GuildToggles/Modules/ModuleCC.java b/src/main/java/GuildToggles/Modules/ModuleCC.java
index 6f46f0de..13283a08 100644
--- a/src/main/java/GuildToggles/Modules/ModuleCC.java
+++ b/src/main/java/GuildToggles/Modules/ModuleCC.java
@@ -28,13 +28,9 @@ public boolean get(GuildConfig config) {
@Override
public void execute(CommandObject command) {
- if (command.guildConfig.moduleCC) {
- return;
- } else {
- command.removeCommandsByType(Command.TYPE_CC);
- command.removeChannel(Command.CHANNEL_SHITPOST);
- command.removeToggle(new ShitpostFiltering().name());
- }
+ command.removeCommandsByType(Command.TYPE_CC);
+ command.removeChannel(Command.CHANNEL_SHITPOST);
+ command.removeToggle(new ShitpostFiltering().name());
}
@Override
diff --git a/src/main/java/GuildToggles/Modules/ModuleChars.java b/src/main/java/GuildToggles/Modules/ModuleChars.java
index b8f50a24..2a5c047e 100644
--- a/src/main/java/GuildToggles/Modules/ModuleChars.java
+++ b/src/main/java/GuildToggles/Modules/ModuleChars.java
@@ -27,11 +27,7 @@ public boolean get(GuildConfig config) {
@Override
public void execute(CommandObject command) {
- if (command.guildConfig.moduleChars){
- return;
- }else {
- command.removeCommandsByType(Command.TYPE_CHARACTER);
- }
+ command.removeCommandsByType(Command.TYPE_CHARACTER);
}
@Override
diff --git a/src/main/java/GuildToggles/Modules/ModuleComp.java b/src/main/java/GuildToggles/Modules/ModuleComp.java
index 20bdbcbc..33c0d23d 100644
--- a/src/main/java/GuildToggles/Modules/ModuleComp.java
+++ b/src/main/java/GuildToggles/Modules/ModuleComp.java
@@ -31,13 +31,9 @@ public boolean get(GuildConfig config) {
@Override
public void execute(CommandObject command) {
- if (command.guildConfig.moduleComp){
- return;
- }else {
- command.removeCommandsByType(Command.TYPE_COMPETITION);
- command.removeToggle(new Voting().name());
- command.removeToggle(new CompEntries().name());
- }
+ command.removeCommandsByType(Command.TYPE_COMPETITION);
+ command.removeToggle(new Voting().name());
+ command.removeToggle(new CompEntries().name());
}
@Override
diff --git a/src/main/java/GuildToggles/Modules/ModuleMe.java b/src/main/java/GuildToggles/Modules/ModuleMe.java
index 9c0a47aa..003b1560 100644
--- a/src/main/java/GuildToggles/Modules/ModuleMe.java
+++ b/src/main/java/GuildToggles/Modules/ModuleMe.java
@@ -10,7 +10,7 @@
/**
* Created by Vaerys on 02/03/2017.
*/
-public class ModuleMe implements GuildToggle{
+public class ModuleMe implements GuildToggle {
@Override
public String name() {
@@ -29,13 +29,9 @@ public boolean get(GuildConfig config) {
@Override
public void execute(CommandObject command) {
- if (command.guildConfig.moduleMe) {
- return;
- } else {
- command.removeCommand(new UserInfo().names());
- command.removeCommand(new SetGender().names());
- command.removeCommand(new SetQuote().names());
- }
+ command.removeCommand(new UserInfo().names());
+ command.removeCommand(new SetGender().names());
+ command.removeCommand(new SetQuote().names());
}
@Override
diff --git a/src/main/java/GuildToggles/Modules/ModuleRoles.java b/src/main/java/GuildToggles/Modules/ModuleRoles.java
index 87b27bbf..0cf0e1bf 100644
--- a/src/main/java/GuildToggles/Modules/ModuleRoles.java
+++ b/src/main/java/GuildToggles/Modules/ModuleRoles.java
@@ -27,11 +27,7 @@ public boolean get(GuildConfig config) {
@Override
public void execute(CommandObject command) {
- if (command.guildConfig.moduleRoles){
- return;
- }else {
- command.removeCommandsByType(Command.TYPE_ROLE_SELECT);
- }
+ command.removeCommandsByType(Command.TYPE_ROLE_SELECT);
}
@Override
diff --git a/src/main/java/GuildToggles/Modules/ModuleServers.java b/src/main/java/GuildToggles/Modules/ModuleServers.java
index 99d7c2ff..33455876 100644
--- a/src/main/java/GuildToggles/Modules/ModuleServers.java
+++ b/src/main/java/GuildToggles/Modules/ModuleServers.java
@@ -27,12 +27,8 @@ public boolean get(GuildConfig config) {
@Override
public void execute(CommandObject command) {
- if (command.guildConfig.moduleServers){
- return;
- }else {
- command.removeCommandsByType(Command.TYPE_SERVERS);
- command.removeChannel(Command.CHANNEL_SERVERS);
- }
+ command.removeCommandsByType(Command.TYPE_SERVERS);
+ command.removeChannel(Command.CHANNEL_SERVERS);
}
@Override
diff --git a/src/main/java/GuildToggles/ToggleInit.java b/src/main/java/GuildToggles/ToggleInit.java
index 0d1f63a3..8aecfd22 100644
--- a/src/main/java/GuildToggles/ToggleInit.java
+++ b/src/main/java/GuildToggles/ToggleInit.java
@@ -33,6 +33,7 @@ public static ArrayList get(){
guildToggles.add(new ExtendEditLog());
guildToggles.add(new ChannelLogging());
guildToggles.add(new SlashCommands());
+ guildToggles.add(new RoleIsToggle());
//modules
guildToggles.add(new ModuleChars());
diff --git a/src/main/java/GuildToggles/Toggles/RoleIsToggle.java b/src/main/java/GuildToggles/Toggles/RoleIsToggle.java
new file mode 100644
index 00000000..40f0d40c
--- /dev/null
+++ b/src/main/java/GuildToggles/Toggles/RoleIsToggle.java
@@ -0,0 +1,35 @@
+package GuildToggles.Toggles;
+
+import Commands.CommandObject;
+import Interfaces.GuildToggle;
+import POGOs.GuildConfig;
+
+/**
+ * Created by Vaerys on 18/03/2017.
+ */
+public class RoleIsToggle implements GuildToggle {
+ @Override
+ public String name() {
+ return "RoleIsToggle";
+ }
+
+ @Override
+ public boolean toggle(GuildConfig config) {
+ return config.roleIsToggle = !config.roleIsToggle;
+ }
+
+ @Override
+ public boolean get(GuildConfig config) {
+ return config.roleIsToggle;
+ }
+
+ @Override
+ public void execute(CommandObject command) {
+
+ }
+
+ @Override
+ public boolean isModule() {
+ return false;
+ }
+}
diff --git a/src/main/java/Handlers/CCHandler.java b/src/main/java/Handlers/CCHandler.java
index 07d97d8d..79097785 100644
--- a/src/main/java/Handlers/CCHandler.java
+++ b/src/main/java/Handlers/CCHandler.java
@@ -94,7 +94,7 @@ else if (cc.isShitPost() && guildConfig.shitPostFiltering) {
if (imageURL != null || !imageURL.isEmpty()) {
response = response.replaceFirst(Pattern.quote(prefixEmbedImage + imageURL + "}"), "");
response = TagSystem.tagToCaps(response);
- Utility.sendFileURL(response, imageURL, channel);
+ Utility.sendFileURL(response, imageURL, channel,true);
return;
}
}
diff --git a/src/main/java/Handlers/MessageHandler.java b/src/main/java/Handlers/MessageHandler.java
index e70d358b..77cf5701 100644
--- a/src/main/java/Handlers/MessageHandler.java
+++ b/src/main/java/Handlers/MessageHandler.java
@@ -52,7 +52,7 @@ public MessageHandler(String command, String args, CommandObject commandObject)
if (commandObject.guildConfig.slashCommands) {
for (SlashCommand s : Globals.getSlashCommands()) {
- if (commandObject.message.getContent().equalsIgnoreCase(s.call())) {
+ if (commandObject.message.getContent().toLowerCase().startsWith(s.call().toLowerCase())) {
Utility.sendMessage(s.response(), commandObject.channel);
return;
}
diff --git a/src/main/java/Main/AnnotationListener.java b/src/main/java/Main/AnnotationListener.java
index c08326b4..1b1f62e7 100644
--- a/src/main/java/Main/AnnotationListener.java
+++ b/src/main/java/Main/AnnotationListener.java
@@ -123,6 +123,7 @@ public void onReadyEvent(ReadyEvent event) {
// TODO: 16/01/2017 ability to toggle xp per channel
// TODO: 16/01/2017 make level decay toggleable
// TODO: 16/01/2017 make everything optional/ modifiable
+ // TODO: 18/03/2017 make a toggle that will Hide UserXp on their profile and hide the server rank list.
@EventSubscriber
public void onMessageReceivedEvent(MessageReceivedEvent event) {
if (event.getAuthor().isBot()) {
diff --git a/src/main/java/Main/Utility.java b/src/main/java/Main/Utility.java
index 2631e3bd..e9d172f2 100644
--- a/src/main/java/Main/Utility.java
+++ b/src/main/java/Main/Utility.java
@@ -955,6 +955,10 @@ public static String unFormatMentions(IMessage message) {
from = from.replace(mention, "__@" + user.getDisplayName(message.getGuild()) + "__");
from = from.replace(mentionNic, "__@" + user.getDisplayName(message.getGuild()) + "__");
}
+ for (IRole role : message.getRoleMentions()){
+ String roleMention = "<@&" + role.getID() + ">";
+ from = from.replace(roleMention,"__**@" + role.getName() + "**__");
+ }
return from;
}
diff --git a/src/main/java/Objects/CompObject.java b/src/main/java/Objects/CompObject.java
new file mode 100644
index 00000000..ef8b100a
--- /dev/null
+++ b/src/main/java/Objects/CompObject.java
@@ -0,0 +1,32 @@
+package Objects;
+
+/**
+ * Created by Vaerys on 29/08/2016.
+ */
+public class CompObject {
+ String userName;
+ String userID;
+ String fileName;
+ String fileUrl;
+ String timeSubmitted;
+
+ public CompObject(String userName, String userID, String fileName, String fileUrl, String timeSubmitted) {
+ this.userName = userName;
+ this.userID = userID;
+ this.fileName = fileName;
+ this.fileUrl = fileUrl;
+ this.timeSubmitted = timeSubmitted;
+ }
+
+ public String getFileUrl() {
+ return fileUrl;
+ }
+
+ public String getFileName() {
+ return fileName;
+ }
+
+ public String getUserID() {
+ return userID;
+ }
+}
diff --git a/src/main/java/Objects/PollObject.java b/src/main/java/Objects/PollObject.java
index cab451bd..c3bbcfd5 100644
--- a/src/main/java/Objects/PollObject.java
+++ b/src/main/java/Objects/PollObject.java
@@ -1,32 +1,67 @@
package Objects;
+import Commands.Competition.EnterVote;
+import POGOs.GuildConfig;
+
+import java.util.ArrayList;
+
/**
- * Created by Vaerys on 29/08/2016.
+ * Created by Vaerys on 28/03/2017.
*/
public class PollObject {
- String userName;
+ boolean open = false;
+ String pollName;
String userID;
- String fileName;
- String fileUrl;
- String timeSubmitted;
+ String pollTopic;
+ ArrayList options = new ArrayList<>();
+ ArrayList votes = new ArrayList<>();
+ boolean multiVotes = false;
- public PollObject(String userName, String userID, String fileName, String fileUrl, String timeSubmitted) {
- this.userName = userName;
+ public PollObject(String pollName, String userID, String pollTopic) {
+ this.pollName = pollName;
this.userID = userID;
- this.fileName = fileName;
- this.fileUrl = fileUrl;
- this.timeSubmitted = timeSubmitted;
+ this.pollTopic = pollTopic;
}
- public String getFileUrl() {
- return fileUrl;
+ public String addOption(String option){
+ if (open){
+ return "> cannot add option as poll is open.";
+ }
+ for (String s: options){
+ if (option.equalsIgnoreCase(s)){
+ return "> Option already added.";
+ }
+ }
+ options.add(option);
+ return "> Option added.";
}
- public String getFileName() {
- return fileName;
+ public String toggleOpen(GuildConfig config){
+ open = !open;
+ if (!open){
+ if (votes.size() > 0){
+ // TODO: 28/03/2017 post results. then clear list.
+ }
+ return "> Poll voting closed.";
+ }else {
+ return "> Poll voting Open, you can vote in this poll by running\n`" + config.getPrefixCommand() +
+ new EnterVote().names()[0] + " " + pollName + " [Vote]";
+ }
}
- public String getUserID() {
- return userID;
+ public String toggleMultiVote(){
+ multiVotes = !multiVotes;
+ if (!multiVotes){
+ return "> allowing of multiple votes has been disabled.";
+ }else {
+ return "> allowing of multiple votes has been enabled.";
+ }
+ }
+
+ public String vote(String votes){
+ if (multiVotes){
+
+ }
+ return "> null.";
}
}
diff --git a/src/main/java/Objects/VoteObject.java b/src/main/java/Objects/VoteObject.java
new file mode 100644
index 00000000..21ad6928
--- /dev/null
+++ b/src/main/java/Objects/VoteObject.java
@@ -0,0 +1,16 @@
+package Objects;
+
+import java.util.ArrayList;
+
+/**
+ * Created by Vaerys on 28/03/2017.
+ */
+public class VoteObject {
+ String userID;
+ ArrayList votes = new ArrayList<>();
+
+ public VoteObject(String userID, ArrayList votes) {
+ this.userID = userID;
+ this.votes = votes;
+ }
+}
diff --git a/src/main/java/POGOs/Competition.java b/src/main/java/POGOs/Competition.java
index c1d9074a..68d581ad 100644
--- a/src/main/java/POGOs/Competition.java
+++ b/src/main/java/POGOs/Competition.java
@@ -1,6 +1,7 @@
package POGOs;
import Main.Constants;
+import Objects.CompObject;
import Objects.PollObject;
import java.util.ArrayList;
@@ -11,9 +12,10 @@
*/
public class Competition {
boolean properlyInit = false;
- ArrayList entries = new ArrayList<>();
+ ArrayList entries = new ArrayList<>();
ArrayList voting = new ArrayList<>();
int voteLimit = 1;
+ ArrayList polls = new ArrayList<>();
public boolean isProperlyInit() {
return properlyInit;
@@ -23,11 +25,11 @@ public void setProperlyInit(boolean properlyInit) {
this.properlyInit = properlyInit;
}
- public void newEntry(PollObject entry) {
+ public void newEntry(CompObject entry) {
entries.add(entry);
}
- public ArrayList getEntries() {
+ public ArrayList getEntries() {
return entries;
}
diff --git a/src/main/java/POGOs/GuildConfig.java b/src/main/java/POGOs/GuildConfig.java
index 4f462582..11e0be39 100644
--- a/src/main/java/POGOs/GuildConfig.java
+++ b/src/main/java/POGOs/GuildConfig.java
@@ -42,6 +42,7 @@ public class GuildConfig {
public boolean muteRepeatOffenders = true;
public boolean rateLimiting = false;
public boolean slashCommands = false;
+ public boolean roleIsToggle = false;
//--Competition
public boolean compEntries = false;
public boolean compVoting = false;
diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml
index ff71675c..d8b3f752 100644
--- a/src/main/resources/logback.xml
+++ b/src/main/resources/logback.xml
@@ -34,7 +34,7 @@
-
+
diff --git a/target/JavaDiscordSAILv2.jar b/target/JavaDiscordSAILv2.jar
new file mode 100644
index 00000000..9b415b26
Binary files /dev/null and b/target/JavaDiscordSAILv2.jar differ
diff --git a/target/classes/logback.xml b/target/classes/logback.xml
index ff71675c..d8b3f752 100644
--- a/target/classes/logback.xml
+++ b/target/classes/logback.xml
@@ -34,7 +34,7 @@
-
+
diff --git a/target/classes/project.properties b/target/classes/project.properties
index f9e960b9..33fcc7a0 100644
--- a/target/classes/project.properties
+++ b/target/classes/project.properties
@@ -1 +1 @@
-version=2.5.4
\ No newline at end of file
+version=2.5.5
\ No newline at end of file
diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties
new file mode 100644
index 00000000..e5bc8d2b
--- /dev/null
+++ b/target/maven-archiver/pom.properties
@@ -0,0 +1,5 @@
+#Generated by Maven
+#Tue Mar 28 12:02:21 AEDT 2017
+version=2.5.5
+groupId=com.github.vaerys
+artifactId=DiscordSAIL
diff --git a/target/original-JavaDiscordSAILv2.jar b/target/original-JavaDiscordSAILv2.jar
new file mode 100644
index 00000000..1d6cd384
Binary files /dev/null and b/target/original-JavaDiscordSAILv2.jar differ