For Episode 6 of the JDA Tutorial: https://youtu.be/rD4uKMSHZa8
public class FilterMessage extends ListenerAdapter {
public static boolean allowed = false;
public void onGuildMessageReceived(GuildMessageReceivedEvent e){
if(FilterOnOff.filterOn) {
if (e.getMessage().getContentRaw().equalsIgnoreCase("$filtermessage") && !allowed) {
e.getChannel().sendMessage("Filter Response Has Been Enabled.").queue();
System.out.println("Enabled");
allowed = true;
} else if (e.getMessage().getContentRaw().equalsIgnoreCase("$filtermessage") && allowed) {
e.getChannel().sendMessage("Filter Response Has Been Disabled.").queue();
System.out.println("Disabled");
allowed = false;
}
}else if(e.getMessage().getContentRaw().equalsIgnoreCase("$filtermessage") && !FilterOnOff.filterOn){
e.getChannel().sendMessage("You can't toggle filter response while the filter is off. To turn the filter on, run $togglefilter").queue();
}
}
}
public class FilterOnOff extends ListenerAdapter {
public static boolean filterOn = true;
public void onGuildMessageReceived(GuildMessageReceivedEvent event) {
if (event.getMessage().getContentRaw().equalsIgnoreCase("$togglefilter") && filterOn){
filterOn = false;
event.getChannel().sendMessage("The Curse-Filter has been disabled by " + event.getMember().getUser().getName()).queue();
}else if(event.getMessage().getContentRaw().equalsIgnoreCase("$togglefilter") && !filterOn){
filterOn = true;
event.getChannel().sendMessage("The Curse-Filter has been enabled by " + event.getMember().getUser().getName()).queue();
}
}
}
public class Filter extends ListenerAdapter {
public void onGuildMessageReceived(GuildMessageReceivedEvent e) {
if(FilterOnOff.filterOn){
String[] LIST_OF_BAD_WORDS = {"anal", "anus", "arse", "ass", "motherfucker", "balls", "bastard", "bitch", "blowjob", "blow job", "buttplug","cock","coon","cunt","dildo","fag","dyke","fuck","fucking","nigger","Goddamn","jizz","nigga","pussy","shit","whore"};
String[] message = e.getMessage().getContentRaw().split(" ");
for(int i = 0;i < message.length;i++){
boolean badWord = false;
//Check each message for each bad word
for(int b = 0; b < LIST_OF_BAD_WORDS.length;b++){
if (message[i].equalsIgnoreCase(LIST_OF_BAD_WORDS[b])){
e.getMessage().delete().queue();
badWord = true;
if(FilterMessage.allowed){ //Prints a message saying watch your language IF enabled by $filtermessage
e.getChannel().sendMessage("Watch yo vernacular " + e.getMember().getUser().getName()).queue();
}
}
}
System.out.println(message[i] + " " + badWord); //Just a report for console
}
}
}
}
public class Bot {
public static void main(String args[]) throws Exception{
JDA jda = new JDABuilder("yourtoken").build();
jda.addEventListener(new Filter());
jda.addEventListener(new FilterMessage());
jda.addEventListener(new FilterOnOff());
}
}