Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static void reportHandling(GuildObject task) {
- List<UserRateObject> offenders = task.getRateLimiting();
- IRole muteRole = task.getRoleByID(task.config.getMutedRoleID());
- if (muteRole == null) return;
- IChannel admin = task.getChannelByType(ChannelSetting.ADMIN);
- for (UserRateObject u : offenders) {
- if (u.counter - 3 > task.config.messageLimit) {
- List<IChannel> channels = u.getChannels(task);
- if (admin == null && !channels.isEmpty()) {
- admin = channels.get(channels.size() - 1);
- }
- StringHandler output = new StringHandler();
- StringHandler modNote = new StringHandler();
- IUser offender = u.getUser(task);
- long rate = u.counter - task.config.messageLimit;
- String formattedChannels = String.join(", ", channels.stream().map(channel -> channel.mention()).collect(Collectors.toList()));
- //Admin Message output
- output.append("> ").append(offender.mention());
- output.append(" Has Been muted for breaking the guild rate limit (");
- output.append(rate);
- output.append(" Over Rate)");
- if (channels.size() == 1) {
- output.append(" in ").append(channels.get(0).mention());
- } else if (channels.size() > 1) {
- output.append(" in channels: ");
- output.append(formattedChannels);
- }
- output.append(".");
- //modNote Output
- modNote.append("> Muted by Rate Limiter, ");
- modNote.append(rate).append(" Over Rate, ");
- modNote.append("Channel");
- if (channels.size() > 1) modNote.append("s");
- modNote.append(": ").append(formattedChannels);
- //logging
- if (task.config.deleteLogging) {
- Utility.sendLog("> **@" + offender.getName() + "#" + offender.getDiscriminator() + "** was muted for breaking rate limit.", task, false);
- }
- ProfileObject profile = task.users.getUserByID(u.getID());
- profile.addSailModNote(modNote.toString(), u.timeStamp, false);
- RequestHandler.sendMessage(output.toString(), admin);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement