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) {
if (args.length == 1) {
if (event.getMember().hasPermission(Permission.MANAGE_SERVER)) {
switch (args[0].toLowerCase()) {
String opinion = args[0].toLowerCase();
switch (opinion) {
case "on":
if (!event.getRethink().getInviteDetection(event.getGuild().getId())) {
event.getRethink().setInviteDetection(event.getGuild().getId(), true);

View file

@ -14,7 +14,8 @@ public class RoleCommand implements Command {
if (args.length > 0) {
if (event.getMember().hasPermission(Permission.MANAGE_ROLES)) {
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":
if (event.getMessage().getMentionedMembers().size() > 0 && event.getMessage().getMentionedRoles().size() > 0) {
for (Member member : event.getMessage().getMentionedMembers()) {

View file

@ -30,41 +30,35 @@ public class InviteLinkListener extends ListenerAdapter {
public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
if (event.isFromType(ChannelType.TEXT)) {
if (event.getMessage().getContentRaw().contains("discord.gg/")) {
if (!event.getMember().hasPermission(Permission.ADMINISTRATOR)) {
if (rethink.getInviteDetection(event.getGuild().getId())) {
String split = event.getMessage().getContentRaw().split("discord.gg/", 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();
if (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
String split = event.getMessage().getContentRaw().split("discord.gg/", 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();
}
} else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
}
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite")) {
if (!event.getMember().hasPermission(Permission.ADMINISTRATOR)) {
if (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();
if (!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();
}
}
}
@ -74,43 +68,33 @@ public class InviteLinkListener extends ListenerAdapter {
@Override
public void onMessageUpdate(@Nonnull MessageUpdateEvent event) {
if (event.isFromType(ChannelType.TEXT)) {
if (event.getMessage().getContentRaw().contains("discord.gg/")) {
if (event.getMember().hasPermission(Permission.MANAGE_SERVER)) {
if (rethink.getInviteDetection(event.getGuild().getId())) {
String split = event.getMessage().getContentRaw().split("discord.gg/", 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();
}
if (event.getMessage().getContentRaw().contains("discord.gg/") && event.getMember().hasPermission(Permission.MANAGE_SERVER) && rethink.getInviteDetection(event.getGuild().getId())) {
String split = event.getMessage().getContentRaw().split("discord.gg/", 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();
}
} else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
} catch (Exception e) {
e.printStackTrace();
}
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite")) {
if (event.getMember().hasPermission(Permission.MANAGE_SERVER)) {
if (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();
}
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite") && event.getMember().hasPermission(Permission.MANAGE_SERVER) && 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();
}
}
}

View file

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