Merge pull request #39 from Fashionscape/master

Update Dev
This commit is contained in:
Aleksei Gryczewski 2020-11-24 14:36:00 -05:00 committed by GitHub
commit d9c9197dbb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 68 additions and 69 deletions

View File

@ -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);
});
});
});
}
}

View File

@ -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));
}));
}
}

View File

@ -13,7 +13,6 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.Optional;
import java.util.OptionalDouble;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionException;
@ -119,7 +118,7 @@ public class UserBlacklistController {
}
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"))
.setAdded(new Timestamp(rs.getLong("added")))
.build();

View File

@ -10,14 +10,13 @@ import dev.salmonllama.fsbot.database.DatabaseModel;
import java.sql.Timestamp;
public class UserBlacklist extends DatabaseModel {
private String id;
private String reason;
private final String id;
private final String reason;
private Timestamp added;
private UserBlacklist(UserBlacklistBuilder builder) {
private UserBlacklist(Builder builder) {
this.id = builder.id;
this.reason = builder.reason;
this.added = builder.added;
}
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 reason;
private Timestamp added;
public UserBlacklistBuilder(String id) {
public Builder(String id) {
this.id = id;
}
public UserBlacklistBuilder setId(String id) {
public Builder setId(String id) {
this.id = id;
return this;
}
public UserBlacklistBuilder setReason(String reason) {
public Builder setReason(String reason) {
this.reason = reason;
return this;
}
public UserBlacklistBuilder setAdded(Timestamp added) {
public Builder setAdded(Timestamp added) {
this.added = added;
return this;
}