commit
d9c9197dbb
@ -1,58 +0,0 @@
|
|||||||
package dev.salmonllama.fsbot.commands.developer;
|
|
||||||
|
|
||||||
import dev.salmonllama.fsbot.database.controllers.UserBlacklistController;
|
|
||||||
import dev.salmonllama.fsbot.database.models.UserBlacklist;
|
|
||||||
import dev.salmonllama.fsbot.guthix.*;
|
|
||||||
import org.javacord.api.entity.message.embed.EmbedBuilder;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class BlacklistUserCommand extends Command {
|
|
||||||
@Override public String name() { return "Blacklist User"; }
|
|
||||||
@Override public String description() { return "Adds the user to the bot's blacklist, preventing them from using any commands or features"; }
|
|
||||||
@Override public String usage() { return "blacklistuser <userId> <reason>"; }
|
|
||||||
@Override public CommandCategory category() { return CommandCategory.DEVELOPER; }
|
|
||||||
@Override public CommandPermission permission() { return new CommandPermission(PermissionType.STATIC, "owner"); }
|
|
||||||
@Override public List<String> aliases() { return Arrays.asList("blacklistuser", "bluser", "sabusr"); }
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onCommand(CommandContext ctx) {
|
|
||||||
String[] args = ctx.getArgs();
|
|
||||||
|
|
||||||
if (args.length < 1) {
|
|
||||||
// Did it wrong
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If the user is on the blacklist, remove them, otherwise, add them with the reason.
|
|
||||||
UserBlacklistController.get(args[0]).thenAcceptAsync(possibleBlacklist -> {
|
|
||||||
possibleBlacklist.ifPresentOrElse(blacklist -> {
|
|
||||||
// Remove user from the blacklist
|
|
||||||
UserBlacklistController.delete(blacklist).thenAcceptAsync((Void) -> {
|
|
||||||
EmbedBuilder response = new EmbedBuilder()
|
|
||||||
.setTitle("Removed User from Blacklist")
|
|
||||||
.addField("User ID:", blacklist.getId())
|
|
||||||
.addField("Reason for Add", blacklist.getReason())
|
|
||||||
.addField("Added:", blacklist.getAdded().toString());
|
|
||||||
|
|
||||||
ctx.reply(response);
|
|
||||||
});
|
|
||||||
}, () -> {
|
|
||||||
// Add user to the blacklist, check args
|
|
||||||
UserBlacklist.UserBlacklistBuilder blBuilder = new UserBlacklist.UserBlacklistBuilder(args[0]);
|
|
||||||
EmbedBuilder response = new EmbedBuilder().setTitle("Added User to Blacklist").addField("User ID:", args[0]);
|
|
||||||
|
|
||||||
if (args.length > 1) {
|
|
||||||
String reason = String.join(" ", Arrays.copyOfRange(args, 1, args.length));
|
|
||||||
blBuilder.setReason(reason);
|
|
||||||
response.addField("With reason:", reason);
|
|
||||||
}
|
|
||||||
|
|
||||||
UserBlacklistController.insert(blBuilder.build()).thenAcceptAsync((Void) -> {
|
|
||||||
ctx.reply(response);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,59 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2020. Aleksei Gryczewski
|
||||||
|
* All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package dev.salmonllama.fsbot.commands.staff;
|
||||||
|
|
||||||
|
import dev.salmonllama.fsbot.database.controllers.UserBlacklistController;
|
||||||
|
import dev.salmonllama.fsbot.database.models.UserBlacklist;
|
||||||
|
import dev.salmonllama.fsbot.guthix.*;
|
||||||
|
import org.javacord.api.entity.message.embed.EmbedBuilder;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class BlacklistUserCommand extends Command {
|
||||||
|
@Override public String name() { return "Blacklist User"; }
|
||||||
|
@Override public String description() { return "Adds the user to the bot's blacklist, preventing them from using any commands or features"; }
|
||||||
|
@Override public String usage() { return "blacklistuser <userId> <reason>"; }
|
||||||
|
@Override public CommandCategory category() { return CommandCategory.STAFF; }
|
||||||
|
@Override public CommandPermission permission() { return new CommandPermission(PermissionType.STATIC, "admin"); }
|
||||||
|
@Override public List<String> aliases() { return Arrays.asList("blacklistuser", "bluser", "sabusr"); }
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCommand(CommandContext ctx) {
|
||||||
|
String[] args = ctx.getArgs();
|
||||||
|
|
||||||
|
if (args.length < 1) {
|
||||||
|
// Did it wrong
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If the user is on the blacklist, remove them, otherwise, add them with the reason.
|
||||||
|
UserBlacklistController.get(args[0]).thenAcceptAsync(possibleBlacklist -> possibleBlacklist.ifPresentOrElse(blacklist -> {
|
||||||
|
// Remove user from the blacklist
|
||||||
|
UserBlacklistController.delete(blacklist).thenAcceptAsync((Void) -> {
|
||||||
|
EmbedBuilder response = new EmbedBuilder()
|
||||||
|
.setTitle("Removed User from Blacklist")
|
||||||
|
.addField("User ID:", blacklist.getId())
|
||||||
|
.addField("Reason for Add", blacklist.getReason())
|
||||||
|
.addField("Added:", blacklist.getAdded().toString());
|
||||||
|
|
||||||
|
ctx.reply(response);
|
||||||
|
});
|
||||||
|
}, () -> {
|
||||||
|
// Add user to the blacklist, check args
|
||||||
|
UserBlacklist.Builder blBuilder = new UserBlacklist.Builder(args[0]);
|
||||||
|
EmbedBuilder response = new EmbedBuilder().setTitle("Added User to Blacklist").addField("User ID:", args[0]);
|
||||||
|
|
||||||
|
if (args.length > 1) {
|
||||||
|
String reason = String.join(" ", Arrays.copyOfRange(args, 1, args.length));
|
||||||
|
blBuilder.setReason(reason);
|
||||||
|
response.addField("With reason:", reason);
|
||||||
|
}
|
||||||
|
|
||||||
|
UserBlacklistController.insert(blBuilder.build()).thenAcceptAsync((Void) -> ctx.reply(response));
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
}
|
@ -13,7 +13,6 @@ import java.sql.ResultSet;
|
|||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.OptionalDouble;
|
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.concurrent.CompletionException;
|
import java.util.concurrent.CompletionException;
|
||||||
|
|
||||||
@ -119,7 +118,7 @@ public class UserBlacklistController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static UserBlacklist mapObject(ResultSet rs) throws SQLException {
|
private static UserBlacklist mapObject(ResultSet rs) throws SQLException {
|
||||||
return new UserBlacklist.UserBlacklistBuilder(rs.getString("id"))
|
return new UserBlacklist.Builder(rs.getString("id"))
|
||||||
.setReason(rs.getString("reason"))
|
.setReason(rs.getString("reason"))
|
||||||
.setAdded(new Timestamp(rs.getLong("added")))
|
.setAdded(new Timestamp(rs.getLong("added")))
|
||||||
.build();
|
.build();
|
||||||
|
@ -10,14 +10,13 @@ import dev.salmonllama.fsbot.database.DatabaseModel;
|
|||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
|
|
||||||
public class UserBlacklist extends DatabaseModel {
|
public class UserBlacklist extends DatabaseModel {
|
||||||
private String id;
|
private final String id;
|
||||||
private String reason;
|
private final String reason;
|
||||||
private Timestamp added;
|
private Timestamp added;
|
||||||
|
|
||||||
private UserBlacklist(UserBlacklistBuilder builder) {
|
private UserBlacklist(Builder builder) {
|
||||||
this.id = builder.id;
|
this.id = builder.id;
|
||||||
this.reason = builder.reason;
|
this.reason = builder.reason;
|
||||||
this.added = builder.added;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getId() {
|
public String getId() {
|
||||||
@ -52,26 +51,26 @@ public class UserBlacklist extends DatabaseModel {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class UserBlacklistBuilder {
|
public static class Builder {
|
||||||
private String id;
|
private String id;
|
||||||
private String reason;
|
private String reason;
|
||||||
private Timestamp added;
|
private Timestamp added;
|
||||||
|
|
||||||
public UserBlacklistBuilder(String id) {
|
public Builder(String id) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public UserBlacklistBuilder setId(String id) {
|
public Builder setId(String id) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public UserBlacklistBuilder setReason(String reason) {
|
public Builder setReason(String reason) {
|
||||||
this.reason = reason;
|
this.reason = reason;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public UserBlacklistBuilder setAdded(Timestamp added) {
|
public Builder setAdded(Timestamp added) {
|
||||||
this.added = added;
|
this.added = added;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user