Implemented user blacklist functionality

This commit is contained in:
Salmonllama 2020-11-25 11:19:01 -05:00
parent a570400b66
commit d8ca10c2c1
2 changed files with 23 additions and 8 deletions

View File

@ -11,10 +11,13 @@ import dev.salmonllama.fsbot.commands.osrssearch.*;
import dev.salmonllama.fsbot.commands.rs3search.*;
import dev.salmonllama.fsbot.commands.staff.OutfitInfoCommand;
import dev.salmonllama.fsbot.commands.staff.*;
import dev.salmonllama.fsbot.database.controllers.UserBlacklistController;
import org.javacord.api.DiscordApi;
import org.javacord.api.entity.message.MessageAuthor;
import org.javacord.api.event.message.MessageCreateEvent;
import org.javacord.api.listener.message.MessageCreateListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Collection;
import java.util.HashMap;
@ -23,6 +26,8 @@ import java.util.HashMap;
* Guthix is Fashionscape Bot's command repository and dispatcher
*/
public class Guthix implements MessageCreateListener {
private final static Logger logger = LoggerFactory.getLogger(Guthix.class);
@SuppressWarnings("unused")
private final DiscordApi api;
@ -58,6 +63,7 @@ public class Guthix implements MessageCreateListener {
addCommand(new WelcomeMessageCommand());
addCommand(new ShowGalleriesCommand());
addCommand(new EditMetaCommand());
addCommand(new BlacklistUserCommand());
// General Commands
addCommand(new PingCommand());
@ -96,7 +102,6 @@ public class Guthix implements MessageCreateListener {
public void addCommand(Command cmd) {
registry.addCommand(cmd);
// return cmd;
}
public Collection<Command> listCommands() {
@ -126,18 +131,19 @@ public class Guthix implements MessageCreateListener {
return;
}
// Check for blacklisted user
if (!UserBlacklistController.exists(author.getIdAsString()).join()) {
// User is not blacklisted, continue as normal
} else {
return;
}
RegistryCommand rComm = registry.getCommandInfo(content);
String cmdString = rComm.getCommand().toLowerCase();
// if (registry.isCommandAlias(cmdString)) {
//
// } else {
// return;
// }
String[] cmdArgs = rComm.getArgs();
Command cmd = registry.findCommand(cmdString).orElse(new DefaultCommand()); // TODO: default command here
Command cmd = registry.findCommand(cmdString).orElse(new DefaultCommand());
CommandContext ctx = new CommandContext.CommandContextBuilder(
event,

View File

@ -9,6 +9,7 @@ import com.vdurmont.emoji.EmojiParser;
import dev.salmonllama.fsbot.config.BotConfig;
import dev.salmonllama.fsbot.database.controllers.GalleryController;
import dev.salmonllama.fsbot.database.controllers.OutfitController;
import dev.salmonllama.fsbot.database.controllers.UserBlacklistController;
import dev.salmonllama.fsbot.database.models.Outfit;
import dev.salmonllama.fsbot.endpoints.imgur.ImgurAPIConnection;
import org.javacord.api.entity.channel.ServerTextChannel;
@ -17,11 +18,15 @@ import org.javacord.api.entity.message.embed.EmbedBuilder;
import org.javacord.api.event.message.MessageCreateEvent;
import org.javacord.api.listener.message.MessageCreateListener;
import org.javacord.api.util.logging.ExceptionLogger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.awt.Color;
import java.util.UUID;
public class ImageListener implements MessageCreateListener {
private static final Logger logger = LoggerFactory.getLogger(ImageListener.class);
@Override
public void onMessageCreate(MessageCreateEvent event) {
@ -38,6 +43,10 @@ public class ImageListener implements MessageCreateListener {
return;
}
if (UserBlacklistController.exists(event.getMessageAuthor().getIdAsString()).join()) {
return;
}
// Only works in Server Text Channels
event.getChannel().asServerTextChannel().ifPresent(channel -> {
// Only works in registered Gallery Channels