47 lines
1.3 KiB
Java
47 lines
1.3 KiB
Java
package commands;
|
|
|
|
import core.*;
|
|
import dataStructures.*;
|
|
|
|
public class CommandPollVote extends Command
|
|
{
|
|
public CommandPollVote(KittyRole level, KittyRating rating) { super(level, rating); }
|
|
|
|
@Override
|
|
public String HelpText() { return Localizer.Stub("Vote in a poll with the choice number, won't work if no poll is running, you can't change your vote once you have cast it! Be careful!"); }
|
|
|
|
@Override
|
|
public void OnRun(KittyGuild guild, KittyChannel channel, KittyUser user, UserInput input, Response res)
|
|
{
|
|
if(guild.polling)
|
|
{
|
|
if(guild.hasVoted.contains(user.uniqueID))
|
|
{
|
|
res.Call(Localizer.Stub("You already voted"));
|
|
return;
|
|
}
|
|
try
|
|
{
|
|
int voteNum = Integer.parseInt(input.args)-1;
|
|
if(voteNum >= guild.choices.size() || voteNum < 0)
|
|
{
|
|
res.Call(String.format(Localizer.Stub("%s That's not a vaild vote!"), voteNum));
|
|
return;
|
|
}
|
|
|
|
KittyPoll polled = guild.choices.get(voteNum);
|
|
polled.votes++;
|
|
guild.hasVoted.add(user.uniqueID);
|
|
res.Call(Localizer.Stub("You successfully voted for") + " `" + polled.choice + "`!");
|
|
return;
|
|
}
|
|
catch (NumberFormatException e)
|
|
{
|
|
res.Call(Localizer.Stub("That's not a vaild number!"));
|
|
return;
|
|
}
|
|
}
|
|
res.Call(Localizer.Stub("There is no poll running!"));
|
|
}
|
|
}
|