From 8840219162c7625aeba4b4447b7242f78235bb27 Mon Sep 17 00:00:00 2001 From: Skidder Date: Mon, 2 Dec 2019 19:39:14 +0100 Subject: [PATCH 1/4] Set theme jekyll-theme-cayman --- _config.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 _config.yml diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..c419263 --- /dev/null +++ b/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-cayman \ No newline at end of file -- 2.45.3 From 61d7e9ba3fcc4acfa7e7cc978d5097f5db1a4cf6 Mon Sep 17 00:00:00 2001 From: Skidder Date: Mon, 2 Dec 2019 19:40:14 +0100 Subject: [PATCH 2/4] Set theme jekyll-theme-cayman -- 2.45.3 From 647e48c5929cf43e5b5ae02eb6e6010b49a87441 Mon Sep 17 00:00:00 2001 From: Skidder Date: Mon, 2 Dec 2019 21:13:20 +0100 Subject: [PATCH 3/4] Revert "Rules with custom emotes" --- example-config.json | 25 +- src/main/java/com/bbn/hadder/Rethink.java | 12 +- .../moderation/InviteDetectCommand.java | 2 +- .../commands/moderation/RulesCommand.java | 239 +++++++++--------- .../hadder/listener/InviteLinkListener.java | 27 +- .../bbn/hadder/listener/RulesListener.java | 25 +- .../com/bbn/hadder/utils/MessageEditor.java | 29 +-- 7 files changed, 156 insertions(+), 203 deletions(-) diff --git a/example-config.json b/example-config.json index f201256..b56984e 100644 --- a/example-config.json +++ b/example-config.json @@ -2,23 +2,22 @@ "Owners": [], "Database":{"IP":"", - "Port": 6775, - "DBName": "", - "Username": "", - "Password": ""}, - "Tokens": { - "BotToken": "", - "Giphy": "", + "Port":6775, + "DBName":"", + "Username":"", + "Password":""}, + "Tokens":{ + "BotToken":"", + "Giphy":"", "GitHub": "", - "MythicalBotList": "", - "BotsForDiscord": "", - "DiscordBotList": "", - "DiscordBestBots": "", + "MythicalBotList":"", + "BotsForDiscord":"", + "DiscordBotList":"", + "DiscordBestBots":"", "DiscordBoats": "", "YetAnotherBotList": "", "DiscordExtremeList": "", "DiscordBotReviews": "", - "DiscordBots": "", - "BotListSpace": "" + "DiscordBots": "" } } diff --git a/src/main/java/com/bbn/hadder/Rethink.java b/src/main/java/com/bbn/hadder/Rethink.java index 283a1a1..5b41cd8 100644 --- a/src/main/java/com/bbn/hadder/Rethink.java +++ b/src/main/java/com/bbn/hadder/Rethink.java @@ -150,11 +150,9 @@ public class Rethink { this.insert("user", r.hashMap("id", id).with("prefix", "h.")); } - public void updateRules(String guild_id, String message_id, String role_id, String accept_emote, String decline_emote) { + public void updateRules(String guild_id, String message_id, String role_id) { this.update("server", guild_id, "message_id", message_id); this.update("server", guild_id, "role_id", role_id); - this.update("server", guild_id, "accept_emote", accept_emote); - this.update("server", guild_id, "decline_emote", decline_emote); } public String getRulesMID(String guild_id) { @@ -165,14 +163,6 @@ public class Rethink { return (String) this.get("server", "id", guild_id, "role_id"); } - public String getRulesAEmote(String guild_id) { - return (String) this.get("server", "id", guild_id, "accept_emote"); - } - - public String getRulesDEmote(String guild_id) { - return (String) this.get("server", "id", guild_id, "decline_emote"); - } - public void setInviteDetection(String guild_id, boolean b) { try { r.table("server").get(guild_id).update(r.hashMap("invite_detect", b)).run(conn); diff --git a/src/main/java/com/bbn/hadder/commands/moderation/InviteDetectCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/InviteDetectCommand.java index 12ddc03..f956bd9 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/InviteDetectCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/InviteDetectCommand.java @@ -14,7 +14,7 @@ public class InviteDetectCommand implements Command { @Override public void executed(String[] args, CommandEvent event) { if (args.length == 1) { - if (event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { + if (event.getMember().hasPermission(Permission.MANAGE_SERVER)) { String opinion = args[0].toLowerCase(); switch (opinion) { case "on": diff --git a/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java index d6e80f8..4903b7b 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java @@ -9,11 +9,9 @@ import com.bbn.hadder.commands.CommandEvent; import com.bbn.hadder.utils.EventWaiter; import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.Permission; -import net.dv8tion.jda.api.entities.Emote; import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.entities.Role; import net.dv8tion.jda.api.entities.TextChannel; -import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent; public class RulesCommand implements Command { @@ -29,7 +27,64 @@ public class RulesCommand implements Command { if (event1.getMessage().getMentionedChannels().size() == 1) { try { TextChannel channel = event1.getMessage().getMentionedChannels().get(0); - createRules(event, event1, channel); + if (channel.getGuild().getId().equals(event1.getGuild().getId())) { + if (event.getGuild().getSelfMember().hasPermission(channel, Permission.MESSAGE_WRITE)) { + event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("Rules") + .setDescription("The channel was successfully set to " + channel.getName() + ". Please send me the rules now.") + .build()).queue(); + new EventWaiter().newOnMessageEventWaiter(event2 -> { + String message = event2.getMessage().getContentDisplay(); + event2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("Role to assign") + .setDescription("The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.") + .build()).queue(); + new EventWaiter().newOnMessageEventWaiter(event3 -> { + if (event.getMessage().getMentionedRoles().size() == 1) { + Role role = event.getMessage().getMentionedRoles().get(0); + if (event3.getGuild().getSelfMember().canInteract(role)) { + event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("The role has been successfully set to " + role.getName() + ".") + .build()).queue(); + Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("Rules") + .setDescription(message) + .build()).complete(); + rules.addReaction("✅").queue(); + rules.addReaction("❌").queue(); + event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId()); + } else { + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); + } + } else { + Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentStripped(), true).get(0); + if (event3.getGuild().getSelfMember().canInteract(role)) { + event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("The role has been successfully set to " + role.getName() + ".") + .build()).queue(); + Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("Rules") + .setDescription(message) + .build()).complete(); + rules.addReaction("✅").queue(); + rules.addReaction("❌").queue(); + event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId()); + } else { + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); + } + } + }, event.getJDA(), event.getAuthor()); + }, event.getJDA(), event.getAuthor()); + } else { + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION) + .build()).queue(); + } + } else { + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING) + .setTitle("Wrong Guild") + .setDescription("The mentioned channel must be on this guid!") + .build()).queue(); + } } catch (Exception e) { event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR) .setTitle("Channel not found") @@ -39,7 +94,64 @@ public class RulesCommand implements Command { } else { try { TextChannel channel = event1.getGuild().getTextChannelsByName(event1.getMessage().getContentRaw(), true).get(0); - createRules(event, event1, channel); + if (channel.getGuild().getId().equals(event1.getGuild().getId())) { + if (event.getGuild().getSelfMember().hasPermission(channel, Permission.MESSAGE_WRITE)) { + event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("Rules") + .setDescription("The channel was successfully set to " + channel.getName() + ". Please send me the rules now.") + .build()).queue(); + new EventWaiter().newOnMessageEventWaiter(event2 -> { + String message = event2.getMessage().getContentDisplay(); + event2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("Role to assign") + .setDescription("The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.") + .build()).queue(); + new EventWaiter().newOnMessageEventWaiter(event3 -> { + if (event.getMessage().getMentionedRoles().size() == 1) { + Role role = event.getMessage().getMentionedRoles().get(0); + if (event3.getGuild().getSelfMember().canInteract(role)) { + event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("The role has been successfully set to " + role.getName() + ".") + .build()).queue(); + Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("Rules") + .setDescription(message) + .build()).complete(); + rules.addReaction("✅").queue(); + rules.addReaction("❌").queue(); + event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId()); + } else { + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); + } + } else { + Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentStripped(), true).get(0); + if (event3.getGuild().getSelfMember().canInteract(role)) { + event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("The role has been successfully set to " + role.getName() + ".") + .build()).queue(); + Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("Rules") + .setDescription(message) + .build()).complete(); + rules.addReaction("✅").queue(); + rules.addReaction("❌").queue(); + event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId()); + } else { + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); + } + } + }, event.getJDA(), event.getAuthor()); + }, event.getJDA(), event.getAuthor()); + } else { + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION) + .build()).queue(); + } + } else { + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING) + .setTitle("Wrong Guild") + .setDescription("The mentioned channel must be on this guid!") + .build()).queue(); + } } catch (Exception e) { event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR) .setTitle("Channel not found") @@ -56,125 +168,6 @@ public class RulesCommand implements Command { } } - public void createRules(CommandEvent event, GuildMessageReceivedEvent event1, TextChannel channel) { - if (channel.getGuild().getId().equals(event1.getGuild().getId())) { - if (event.getGuild().getSelfMember().hasPermission(channel, Permission.MESSAGE_WRITE)) { - event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("Rules") - .setDescription("The channel was successfully set to " + channel.getName() + ". Please send me the rules now.") - .build()).queue(); - new EventWaiter().newOnMessageEventWaiter(event2 -> { - String message = event2.getMessage().getContentDisplay(); - event2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("Role to assign") - .setDescription("The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.") - .build()).queue(); - new EventWaiter().newOnMessageEventWaiter(event3 -> { - if (event.getMessage().getMentionedRoles().size() == 1) { - Role role = event.getMessage().getMentionedRoles().get(0); - setRole(event, channel, message, event3, role); - } else { - Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentStripped(), true).get(0); - setRole(event, channel, message, event3, role); - } - }, event.getJDA(), event.getAuthor()); - }, event.getJDA(), event.getAuthor()); - } else { - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION) - .build()).queue(); - } - } else { - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING) - .setTitle("Wrong Guild") - .setDescription("The mentioned channel must be on this guid!") - .build()).queue(); - } - } - - public void setRole(CommandEvent event, TextChannel channel, String message, GuildMessageReceivedEvent event3, Role role) { - if (event3.getGuild().getSelfMember().canInteract(role)) { - event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("Custom Accept Emote") - .setDescription("The role has been successfully set to " + role.getName() + ". Now send me the emote on which your user should react to to get verified.") - .build()).queue(); - new EventWaiter().newOnMessageEventWaiter(event4 -> { - if (event4.getMessage().getEmotes().size() == 1) { - Emote aemote = event4.getMessage().getEmotes().get(0); - event4.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("Custom Decline Emote") - .setDescription("The first emote has been successfully set to " + aemote + ". Please send me now the decline emote.") - .build()).queue(); - new EventWaiter().newOnMessageEventWaiter(event5 -> { - Emote demote = event5.getMessage().getEmotes().get(0); - if (!aemote.equals(demote)) { - Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("Rules") - .setDescription(message) - .build()).complete(); - try { - rules.addReaction(aemote).queue(); - rules.addReaction(demote).queue(); - event5.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("Successfully set the rules") - .setDescription("I successfully send the rules in " + channel.getAsMention() + ".") - .build()).queue(); - } catch (Exception e) { - event5.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR) - .setTitle("Error") - .setDescription("I can not access the custom emote(s),") - .build()).queue(); - e.printStackTrace(); - } - event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId(), aemote.toString(), demote.toString()); - } else { - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING) - .setTitle("Emotes are equal") - .setDescription("The 1st and 2nd emote equals each other.") - .build()).queue(); - } - }, event.getJDA(), event.getAuthor()); - } else { - String aemote = event4.getMessage().getContentRaw(); - event4.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("Custom Decline Emote") - .setDescription("The first emote has been successfully set. Please send me now the decline emote.") - .build()).queue(); - new EventWaiter().newOnMessageEventWaiter(event5 -> { - String demote = event5.getMessage().getContentRaw(); - if (!aemote.equals(demote)) { - Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("Rules") - .setDescription(message) - .build()).complete(); - try { - rules.addReaction(aemote).queue(); - rules.addReaction(demote).queue(); - event5.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("Successfully set the rules") - .setDescription("I successfully send the rules in " + channel.getAsMention() + ".") - .build()).queue(); - } catch (Exception e) { - event5.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR) - .setTitle("Error") - .setDescription("The given emote can't be used.") - .build()).queue(); - e.printStackTrace(); - } - event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId(), aemote, demote); - } else { - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING) - .setTitle("Emotes are equal") - .setDescription("The 1st and 2nd emote equals each other.") - .build()).queue(); - } - }, event.getJDA(), event.getAuthor()); - } - }, event.getJDA(), event.getAuthor()); - } else { - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); - } - } - @Override public String[] labels() { return new String[]{"rules", "rule", "setup"}; diff --git a/src/main/java/com/bbn/hadder/listener/InviteLinkListener.java b/src/main/java/com/bbn/hadder/listener/InviteLinkListener.java index b8bc2bb..b77f536 100644 --- a/src/main/java/com/bbn/hadder/listener/InviteLinkListener.java +++ b/src/main/java/com/bbn/hadder/listener/InviteLinkListener.java @@ -5,6 +5,7 @@ package com.bbn.hadder.listener; */ import com.bbn.hadder.Rethink; +import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.entities.ChannelType; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; @@ -44,19 +45,21 @@ public class InviteLinkListener extends ListenerAdapter { e.printStackTrace(); } } - } 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(); + } else if (event.getMessage().getContentRaw().contains("discordapp.com/invite")) { + 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(); } - } catch (Exception e) { - e.printStackTrace(); } } } diff --git a/src/main/java/com/bbn/hadder/listener/RulesListener.java b/src/main/java/com/bbn/hadder/listener/RulesListener.java index 43ca93f..221ad4a 100644 --- a/src/main/java/com/bbn/hadder/listener/RulesListener.java +++ b/src/main/java/com/bbn/hadder/listener/RulesListener.java @@ -20,31 +20,18 @@ public class RulesListener extends ListenerAdapter { @Override public void onMessageReactionAdd(MessageReactionAddEvent event) { if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId())) && !event.getMember().getUser().isBot()) { - if (event.getReactionEmote().isEmote()) { - if (rethink.getRulesAEmote(event.getGuild().getId()).contains(event.getReactionEmote().getId())) { - event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Accepted rules").queue(); - } else if (rethink.getRulesDEmote(event.getGuild().getId()).contains(event.getReactionEmote().getId())) { - event.getReaction().removeReaction(event.getUser()).queue(); - if (event.getGuild().getSelfMember().canInteract(event.getMember())) { - event.getMember().kick().reason("Declined the rules"); - } - } - } else { - if (event.getReactionEmote().getEmoji().equals(rethink.getRulesAEmote(event.getGuild().getId()))) { - event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Accepted rules").queue(); - } else if (event.getReactionEmote().getEmoji().equals(rethink.getRulesDEmote(event.getGuild().getId()))) { - event.getReaction().removeReaction(event.getUser()).queue(); - if (event.getGuild().getSelfMember().canInteract(event.getMember())) { - event.getMember().kick().reason("Declined the rules"); - } - } + if (event.getReactionEmote().getEmoji().equals("✅")) { + event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Accepted rules").queue(); + } else if (event.getReactionEmote().getEmoji().equals("❌") && event.getGuild().getSelfMember().canInteract(event.getMember())) { + event.getReaction().removeReaction().queue(); + event.getMember().kick().reason("Declined the rules"); } } } @Override public void onMessageReactionRemove(MessageReactionRemoveEvent event) { - if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId())) && !event.getMember().getUser().isBot()) { + if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId())) && !event.getMember().getUser().isBot() && event.getReactionEmote().getEmoji().equals("✅")) { event.getGuild().removeRoleFromMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Withdrawal of the acceptance of the rules").queue(); } } diff --git a/src/main/java/com/bbn/hadder/utils/MessageEditor.java b/src/main/java/com/bbn/hadder/utils/MessageEditor.java index 0121acd..81425e7 100644 --- a/src/main/java/com/bbn/hadder/utils/MessageEditor.java +++ b/src/main/java/com/bbn/hadder/utils/MessageEditor.java @@ -11,42 +11,23 @@ public class MessageEditor { EmbedBuilder builder = new EmbedBuilder(); switch (type) { case INFO: - builder - .setColor(new Color(47, 94, 105)) - .setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png") - .setTimestamp(Instant.now()); + builder.setColor(new Color(47, 94, 105)).setTimestamp(Instant.now()); break; case ERROR: - builder - .setColor(Color.RED) - .setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png") - .setTimestamp(Instant.now()); + builder.setColor(Color.RED).setTimestamp(Instant.now()); break; case WARNING: - builder - .setColor(Color.ORANGE) - .setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png") - .setTimestamp(Instant.now()); + builder.setColor(Color.ORANGE).setTimestamp(Instant.now()); break; case NO_PERMISSION: - builder - .setTitle("⛔ No Permission ⛔") - .setDescription("You are not authorized to execute this command!") - .setColor(Color.RED) - .setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png") - .setTimestamp(Instant.now()); + builder.setTitle("⛔ No Permission ⛔").setDescription("You are not authorized to execute this command!").setColor(Color.RED).setTimestamp(Instant.now()); break; case NO_SELF_PERMISSION: - builder - .setTitle("⛔ No Permission ⛔") - .setDescription("Unfortunately, I do not have the required rights to perform this action") - .setColor(Color.RED) - .setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png") - .setTimestamp(Instant.now()); + builder.setTitle("⛔ No Permission ⛔").setDescription("Unfortunately, I do not have the required rights to perform this action").setColor(Color.RED).setTimestamp(Instant.now()); break; } return builder; -- 2.45.3 From baea86549c510946232b0fb4cf89be1b32f317fb Mon Sep 17 00:00:00 2001 From: Skidder Date: Tue, 3 Dec 2019 07:02:06 +0100 Subject: [PATCH 4/4] Revert "Revert "Rules with custom emotes"" --- example-config.json | 25 +- src/main/java/com/bbn/hadder/Rethink.java | 12 +- .../moderation/InviteDetectCommand.java | 2 +- .../commands/moderation/RulesCommand.java | 239 +++++++++--------- .../hadder/listener/InviteLinkListener.java | 27 +- .../bbn/hadder/listener/RulesListener.java | 25 +- .../com/bbn/hadder/utils/MessageEditor.java | 29 ++- 7 files changed, 203 insertions(+), 156 deletions(-) diff --git a/example-config.json b/example-config.json index b56984e..f201256 100644 --- a/example-config.json +++ b/example-config.json @@ -2,22 +2,23 @@ "Owners": [], "Database":{"IP":"", - "Port":6775, - "DBName":"", - "Username":"", - "Password":""}, - "Tokens":{ - "BotToken":"", - "Giphy":"", + "Port": 6775, + "DBName": "", + "Username": "", + "Password": ""}, + "Tokens": { + "BotToken": "", + "Giphy": "", "GitHub": "", - "MythicalBotList":"", - "BotsForDiscord":"", - "DiscordBotList":"", - "DiscordBestBots":"", + "MythicalBotList": "", + "BotsForDiscord": "", + "DiscordBotList": "", + "DiscordBestBots": "", "DiscordBoats": "", "YetAnotherBotList": "", "DiscordExtremeList": "", "DiscordBotReviews": "", - "DiscordBots": "" + "DiscordBots": "", + "BotListSpace": "" } } diff --git a/src/main/java/com/bbn/hadder/Rethink.java b/src/main/java/com/bbn/hadder/Rethink.java index 5b41cd8..283a1a1 100644 --- a/src/main/java/com/bbn/hadder/Rethink.java +++ b/src/main/java/com/bbn/hadder/Rethink.java @@ -150,9 +150,11 @@ public class Rethink { this.insert("user", r.hashMap("id", id).with("prefix", "h.")); } - public void updateRules(String guild_id, String message_id, String role_id) { + public void updateRules(String guild_id, String message_id, String role_id, String accept_emote, String decline_emote) { this.update("server", guild_id, "message_id", message_id); this.update("server", guild_id, "role_id", role_id); + this.update("server", guild_id, "accept_emote", accept_emote); + this.update("server", guild_id, "decline_emote", decline_emote); } public String getRulesMID(String guild_id) { @@ -163,6 +165,14 @@ public class Rethink { return (String) this.get("server", "id", guild_id, "role_id"); } + public String getRulesAEmote(String guild_id) { + return (String) this.get("server", "id", guild_id, "accept_emote"); + } + + public String getRulesDEmote(String guild_id) { + return (String) this.get("server", "id", guild_id, "decline_emote"); + } + public void setInviteDetection(String guild_id, boolean b) { try { r.table("server").get(guild_id).update(r.hashMap("invite_detect", b)).run(conn); diff --git a/src/main/java/com/bbn/hadder/commands/moderation/InviteDetectCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/InviteDetectCommand.java index f956bd9..12ddc03 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/InviteDetectCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/InviteDetectCommand.java @@ -14,7 +14,7 @@ public class InviteDetectCommand implements Command { @Override public void executed(String[] args, CommandEvent event) { if (args.length == 1) { - if (event.getMember().hasPermission(Permission.MANAGE_SERVER)) { + if (event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { String opinion = args[0].toLowerCase(); switch (opinion) { case "on": diff --git a/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java index 4903b7b..d6e80f8 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java @@ -9,9 +9,11 @@ import com.bbn.hadder.commands.CommandEvent; import com.bbn.hadder.utils.EventWaiter; import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.Permission; +import net.dv8tion.jda.api.entities.Emote; import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.entities.Role; import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent; public class RulesCommand implements Command { @@ -27,64 +29,7 @@ public class RulesCommand implements Command { if (event1.getMessage().getMentionedChannels().size() == 1) { try { TextChannel channel = event1.getMessage().getMentionedChannels().get(0); - if (channel.getGuild().getId().equals(event1.getGuild().getId())) { - if (event.getGuild().getSelfMember().hasPermission(channel, Permission.MESSAGE_WRITE)) { - event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("Rules") - .setDescription("The channel was successfully set to " + channel.getName() + ". Please send me the rules now.") - .build()).queue(); - new EventWaiter().newOnMessageEventWaiter(event2 -> { - String message = event2.getMessage().getContentDisplay(); - event2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("Role to assign") - .setDescription("The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.") - .build()).queue(); - new EventWaiter().newOnMessageEventWaiter(event3 -> { - if (event.getMessage().getMentionedRoles().size() == 1) { - Role role = event.getMessage().getMentionedRoles().get(0); - if (event3.getGuild().getSelfMember().canInteract(role)) { - event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("The role has been successfully set to " + role.getName() + ".") - .build()).queue(); - Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("Rules") - .setDescription(message) - .build()).complete(); - rules.addReaction("✅").queue(); - rules.addReaction("❌").queue(); - event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId()); - } else { - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); - } - } else { - Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentStripped(), true).get(0); - if (event3.getGuild().getSelfMember().canInteract(role)) { - event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("The role has been successfully set to " + role.getName() + ".") - .build()).queue(); - Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("Rules") - .setDescription(message) - .build()).complete(); - rules.addReaction("✅").queue(); - rules.addReaction("❌").queue(); - event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId()); - } else { - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); - } - } - }, event.getJDA(), event.getAuthor()); - }, event.getJDA(), event.getAuthor()); - } else { - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION) - .build()).queue(); - } - } else { - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING) - .setTitle("Wrong Guild") - .setDescription("The mentioned channel must be on this guid!") - .build()).queue(); - } + createRules(event, event1, channel); } catch (Exception e) { event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR) .setTitle("Channel not found") @@ -94,64 +39,7 @@ public class RulesCommand implements Command { } else { try { TextChannel channel = event1.getGuild().getTextChannelsByName(event1.getMessage().getContentRaw(), true).get(0); - if (channel.getGuild().getId().equals(event1.getGuild().getId())) { - if (event.getGuild().getSelfMember().hasPermission(channel, Permission.MESSAGE_WRITE)) { - event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("Rules") - .setDescription("The channel was successfully set to " + channel.getName() + ". Please send me the rules now.") - .build()).queue(); - new EventWaiter().newOnMessageEventWaiter(event2 -> { - String message = event2.getMessage().getContentDisplay(); - event2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("Role to assign") - .setDescription("The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.") - .build()).queue(); - new EventWaiter().newOnMessageEventWaiter(event3 -> { - if (event.getMessage().getMentionedRoles().size() == 1) { - Role role = event.getMessage().getMentionedRoles().get(0); - if (event3.getGuild().getSelfMember().canInteract(role)) { - event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("The role has been successfully set to " + role.getName() + ".") - .build()).queue(); - Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("Rules") - .setDescription(message) - .build()).complete(); - rules.addReaction("✅").queue(); - rules.addReaction("❌").queue(); - event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId()); - } else { - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); - } - } else { - Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentStripped(), true).get(0); - if (event3.getGuild().getSelfMember().canInteract(role)) { - event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("The role has been successfully set to " + role.getName() + ".") - .build()).queue(); - Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) - .setTitle("Rules") - .setDescription(message) - .build()).complete(); - rules.addReaction("✅").queue(); - rules.addReaction("❌").queue(); - event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId()); - } else { - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); - } - } - }, event.getJDA(), event.getAuthor()); - }, event.getJDA(), event.getAuthor()); - } else { - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION) - .build()).queue(); - } - } else { - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING) - .setTitle("Wrong Guild") - .setDescription("The mentioned channel must be on this guid!") - .build()).queue(); - } + createRules(event, event1, channel); } catch (Exception e) { event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR) .setTitle("Channel not found") @@ -168,6 +56,125 @@ public class RulesCommand implements Command { } } + public void createRules(CommandEvent event, GuildMessageReceivedEvent event1, TextChannel channel) { + if (channel.getGuild().getId().equals(event1.getGuild().getId())) { + if (event.getGuild().getSelfMember().hasPermission(channel, Permission.MESSAGE_WRITE)) { + event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("Rules") + .setDescription("The channel was successfully set to " + channel.getName() + ". Please send me the rules now.") + .build()).queue(); + new EventWaiter().newOnMessageEventWaiter(event2 -> { + String message = event2.getMessage().getContentDisplay(); + event2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("Role to assign") + .setDescription("The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.") + .build()).queue(); + new EventWaiter().newOnMessageEventWaiter(event3 -> { + if (event.getMessage().getMentionedRoles().size() == 1) { + Role role = event.getMessage().getMentionedRoles().get(0); + setRole(event, channel, message, event3, role); + } else { + Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentStripped(), true).get(0); + setRole(event, channel, message, event3, role); + } + }, event.getJDA(), event.getAuthor()); + }, event.getJDA(), event.getAuthor()); + } else { + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION) + .build()).queue(); + } + } else { + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING) + .setTitle("Wrong Guild") + .setDescription("The mentioned channel must be on this guid!") + .build()).queue(); + } + } + + public void setRole(CommandEvent event, TextChannel channel, String message, GuildMessageReceivedEvent event3, Role role) { + if (event3.getGuild().getSelfMember().canInteract(role)) { + event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("Custom Accept Emote") + .setDescription("The role has been successfully set to " + role.getName() + ". Now send me the emote on which your user should react to to get verified.") + .build()).queue(); + new EventWaiter().newOnMessageEventWaiter(event4 -> { + if (event4.getMessage().getEmotes().size() == 1) { + Emote aemote = event4.getMessage().getEmotes().get(0); + event4.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("Custom Decline Emote") + .setDescription("The first emote has been successfully set to " + aemote + ". Please send me now the decline emote.") + .build()).queue(); + new EventWaiter().newOnMessageEventWaiter(event5 -> { + Emote demote = event5.getMessage().getEmotes().get(0); + if (!aemote.equals(demote)) { + Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("Rules") + .setDescription(message) + .build()).complete(); + try { + rules.addReaction(aemote).queue(); + rules.addReaction(demote).queue(); + event5.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("Successfully set the rules") + .setDescription("I successfully send the rules in " + channel.getAsMention() + ".") + .build()).queue(); + } catch (Exception e) { + event5.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR) + .setTitle("Error") + .setDescription("I can not access the custom emote(s),") + .build()).queue(); + e.printStackTrace(); + } + event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId(), aemote.toString(), demote.toString()); + } else { + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING) + .setTitle("Emotes are equal") + .setDescription("The 1st and 2nd emote equals each other.") + .build()).queue(); + } + }, event.getJDA(), event.getAuthor()); + } else { + String aemote = event4.getMessage().getContentRaw(); + event4.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("Custom Decline Emote") + .setDescription("The first emote has been successfully set. Please send me now the decline emote.") + .build()).queue(); + new EventWaiter().newOnMessageEventWaiter(event5 -> { + String demote = event5.getMessage().getContentRaw(); + if (!aemote.equals(demote)) { + Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("Rules") + .setDescription(message) + .build()).complete(); + try { + rules.addReaction(aemote).queue(); + rules.addReaction(demote).queue(); + event5.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle("Successfully set the rules") + .setDescription("I successfully send the rules in " + channel.getAsMention() + ".") + .build()).queue(); + } catch (Exception e) { + event5.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR) + .setTitle("Error") + .setDescription("The given emote can't be used.") + .build()).queue(); + e.printStackTrace(); + } + event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId(), aemote, demote); + } else { + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING) + .setTitle("Emotes are equal") + .setDescription("The 1st and 2nd emote equals each other.") + .build()).queue(); + } + }, event.getJDA(), event.getAuthor()); + } + }, event.getJDA(), event.getAuthor()); + } else { + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); + } + } + @Override public String[] labels() { return new String[]{"rules", "rule", "setup"}; diff --git a/src/main/java/com/bbn/hadder/listener/InviteLinkListener.java b/src/main/java/com/bbn/hadder/listener/InviteLinkListener.java index b77f536..b8bc2bb 100644 --- a/src/main/java/com/bbn/hadder/listener/InviteLinkListener.java +++ b/src/main/java/com/bbn/hadder/listener/InviteLinkListener.java @@ -5,7 +5,6 @@ package com.bbn.hadder.listener; */ import com.bbn.hadder.Rethink; -import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.entities.ChannelType; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; @@ -45,21 +44,19 @@ public class InviteLinkListener extends ListenerAdapter { e.printStackTrace(); } } - } else if (event.getMessage().getContentRaw().contains("discordapp.com/invite")) { - 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(); + } 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(); } } } diff --git a/src/main/java/com/bbn/hadder/listener/RulesListener.java b/src/main/java/com/bbn/hadder/listener/RulesListener.java index 221ad4a..43ca93f 100644 --- a/src/main/java/com/bbn/hadder/listener/RulesListener.java +++ b/src/main/java/com/bbn/hadder/listener/RulesListener.java @@ -20,18 +20,31 @@ public class RulesListener extends ListenerAdapter { @Override public void onMessageReactionAdd(MessageReactionAddEvent event) { if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId())) && !event.getMember().getUser().isBot()) { - if (event.getReactionEmote().getEmoji().equals("✅")) { - event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Accepted rules").queue(); - } else if (event.getReactionEmote().getEmoji().equals("❌") && event.getGuild().getSelfMember().canInteract(event.getMember())) { - event.getReaction().removeReaction().queue(); - event.getMember().kick().reason("Declined the rules"); + if (event.getReactionEmote().isEmote()) { + if (rethink.getRulesAEmote(event.getGuild().getId()).contains(event.getReactionEmote().getId())) { + event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Accepted rules").queue(); + } else if (rethink.getRulesDEmote(event.getGuild().getId()).contains(event.getReactionEmote().getId())) { + event.getReaction().removeReaction(event.getUser()).queue(); + if (event.getGuild().getSelfMember().canInteract(event.getMember())) { + event.getMember().kick().reason("Declined the rules"); + } + } + } else { + if (event.getReactionEmote().getEmoji().equals(rethink.getRulesAEmote(event.getGuild().getId()))) { + event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Accepted rules").queue(); + } else if (event.getReactionEmote().getEmoji().equals(rethink.getRulesDEmote(event.getGuild().getId()))) { + event.getReaction().removeReaction(event.getUser()).queue(); + if (event.getGuild().getSelfMember().canInteract(event.getMember())) { + event.getMember().kick().reason("Declined the rules"); + } + } } } } @Override public void onMessageReactionRemove(MessageReactionRemoveEvent event) { - if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId())) && !event.getMember().getUser().isBot() && event.getReactionEmote().getEmoji().equals("✅")) { + if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId())) && !event.getMember().getUser().isBot()) { event.getGuild().removeRoleFromMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Withdrawal of the acceptance of the rules").queue(); } } diff --git a/src/main/java/com/bbn/hadder/utils/MessageEditor.java b/src/main/java/com/bbn/hadder/utils/MessageEditor.java index 81425e7..0121acd 100644 --- a/src/main/java/com/bbn/hadder/utils/MessageEditor.java +++ b/src/main/java/com/bbn/hadder/utils/MessageEditor.java @@ -11,23 +11,42 @@ public class MessageEditor { EmbedBuilder builder = new EmbedBuilder(); switch (type) { case INFO: - builder.setColor(new Color(47, 94, 105)).setTimestamp(Instant.now()); + builder + .setColor(new Color(47, 94, 105)) + .setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png") + .setTimestamp(Instant.now()); break; case ERROR: - builder.setColor(Color.RED).setTimestamp(Instant.now()); + builder + .setColor(Color.RED) + .setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png") + .setTimestamp(Instant.now()); break; case WARNING: - builder.setColor(Color.ORANGE).setTimestamp(Instant.now()); + builder + .setColor(Color.ORANGE) + .setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png") + .setTimestamp(Instant.now()); break; case NO_PERMISSION: - builder.setTitle("⛔ No Permission ⛔").setDescription("You are not authorized to execute this command!").setColor(Color.RED).setTimestamp(Instant.now()); + builder + .setTitle("⛔ No Permission ⛔") + .setDescription("You are not authorized to execute this command!") + .setColor(Color.RED) + .setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png") + .setTimestamp(Instant.now()); break; case NO_SELF_PERMISSION: - builder.setTitle("⛔ No Permission ⛔").setDescription("Unfortunately, I do not have the required rights to perform this action").setColor(Color.RED).setTimestamp(Instant.now()); + builder + .setTitle("⛔ No Permission ⛔") + .setDescription("Unfortunately, I do not have the required rights to perform this action") + .setColor(Color.RED) + .setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png") + .setTimestamp(Instant.now()); break; } return builder; -- 2.45.3