Very nice fix

This commit is contained in:
GregTCLTK 2019-11-24 15:19:44 +01:00
parent b81d4821fa
commit c016d1246d
No known key found for this signature in database
GPG key ID: A91BADE5C070FF67

View file

@ -22,136 +22,150 @@ public class RulesCommand implements Command {
if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES)) { if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES)) {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder() event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Set up rules") .setTitle("Set up rules")
.setDescription("Please specify the channel on which I should send the rules. Your message should look like: #rules.")) .setDescription("Welcome to the Hadder rules setup. Please mention the channel in which I should send the rules. Your message should look like: #rules or #verify."))
.build()).queue(); .build()).queue();
new EventWaiter().newOnMessageEventWaiter(event1 -> { new EventWaiter().newOnMessageEventWaiter(event1 -> {
if (event1.getMessage().getMentionedChannels().size() == 1) { if (event1.getMessage().getMentionedChannels().size() == 1) {
TextChannel channel = event1.getMessage().getMentionedChannels().get(0); try {
if (channel.getGuild().getId().equals(event1.getGuild().getId())) { TextChannel channel = event1.getMessage().getMentionedChannels().get(0);
if (event.getGuild().getSelfMember().hasPermission(channel, Permission.MESSAGE_WRITE)) { if (channel.getGuild().getId().equals(event1.getGuild().getId())) {
event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder() if (event.getGuild().getSelfMember().hasPermission(channel, Permission.MESSAGE_WRITE)) {
.setTitle("Rules") event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setDescription("The channel was successfully set to " + channel.getName() + ". Please send me the rules now.")) .setTitle("Rules")
.build()).queue(); .setDescription("The channel was successfully set to " + channel.getName() + ". Please send me the rules now."))
new EventWaiter().newOnMessageEventWaiter(event2 -> {
String message = event2.getMessage().getContentDisplay();
event2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.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(); .build()).queue();
new EventWaiter().newOnMessageEventWaiter(event3 -> { new EventWaiter().newOnMessageEventWaiter(event2 -> {
if (event.getMessage().getMentionedRoles().size() == 1) { String message = event2.getMessage().getContentDisplay();
Role role = event.getMessage().getMentionedRoles().get(0); event2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
if (event3.getGuild().getSelfMember().canInteract(role)) { .setTitle("Role to assign"))
event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder() .setDescription("The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.")
.setTitle("The role has been successfully set to " + role.getName() + ".")) .build()).queue();
.build()).queue(); new EventWaiter().newOnMessageEventWaiter(event3 -> {
Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder() if (event.getMessage().getMentionedRoles().size() == 1) {
.setTitle("Rules")) Role role = event.getMessage().getMentionedRoles().get(0);
.setDescription(message) if (event3.getGuild().getSelfMember().canInteract(role)) {
.build()).complete(); event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
rules.addReaction("").queue(); .setTitle("The role has been successfully set to " + role.getName() + "."))
rules.addReaction("").queue(); .build()).queue();
event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId()); Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Rules"))
.setDescription(message)
.build()).complete();
rules.addReaction("").queue();
rules.addReaction("").queue();
event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId());
} else {
EmbedBuilder builder = new EmbedBuilder();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
}
} else { } else {
EmbedBuilder builder = new EmbedBuilder(); Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentStripped(), true).get(0);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue(); if (event3.getGuild().getSelfMember().canInteract(role)) {
event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("The role has been successfully set to " + role.getName() + "."))
.build()).queue();
Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Rules"))
.setDescription(message)
.build()).complete();
rules.addReaction("").queue();
rules.addReaction("").queue();
event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId());
} else {
EmbedBuilder builder = new EmbedBuilder();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
}
} }
} else { }, event.getJDA(), event.getAuthor());
Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentRaw().replace("h.rules ", ""), true).get(0);
if (event3.getGuild().getSelfMember().canInteract(role)) {
event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("The role has been successfully set to " + role.getName() + "."))
.build()).queue();
Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Rules"))
.setDescription(message)
.build()).complete();
rules.addReaction("").queue();
rules.addReaction("").queue();
event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId());
} else {
EmbedBuilder builder = new EmbedBuilder();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
}
}
}, event.getJDA(), event.getAuthor()); }, event.getJDA(), event.getAuthor());
}, event.getJDA(), event.getAuthor()); } else {
} else { event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, new EmbedBuilder()
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, new EmbedBuilder() .setTitle("Wrong Guild")
.setTitle("Wrong Guild") .setDescription("The mentioned channel must be on this guid!"))
.setDescription("The mentioned channel must be on this guid!"))
.build()).queue();
}
} else {
EmbedBuilder builder = new EmbedBuilder();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder)
.build()).queue();
}
} else {
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, new EmbedBuilder()
.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, new EmbedBuilder()
.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(); .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, new EmbedBuilder()
.setTitle("The role has been successfully set to " + role.getName() + "."))
.build()).queue();
Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Rules"))
.setDescription(message)
.build()).complete();
rules.addReaction("").queue();
rules.addReaction("").queue();
event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId());
} else {
EmbedBuilder builder = new EmbedBuilder();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
}
} else {
Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentRaw(), true).get(0);
if (event3.getGuild().getSelfMember().canInteract(role)) {
event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("The role has been successfully set to " + role.getName() + "."))
.build()).queue();
Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Rules"))
.setDescription(message)
.build()).complete();
rules.addReaction("").queue();
rules.addReaction("").queue();
event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId());
} else {
EmbedBuilder builder = new EmbedBuilder();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
}
}
}, event.getJDA(), event.getAuthor());
}, event.getJDA(), event.getAuthor());
} else { } else {
EmbedBuilder builder = new EmbedBuilder(); EmbedBuilder builder = new EmbedBuilder();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder) event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder)
.build()).queue(); .build()).queue();
} }
} catch (Exception e) {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR, new EmbedBuilder()
.setTitle("Channel not found")
.setDescription("I can't find the specified channel. Please start the setup again."))
.build()).queue();
}
} 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, new EmbedBuilder()
.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, new EmbedBuilder()
.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, new EmbedBuilder()
.setTitle("The role has been successfully set to " + role.getName() + "."))
.build()).queue();
Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Rules"))
.setDescription(message)
.build()).complete();
rules.addReaction("").queue();
rules.addReaction("").queue();
event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId());
} else {
EmbedBuilder builder = new EmbedBuilder();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).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, new EmbedBuilder()
.setTitle("The role has been successfully set to " + role.getName() + "."))
.build()).queue();
Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Rules"))
.setDescription(message)
.build()).complete();
rules.addReaction("").queue();
rules.addReaction("").queue();
event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId());
} else {
EmbedBuilder builder = new EmbedBuilder();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
}
}
}, event.getJDA(), event.getAuthor());
}, event.getJDA(), event.getAuthor());
} else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, new EmbedBuilder()
.setTitle("Wrong Guild")
.setDescription("The mentioned channel must be on this guid!"))
.build()).queue();
}
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, new EmbedBuilder() EmbedBuilder builder = new EmbedBuilder();
.setTitle("Wrong Guild") event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder)
.setDescription("The mentioned channel must be on this guid!"))
.build()).queue(); .build()).queue();
} }
} catch (Exception e) {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR, new EmbedBuilder()
.setTitle("Channel not found")
.setDescription("I can't find the specified channel. Please start the setup again."))
.build()).queue();
} }
}
}, event.getJDA(), event.getAuthor()); }, event.getJDA(), event.getAuthor());
} else { } else {
EmbedBuilder builder = new EmbedBuilder(); EmbedBuilder builder = new EmbedBuilder();
@ -165,7 +179,7 @@ public class RulesCommand implements Command {
@Override @Override
public String[] labels() { public String[] labels() {
return new String[]{"rules", "rule"}; return new String[]{"rules", "rule", "setup"};
} }
@Override @Override