49 lines
1.4 KiB
Java
49 lines
1.4 KiB
Java
package commands.poll;
|
|
|
|
import core.LocStrings;
|
|
import core.SubCommand;
|
|
import core.SubCommandFormattable;
|
|
import dataStructures.KittyChannel;
|
|
import dataStructures.KittyGuild;
|
|
import dataStructures.KittyPoll;
|
|
import dataStructures.KittyRating;
|
|
import dataStructures.KittyRole;
|
|
import dataStructures.KittyUser;
|
|
import dataStructures.UserInput;
|
|
|
|
public class SubCommandVote extends SubCommand
|
|
{
|
|
public SubCommandVote(KittyRole level, KittyRating rating) { super(level, rating); }
|
|
|
|
@Override
|
|
public SubCommandFormattable OnRun(KittyGuild guild, KittyChannel channel, KittyUser user, UserInput input)
|
|
{
|
|
if(guild.polling)
|
|
{
|
|
if(guild.hasVoted.contains(user.uniqueID))
|
|
{
|
|
return new SubCommandFormattable (LocStrings.stub("PollVoteAlreadyVoted"));
|
|
}
|
|
try
|
|
{
|
|
int voteNum = Integer.parseInt(input.args.substring(input.args.indexOf(" ")).trim())-1;
|
|
if(voteNum >= guild.choices.size() || voteNum < 0)
|
|
{
|
|
return new SubCommandFormattable (String.format(LocStrings.stub("PollVoteNotValidVote"), voteNum));
|
|
}
|
|
|
|
KittyPoll polled = guild.choices.get(voteNum);
|
|
polled.votes++;
|
|
guild.hasVoted.add(user.uniqueID);
|
|
return new SubCommandFormattable (LocStrings.stub("PollVoteSuccess") + " `" + polled.choice + "`!");
|
|
}
|
|
catch (NumberFormatException e)
|
|
{
|
|
return new SubCommandFormattable (LocStrings.stub("PollVoteNotValidNumber"));
|
|
}
|
|
}
|
|
|
|
return new SubCommandFormattable (LocStrings.stub("PollVoteNoPoll"));
|
|
}
|
|
}
|