package tterrag.tppibot.commands;
import java.util.List;
import java.util.Optional;
import org.pircbotx.Channel;
import org.pircbotx.PircBotX;
import org.pircbotx.User;
import tterrag.tppibot.Main;
import tterrag.tppibot.commands.Mode.BotMode;
import tterrag.tppibot.reactions.CharacterSpam.Strike;
import tterrag.tppibot.registry.PermRegistry;
import tterrag.tppibot.util.IRCUtils;
public class Strikes extends Command {
public Strikes() {
super("strikes");
}
@Override
public void onCommand(PircBotX bot, User user, Channel channel, List<String> lines, String... args) {
Optional<User> target = Optional.empty();
if (args.length > 0) {
target = IRCUtils.getUserByNick(channel, args[0]);
if (!target.isPresent()) {
lines.add(args[0] + " is not a valid nick in this channel!");
return;
}
} else {
lines.add("This command requires an argument!");
return;
}
lines.add(target.get().getNick() + " has " + Main.spamFilter.getStrikeCount(target.get()) + " strikes.");
if (IRCUtils.isPermLevelAboveOrEqualTo(PermRegistry.INSTANCE.getPermLevelForUser(channel, user), PermLevel.TRUSTED)) {
List<Strike> strikes = Main.spamFilter.getStrikes(user);
BotMode mode = BotMode.NOTICE;
if (strikes.size() > 5) {
mode = BotMode.PM;
}
for (int i = 0; i < strikes.size(); i++) {
Strike s = strikes.get(i);
IRCUtils.modeSensitiveEnqueue(bot, user, channel, (i + 1) + " - Reason: " + s.getReason() + " - Message: " + s.getMessage(), mode);
}
}
}
}