InviteLink Detect improvements
This commit is contained in:
parent
f665e7ef8f
commit
16f26604cd
1 changed files with 28 additions and 51 deletions
|
|
@ -7,6 +7,7 @@ package com.bbn.hadder.listener;
|
||||||
import com.bbn.hadder.Rethink;
|
import com.bbn.hadder.Rethink;
|
||||||
import net.dv8tion.jda.api.Permission;
|
import net.dv8tion.jda.api.Permission;
|
||||||
import net.dv8tion.jda.api.entities.ChannelType;
|
import net.dv8tion.jda.api.entities.ChannelType;
|
||||||
|
import net.dv8tion.jda.api.entities.Message;
|
||||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||||
import net.dv8tion.jda.api.events.message.MessageUpdateEvent;
|
import net.dv8tion.jda.api.events.message.MessageUpdateEvent;
|
||||||
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
||||||
|
|
@ -30,67 +31,43 @@ public class InviteLinkListener extends ListenerAdapter {
|
||||||
if (event.isFromType(ChannelType.TEXT)) {
|
if (event.isFromType(ChannelType.TEXT)) {
|
||||||
if (event.getMessage().getContentRaw().contains("discord.gg/")) {
|
if (event.getMessage().getContentRaw().contains("discord.gg/")) {
|
||||||
if (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
|
if (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
|
||||||
String split = event.getMessage().getContentRaw().split("discord.gg/", 10)[1];
|
checkInvite(event.getMessage(), "discord.gg/");
|
||||||
String invite = split.split(" ")[0];
|
|
||||||
OkHttpClient client = new OkHttpClient();
|
|
||||||
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
|
|
||||||
try {
|
|
||||||
Response response = client.newCall(request).execute();
|
|
||||||
JSONObject json = new JSONObject(response.body().string());
|
|
||||||
if (!json.toString().contains("\"message\":")) {
|
|
||||||
event.getMessage().delete().reason("Invite Link detected").queue();
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
|
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite")) {
|
||||||
String split = event.getMessage().getContentRaw().split("discordapp.com/invite/", 10)[1];
|
if ( !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
|
||||||
String invite = split.split(" ")[0];
|
checkInvite(event.getMessage(), "discordapp.com/invite/");
|
||||||
OkHttpClient client = new OkHttpClient();
|
|
||||||
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
|
|
||||||
try {
|
|
||||||
Response response = client.newCall(request).execute();
|
|
||||||
JSONObject json = new JSONObject(response.body().string());
|
|
||||||
if (!json.toString().contains("\"message\":")) {
|
|
||||||
event.getMessage().delete().reason("Invite Link detected").queue();
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void checkInvite(Message message, String regex) {
|
||||||
|
String split = message.getContentRaw().split(regex, 10)[1];
|
||||||
|
String invite = split.split(" ")[0];
|
||||||
|
OkHttpClient client = new OkHttpClient();
|
||||||
|
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
|
||||||
|
try {
|
||||||
|
Response response = client.newCall(request).execute();
|
||||||
|
JSONObject json = new JSONObject(response.body().string());
|
||||||
|
if (!json.toString().contains("\"message\":")) {
|
||||||
|
message.delete().reason("Invite Link detected").queue();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMessageUpdate(@Nonnull MessageUpdateEvent event) {
|
public void onMessageUpdate(@Nonnull MessageUpdateEvent event) {
|
||||||
if (event.isFromType(ChannelType.TEXT) && event.getMessage().getContentRaw().contains("discord.gg/") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
|
if (event.isFromType(ChannelType.TEXT)) {
|
||||||
String split = event.getMessage().getContentRaw().split("discord.gg/", 10)[1];
|
if (event.getMessage().getContentRaw().contains("discord.gg/")) {
|
||||||
String invite = split.split(" ")[0];
|
if (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
|
||||||
OkHttpClient client = new OkHttpClient();
|
checkInvite(event.getMessage(), "discord.gg/");
|
||||||
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
|
|
||||||
try {
|
|
||||||
Response response = client.newCall(request).execute();
|
|
||||||
JSONObject json = new JSONObject(response.body().string());
|
|
||||||
if (!json.toString().contains("\"message\":")) {
|
|
||||||
event.getMessage().delete().reason("Invite Link detected").queue();
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite")) {
|
||||||
e.printStackTrace();
|
if (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
|
||||||
}
|
checkInvite(event.getMessage(), "discordapp.com/invite/");
|
||||||
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
|
|
||||||
String split = event.getMessage().getContentRaw().split("discordapp.com/invite/", 10)[1];
|
|
||||||
String invite = split.split(" ")[0];
|
|
||||||
OkHttpClient client = new OkHttpClient();
|
|
||||||
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
|
|
||||||
try {
|
|
||||||
Response response = client.newCall(request).execute();
|
|
||||||
JSONObject json = new JSONObject(response.body().string());
|
|
||||||
if (!json.toString().contains("\"message\":")) {
|
|
||||||
event.getMessage().delete().reason("Invite Link detected").queue();
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue