4 more improvements

This commit is contained in:
GregTCLTK 2019-12-02 09:11:15 +01:00
parent 67faa70aaf
commit 8bea23f41b
No known key found for this signature in database
GPG key ID: A91BADE5C070FF67
4 changed files with 54 additions and 69 deletions

View file

@ -15,7 +15,8 @@ public class InviteDetectCommand implements Command {
public void executed(String[] args, CommandEvent event) { public void executed(String[] args, CommandEvent event) {
if (args.length == 1) { if (args.length == 1) {
if (event.getMember().hasPermission(Permission.MANAGE_SERVER)) { if (event.getMember().hasPermission(Permission.MANAGE_SERVER)) {
switch (args[0].toLowerCase()) { String opinion = args[0].toLowerCase();
switch (opinion) {
case "on": case "on":
if (!event.getRethink().getInviteDetection(event.getGuild().getId())) { if (!event.getRethink().getInviteDetection(event.getGuild().getId())) {
event.getRethink().setInviteDetection(event.getGuild().getId(), true); event.getRethink().setInviteDetection(event.getGuild().getId(), true);

View file

@ -14,7 +14,8 @@ public class RoleCommand implements Command {
if (args.length > 0) { if (args.length > 0) {
if (event.getMember().hasPermission(Permission.MANAGE_ROLES)) { if (event.getMember().hasPermission(Permission.MANAGE_ROLES)) {
if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
switch (args[0].toLowerCase()) { String action = args[0].toLowerCase();
switch (action) {
case "add": case "add":
if (event.getMessage().getMentionedMembers().size() > 0 && event.getMessage().getMentionedRoles().size() > 0) { if (event.getMessage().getMentionedMembers().size() > 0 && event.getMessage().getMentionedRoles().size() > 0) {
for (Member member : event.getMessage().getMentionedMembers()) { for (Member member : event.getMessage().getMentionedMembers()) {

View file

@ -30,41 +30,35 @@ public class InviteLinkListener extends ListenerAdapter {
public void onMessageReceived(@Nonnull MessageReceivedEvent event) { public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
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)) { if (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
if (rethink.getInviteDetection(event.getGuild().getId())) { String split = event.getMessage().getContentRaw().split("discord.gg/", 10)[1];
String split = event.getMessage().getContentRaw().split("discord.gg/", 10)[1]; String invite = split.split(" ")[0];
String invite = split.split(" ")[0]; OkHttpClient client = new OkHttpClient();
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build(); try {
try { Response response = client.newCall(request).execute();
Response response = client.newCall(request).execute(); JSONObject json = new JSONObject(response.body().string());
JSONObject json = new JSONObject(response.body().string()); if (!json.toString().contains("\"message\":")) {
if (!json.toString().contains("\"message\":")) { event.getMessage().delete().reason("Invite Link detected").queue();
event.getMessage().delete().reason("Invite Link detected").queue();
}
} catch (Exception e) {
e.printStackTrace();
} }
} catch (Exception e) {
e.printStackTrace();
} }
} else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
} }
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite")) { } else if (event.getMessage().getContentRaw().contains("discordapp.com/invite")) {
if (!event.getMember().hasPermission(Permission.ADMINISTRATOR)) { if (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
if (rethink.getInviteDetection(event.getGuild().getId())) { String split = event.getMessage().getContentRaw().split("discordapp.com/invite/", 10)[1];
String split = event.getMessage().getContentRaw().split("discordapp.com/invite/", 10)[1]; String invite = split.split(" ")[0];
String invite = split.split(" ")[0]; OkHttpClient client = new OkHttpClient();
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build(); try {
try { Response response = client.newCall(request).execute();
Response response = client.newCall(request).execute(); JSONObject json = new JSONObject(response.body().string());
JSONObject json = new JSONObject(response.body().string()); if (!json.toString().contains("\"message\":")) {
if (!json.toString().contains("\"message\":")) { event.getMessage().delete().reason("Invite Link detected").queue();
event.getMessage().delete().reason("Invite Link detected").queue();
}
} catch (Exception e) {
e.printStackTrace();
} }
} catch (Exception e) {
e.printStackTrace();
} }
} }
} }
@ -74,43 +68,33 @@ public class InviteLinkListener extends ListenerAdapter {
@Override @Override
public void onMessageUpdate(@Nonnull MessageUpdateEvent event) { public void onMessageUpdate(@Nonnull MessageUpdateEvent event) {
if (event.isFromType(ChannelType.TEXT)) { if (event.isFromType(ChannelType.TEXT)) {
if (event.getMessage().getContentRaw().contains("discord.gg/")) { if (event.getMessage().getContentRaw().contains("discord.gg/") && event.getMember().hasPermission(Permission.MANAGE_SERVER) && rethink.getInviteDetection(event.getGuild().getId())) {
if (event.getMember().hasPermission(Permission.MANAGE_SERVER)) { String split = event.getMessage().getContentRaw().split("discord.gg/", 10)[1];
if (rethink.getInviteDetection(event.getGuild().getId())) { String invite = split.split(" ")[0];
String split = event.getMessage().getContentRaw().split("discord.gg/", 10)[1]; OkHttpClient client = new OkHttpClient();
String invite = split.split(" ")[0]; Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
OkHttpClient client = new OkHttpClient(); try {
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build(); Response response = client.newCall(request).execute();
try { JSONObject json = new JSONObject(response.body().string());
Response response = client.newCall(request).execute(); if (!json.toString().contains("\"message\":")) {
JSONObject json = new JSONObject(response.body().string()); event.getMessage().delete().reason("Invite Link detected").queue();
if (!json.toString().contains("\"message\":")) {
event.getMessage().delete().reason("Invite Link detected").queue();
}
} catch (Exception e) {
e.printStackTrace();
}
} }
} else { } catch (Exception e) {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); e.printStackTrace();
} }
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite")) { } else if (event.getMessage().getContentRaw().contains("discordapp.com/invite") && event.getMember().hasPermission(Permission.MANAGE_SERVER) && rethink.getInviteDetection(event.getGuild().getId())) {
if (event.getMember().hasPermission(Permission.MANAGE_SERVER)) { String split = event.getMessage().getContentRaw().split("discordapp.com/invite/", 10)[1];
if (rethink.getInviteDetection(event.getGuild().getId())) { String invite = split.split(" ")[0];
String split = event.getMessage().getContentRaw().split("discordapp.com/invite/", 10)[1]; OkHttpClient client = new OkHttpClient();
String invite = split.split(" ")[0]; Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
OkHttpClient client = new OkHttpClient(); try {
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build(); Response response = client.newCall(request).execute();
try { JSONObject json = new JSONObject(response.body().string());
Response response = client.newCall(request).execute(); if (!json.toString().contains("\"message\":")) {
JSONObject json = new JSONObject(response.body().string()); event.getMessage().delete().reason("Invite Link detected").queue();
if (!json.toString().contains("\"message\":")) {
event.getMessage().delete().reason("Invite Link detected").queue();
}
} catch (Exception e) {
e.printStackTrace();
}
} }
} catch (Exception e) {
e.printStackTrace();
} }
} }
} }

View file

@ -9,9 +9,9 @@ public class MessageEditor {
public EmbedBuilder setDefaultSettings(MessageType type) { public EmbedBuilder setDefaultSettings(MessageType type) {
EmbedBuilder builder = new EmbedBuilder(); EmbedBuilder builder = new EmbedBuilder();
switch (type) { switch (type) {
case INFO: case INFO:
builder.setColor(new Color(47,94,105)).setTimestamp(Instant.now()); builder.setColor(new Color(47, 94, 105)).setTimestamp(Instant.now());
break; break;
case ERROR: case ERROR:
@ -40,5 +40,4 @@ public class MessageEditor {
NO_PERMISSION, NO_PERMISSION,
NO_SELF_PERMISSION NO_SELF_PERMISSION
} }
} }