Changed blacklist check to its own class
This commit is contained in:
1 parent
2c74327ec3
commit
b2c63d73f1
2 files changed
+30
-288
No files matched your search
@@ -1,284 +0,0 @@
|
||||
package netneutrality.handler;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import net.dv8tion.jda.core.entities.ChannelType;
|
||||
import net.dv8tion.jda.core.entities.Message;
|
||||
import net.dv8tion.jda.core.events.message.MessageReceivedEvent;
|
||||
import net.dv8tion.jda.core.hooks.ListenerAdapter;
|
||||
import netneutrality.command.basic.HelpCommand;
|
||||
import netneutrality.command.basic.PingCommand;
|
||||
import netneutrality.command.crypto.BitcoinPriceCommand;
|
||||
import netneutrality.command.crypto.EthereumPriceCommand;
|
||||
import netneutrality.command.crypto.LitecoinPriceCommand;
|
||||
import netneutrality.command.specific.NiggerCommand;
|
||||
import netneutrality.db.DBController;
|
||||
import netneutrality.db.controllers.DBBlacklist;
|
||||
import netneutrality.db.controllers.DBMessage;
|
||||
import netneutrality.db.models.MBlacklist;
|
||||
import netneutrality.utils.*;
|
||||
|
||||
public class CommandHandler extends ListenerAdapter {
|
||||
|
||||
private String prefix = "$";
|
||||
|
||||
|
||||
@Override
|
||||
public void onMessageReceived(MessageReceivedEvent event) {
|
||||
|
||||
if (event.getAuthor().isBot()) return;
|
||||
if (event.isWebhookMessage()) return;
|
||||
if (MessageRateLimit.check(event.getMember(), event.getMessage(), event.getChannel())) return;
|
||||
|
||||
// event.getChannel().sendMessage("Message id : " + event.getMessage().getId()).queue();
|
||||
|
||||
((DBMessage) DBController.get("message")).log(event.getGuild().getName(), event.getTextChannel().getName(),
|
||||
event.getMember().getUser().getName(),
|
||||
event.getMessage().getCreationTime().toInstant().toString(), event.getMessage().getId(),
|
||||
event.getMessage().getContentDisplay().trim());
|
||||
|
||||
if (event.isFromType(ChannelType.PRIVATE)) {
|
||||
System.out.printf("[PM] %s: %s\n>", event.getAuthor().getName(), event.getMessage().getContentDisplay());
|
||||
} else {
|
||||
System.out.printf("[%s][%s] %s: %s\n>", event.getGuild().getName(), event.getTextChannel().getName(),
|
||||
event.getMember().getEffectiveName(), event.getMessage().getContentDisplay());
|
||||
|
||||
|
||||
if (event.getMessage().getContentStripped().startsWith(prefix)) {
|
||||
String command = event.getMessage().getContentStripped().substring(1).split(" ")[0];
|
||||
String args = event.getMessage().getContentStripped();
|
||||
|
||||
|
||||
switch (command) {
|
||||
|
||||
case "ping":
|
||||
new PingCommand().execute(event, null);
|
||||
break;
|
||||
|
||||
case "help":
|
||||
new HelpCommand().execute(event, null);
|
||||
break;
|
||||
|
||||
case "nigger":
|
||||
new NiggerCommand().execute(event, null);
|
||||
break;
|
||||
|
||||
case "setuplog":
|
||||
((DBMessage) DBController.get("message")).setupLog(event.getGuild().getId(), event.getTextChannel().getId());
|
||||
|
||||
event.getTextChannel().sendMessage("Logging has been enabled on the #" + event.getTextChannel().getName() + " text channnel for the server " + event.getGuild().getName()).queue();
|
||||
break;
|
||||
|
||||
case "togglelog":
|
||||
|
||||
break;
|
||||
|
||||
case "shutdown":
|
||||
if (event.getAuthor().getDiscriminator().equals("5337")) {
|
||||
event.getTextChannel().sendMessage("Shutting down...").queue();
|
||||
|
||||
event.getJDA().shutdown();
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case "bitcoin":
|
||||
case "btc":
|
||||
if (countArgs(event.getMessage().getContentStripped()) == 2) {
|
||||
event.getTextChannel().sendMessage("In maintenance.").queue();
|
||||
} else {
|
||||
new BitcoinPriceCommand().execute(event, null);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case "ethereum":
|
||||
case "eth":
|
||||
if (countArgs(event.getMessage().getContentStripped()) == 2) {
|
||||
event.getTextChannel().sendMessage("In maintenance.").queue();
|
||||
} else {
|
||||
new EthereumPriceCommand().execute(event, null);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case "litecoin":
|
||||
case "ltc":
|
||||
if (countArgs(event.getMessage().getContentStripped()) == 2) {
|
||||
event.getTextChannel().sendMessage("In maintenance.").queue();
|
||||
} else {
|
||||
new LitecoinPriceCommand().execute(event, null);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
// prune command
|
||||
case "prune":
|
||||
case "purge":
|
||||
|
||||
if (UserFunction.isAdmin(event.getMember())) {
|
||||
|
||||
try {
|
||||
int toDelete = Integer.parseInt(parseArgs(event.getMessage().getContentStripped(), 1));
|
||||
ChannelFunction.bulkDeleteMessage(event.getTextChannel(), toDelete);
|
||||
} catch (NumberFormatException | ArrayIndexOutOfBoundsException e) {
|
||||
event.getTextChannel().sendMessage("Failed to delete message!").queue();
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case "blacklist":
|
||||
|
||||
if (UserFunction.isAdmin(event.getMember())) {
|
||||
|
||||
|
||||
|
||||
if (countArgs(args) >= 2) {
|
||||
switch (parseArgs(args, 1)) {
|
||||
|
||||
case "get":
|
||||
|
||||
event.getTextChannel().sendMessage("Retreiving list, please wait...").queue(new Consumer<Message>() {
|
||||
|
||||
@Override
|
||||
public void accept(Message t) {
|
||||
String out = "";
|
||||
|
||||
ArrayList<MBlacklist> blacklist = null;
|
||||
try {
|
||||
blacklist = ((DBBlacklist) DBController.get("blacklist")).getBlacklistFromServer(event.getGuild().getId());
|
||||
for (MBlacklist bl : blacklist) {
|
||||
out += bl.getWord() + " -> " + (bl.isEnabled() ? "enabled" : "disabled") + "\n";
|
||||
}
|
||||
} catch (RuntimeException e) {
|
||||
LogHandler.log(e);
|
||||
}
|
||||
t.editMessage("List of blacklisted words for this server [" + event.getGuild().getName() + "] :\n" + (blacklist.isEmpty() ? "No word found" : out)).queue();
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
break;
|
||||
|
||||
case "add":
|
||||
if (UserFunction.isAdmin(event.getMember())) {
|
||||
String word = parseArgs(event.getMessage().getContentStripped(), 2);
|
||||
|
||||
try {
|
||||
((DBBlacklist) DBController.get("blacklist")).add(new MBlacklist(word, true, event.getAuthor().getId(), event.getGuild().getId()));
|
||||
event.getTextChannel().sendMessage("Added the word \"" + word + "\" to the blacklist.").queue();
|
||||
} catch (RuntimeException e) {
|
||||
event.getTextChannel().sendMessage("Error adding \"" + word + "\" to the blacklist. It's already blacklisted!").queue();
|
||||
LogHandler.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case "remove":
|
||||
if (UserFunction.isAdmin(event.getMember())) {
|
||||
String word = parseArgs(event.getMessage().getContentStripped(), 2);
|
||||
|
||||
try {
|
||||
((DBBlacklist) DBController.get("blacklist")).delete(word, event.getGuild().getId());
|
||||
event.getTextChannel().sendMessage("Removed the word \"" + word + "\" from the blacklist.").queue();
|
||||
} catch (RuntimeException e) {
|
||||
LogHandler.log(e);
|
||||
event.getTextChannel().sendMessage("Error removing \"" + word + "\" from the blacklist").queue();
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case "disable":
|
||||
|
||||
if (event.getAuthor().getDiscriminator().equals("5337")) {
|
||||
String word = parseArgs(event.getMessage().getContentStripped(), 2);
|
||||
|
||||
try {
|
||||
((DBBlacklist) DBController.get("blacklist")).disable(word, event.getGuild().getId());
|
||||
event.getTextChannel().sendMessage("Succesfully disabled the word \"" + word + "\" from the blacklist!").queue();
|
||||
} catch (NullPointerException e) {
|
||||
LogHandler.log(e);
|
||||
event.getTextChannel().sendMessage("Error disabling \"" + word + "\", it's not blacklisted!").queue();
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case "enable":
|
||||
|
||||
if (event.getAuthor().getDiscriminator().equals("5337")) {
|
||||
String word = parseArgs(event.getMessage().getContentStripped(), 2);
|
||||
|
||||
try {
|
||||
((DBBlacklist) DBController.get("blacklist")).enable(word, event.getGuild().getId());
|
||||
event.getTextChannel().sendMessage("Succesfully enabled the word \"" + word + "\" from the blacklist!").queue();
|
||||
} catch (NullPointerException e) {
|
||||
event.getTextChannel().sendMessage("Error enabling \"" + word + "\", it's not blacklisted!").queue();
|
||||
LogHandler.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case "test":
|
||||
if (event.getAuthor().getDiscriminator().equals("5337")) {
|
||||
event.getMessage().delete().queue();
|
||||
event.getTextChannel().sendMessage("```JF est gay```").queue();
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else {
|
||||
ArrayList<MBlacklist> blacklist = ((DBBlacklist) DBController.get("blacklist")).getBlacklistFromServer(event.getGuild().getId());
|
||||
|
||||
if (!blacklist.isEmpty()) {
|
||||
boolean found = false;
|
||||
for (int i = 0; i < blacklist.size(); i++) {
|
||||
if (blacklist.get(i).isEnabled()) {
|
||||
if (event.getMessage().getContentStripped().toLowerCase().contains(blacklist.get(i).getWord()))
|
||||
found = true;
|
||||
}
|
||||
|
||||
}
|
||||
if (found) {
|
||||
event.getMessage().delete().queue();
|
||||
event.getTextChannel().sendMessage("Not in my christian server").queue();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private int countArgs(String command) {
|
||||
List<String> args = Arrays.asList(command.split(" "));
|
||||
return args.size();
|
||||
}
|
||||
|
||||
private String parseArgs(String command, int arg) {
|
||||
List<String> args = Arrays.asList(command.split(" "));
|
||||
return args.get(arg);
|
||||
}
|
||||
}
|
||||
@@ -7,14 +7,16 @@ package netneutrality.utils;
|
||||
*/
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
|
||||
import net.dv8tion.jda.core.EmbedBuilder;
|
||||
import net.dv8tion.jda.core.entities.ChannelType;
|
||||
import net.dv8tion.jda.core.entities.Member;
|
||||
import net.dv8tion.jda.core.entities.Message;
|
||||
import net.dv8tion.jda.core.entities.MessageEmbed;
|
||||
import net.dv8tion.jda.core.entities.*;
|
||||
import netneutrality.db.DBController;
|
||||
import netneutrality.db.controllers.DBBlacklist;
|
||||
import netneutrality.db.models.MBlacklist;
|
||||
|
||||
public class MessageFunction {
|
||||
|
||||
@@ -51,4 +53,28 @@ public class MessageFunction {
|
||||
return message.build();
|
||||
}
|
||||
|
||||
public static void checkBlacklist(String guildId, Message message, TextChannel channel,String msg) {
|
||||
try {
|
||||
((DBBlacklist) DBController.get("blacklist")).getBlacklistFromServer(guildId, new Consumer<ArrayList<MBlacklist>>() {
|
||||
@Override
|
||||
public void accept(ArrayList<MBlacklist> mBlacklists) {
|
||||
if (!mBlacklists.isEmpty()) {
|
||||
|
||||
boolean found = false;
|
||||
for (MBlacklist aBlacklist : mBlacklists) {
|
||||
if (msg.toLowerCase().contains(aBlacklist.getWord()))
|
||||
found = true;
|
||||
}
|
||||
|
||||
if (found) {
|
||||
message.delete().queue();
|
||||
channel.sendMessage("Not in my christian server").queue();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (RuntimeException ignored) {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user