package core.commands;

import java.util.ArrayList;

import core.entities.QueueManager;
import net.dv8tion.jda.core.entities.Member;
import net.dv8tion.jda.core.entities.Message;

public abstract class Command {
	protected String name;
	protected String helpMsg;
	protected String successMsg = "Command " + name + " completed.";
	protected String description;
	protected Message response;
	protected String lastResponseId = null;
	protected boolean dm = false;
	protected boolean adminRequired = false;
	protected boolean pugCommand = true;
	
	public abstract void execCommand(QueueManager qm, Member member, ArrayList<String> args);
	
	public String help(){
		return this.helpMsg;
	}
	
	public Message getResponse(){
		return this.response;
	}
	
	public boolean getDM(){
		return dm;
	}
	
	public boolean getAdminRequired(){
		return adminRequired;
	}
	
	public String getName(){
		return name;
	}
	
	public String getDescription(){
		return description;
	}
	
	public boolean getPugCommand(){
		return pugCommand;
	}
	
	public void setLastResponseId(String id){
		lastResponseId = id;
	}
}

@@ -21,37 +21,8 @@
 s;%0A%0A
-import java.util.ArrayList;%0A%0A
 impo
@@ -38,26 +38,20 @@
 ntities.
-QueueManag
+Serv
 er;%0Aimpo
@@ -138,16 +138,43 @@
 ssage;%0A%0A
+// Command abstract class%0A%0A
 public a
@@ -566,23 +566,21 @@
 and(
-QueueManager qm
+Server server
 , Me
@@ -596,25 +596,16 @@
 er, 
-ArrayList%3C
 String
-%3E
+%5B%5D
  arg

Update params