Rules with custom emotes #137
7 changed files with 203 additions and 156 deletions
|
|
@ -2,22 +2,23 @@
|
||||||
"Owners":
|
"Owners":
|
||||||
[],
|
[],
|
||||||
"Database":{"IP":"",
|
"Database":{"IP":"",
|
||||||
"Port":6775,
|
"Port": 6775,
|
||||||
"DBName":"",
|
"DBName": "",
|
||||||
"Username":"",
|
"Username": "",
|
||||||
"Password":""},
|
"Password": ""},
|
||||||
"Tokens":{
|
"Tokens": {
|
||||||
"BotToken":"",
|
"BotToken": "",
|
||||||
"Giphy":"",
|
"Giphy": "",
|
||||||
"GitHub": "",
|
"GitHub": "",
|
||||||
"MythicalBotList":"",
|
"MythicalBotList": "",
|
||||||
"BotsForDiscord":"",
|
"BotsForDiscord": "",
|
||||||
"DiscordBotList":"",
|
"DiscordBotList": "",
|
||||||
"DiscordBestBots":"",
|
"DiscordBestBots": "",
|
||||||
"DiscordBoats": "",
|
"DiscordBoats": "",
|
||||||
"YetAnotherBotList": "",
|
"YetAnotherBotList": "",
|
||||||
"DiscordExtremeList": "",
|
"DiscordExtremeList": "",
|
||||||
"DiscordBotReviews": "",
|
"DiscordBotReviews": "",
|
||||||
"DiscordBots": ""
|
"DiscordBots": "",
|
||||||
|
"BotListSpace": ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -150,9 +150,11 @@ public class Rethink {
|
||||||
this.insert("user", r.hashMap("id", id).with("prefix", "h."));
|
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, "message_id", message_id);
|
||||||
this.update("server", guild_id, "role_id", role_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) {
|
public String getRulesMID(String guild_id) {
|
||||||
|
|
@ -163,6 +165,14 @@ public class Rethink {
|
||||||
return (String) this.get("server", "id", guild_id, "role_id");
|
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) {
|
public void setInviteDetection(String guild_id, boolean b) {
|
||||||
try {
|
try {
|
||||||
r.table("server").get(guild_id).update(r.hashMap("invite_detect", b)).run(conn);
|
r.table("server").get(guild_id).update(r.hashMap("invite_detect", b)).run(conn);
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ public class InviteDetectCommand implements Command {
|
||||||
@Override
|
@Override
|
||||||
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) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
|
||||||
String opinion = args[0].toLowerCase();
|
String opinion = args[0].toLowerCase();
|
||||||
switch (opinion) {
|
switch (opinion) {
|
||||||
case "on":
|
case "on":
|
||||||
|
|
|
||||||
|
|
@ -9,9 +9,11 @@ import com.bbn.hadder.commands.CommandEvent;
|
||||||
import com.bbn.hadder.utils.EventWaiter;
|
import com.bbn.hadder.utils.EventWaiter;
|
||||||
import com.bbn.hadder.utils.MessageEditor;
|
import com.bbn.hadder.utils.MessageEditor;
|
||||||
import net.dv8tion.jda.api.Permission;
|
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.Message;
|
||||||
import net.dv8tion.jda.api.entities.Role;
|
import net.dv8tion.jda.api.entities.Role;
|
||||||
import net.dv8tion.jda.api.entities.TextChannel;
|
import net.dv8tion.jda.api.entities.TextChannel;
|
||||||
|
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
|
||||||
|
|
||||||
public class RulesCommand implements Command {
|
public class RulesCommand implements Command {
|
||||||
|
|
||||||
|
|
@ -27,64 +29,7 @@ public class RulesCommand implements Command {
|
||||||
if (event1.getMessage().getMentionedChannels().size() == 1) {
|
if (event1.getMessage().getMentionedChannels().size() == 1) {
|
||||||
try {
|
try {
|
||||||
TextChannel channel = event1.getMessage().getMentionedChannels().get(0);
|
TextChannel channel = event1.getMessage().getMentionedChannels().get(0);
|
||||||
if (channel.getGuild().getId().equals(event1.getGuild().getId())) {
|
createRules(event, event1, channel);
|
||||||
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) {
|
} catch (Exception e) {
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
|
||||||
.setTitle("Channel not found")
|
.setTitle("Channel not found")
|
||||||
|
|
@ -94,64 +39,7 @@ public class RulesCommand implements Command {
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
TextChannel channel = event1.getGuild().getTextChannelsByName(event1.getMessage().getContentRaw(), true).get(0);
|
TextChannel channel = event1.getGuild().getTextChannelsByName(event1.getMessage().getContentRaw(), true).get(0);
|
||||||
if (channel.getGuild().getId().equals(event1.getGuild().getId())) {
|
createRules(event, event1, channel);
|
||||||
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) {
|
} catch (Exception e) {
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
|
||||||
.setTitle("Channel not found")
|
.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
|
@Override
|
||||||
public String[] labels() {
|
public String[] labels() {
|
||||||
return new String[]{"rules", "rule", "setup"};
|
return new String[]{"rules", "rule", "setup"};
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@ package com.bbn.hadder.listener;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import com.bbn.hadder.Rethink;
|
import com.bbn.hadder.Rethink;
|
||||||
import com.bbn.hadder.utils.MessageEditor;
|
|
||||||
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.events.message.MessageReceivedEvent;
|
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||||
|
|
@ -45,21 +44,19 @@ public class InviteLinkListener extends ListenerAdapter {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite")) {
|
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite") && !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("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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,18 +20,31 @@ public class RulesListener extends ListenerAdapter {
|
||||||
@Override
|
@Override
|
||||||
public void onMessageReactionAdd(MessageReactionAddEvent event) {
|
public void onMessageReactionAdd(MessageReactionAddEvent 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()) {
|
||||||
if (event.getReactionEmote().getEmoji().equals("✅")) {
|
if (event.getReactionEmote().isEmote()) {
|
||||||
event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Accepted rules").queue();
|
if (rethink.getRulesAEmote(event.getGuild().getId()).contains(event.getReactionEmote().getId())) {
|
||||||
} else if (event.getReactionEmote().getEmoji().equals("❌") && event.getGuild().getSelfMember().canInteract(event.getMember())) {
|
event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Accepted rules").queue();
|
||||||
event.getReaction().removeReaction().queue();
|
} else if (rethink.getRulesDEmote(event.getGuild().getId()).contains(event.getReactionEmote().getId())) {
|
||||||
event.getMember().kick().reason("Declined the rules");
|
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
|
@Override
|
||||||
public void onMessageReactionRemove(MessageReactionRemoveEvent event) {
|
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();
|
event.getGuild().removeRoleFromMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Withdrawal of the acceptance of the rules").queue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,23 +11,42 @@ public class MessageEditor {
|
||||||
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))
|
||||||
|
.setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png")
|
||||||
|
.setTimestamp(Instant.now());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ERROR:
|
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;
|
break;
|
||||||
|
|
||||||
case WARNING:
|
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;
|
break;
|
||||||
|
|
||||||
case NO_PERMISSION:
|
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;
|
break;
|
||||||
|
|
||||||
case NO_SELF_PERMISSION:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
return builder;
|
return builder;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue