Greg dev #94

Merged
greg6775 merged 6 commits from greg-dev into master 2019-11-23 00:32:50 +01:00
3 changed files with 111 additions and 23 deletions

View file

@ -75,7 +75,7 @@ public class RoleCommand implements Command {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
} }
} else { } else {
event.getTextChannel().sendMessage("Missing args").queue(); event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
} }
} }

View file

@ -25,7 +25,7 @@ public class RulesCommand implements Command {
.setDescription("Please specify the channel on which I should send the rules. Your message should look like: #rules.")) .setDescription("Please specify the channel on which I should send the rules. Your message should look like: #rules."))
.build()).queue(); .build()).queue();
new EventWaiter().newOnMessageEventWaiter(event1 -> { new EventWaiter().newOnMessageEventWaiter(event1 -> {
if (event1.getMessage().getMentionedChannels().size() > 0) { if (event1.getMessage().getMentionedChannels().size() == 1) {
TextChannel channel = event1.getMessage().getMentionedChannels().get(0); TextChannel channel = event1.getMessage().getMentionedChannels().get(0);
if (channel.getGuild().getId().equals(event1.getGuild().getId())) { if (channel.getGuild().getId().equals(event1.getGuild().getId())) {
event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder() event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
@ -39,21 +39,40 @@ public class RulesCommand implements Command {
.setDescription("The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.") .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(event3 -> {
Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentRaw(), true).get(0); if(event.getMessage().getMentionedRoles().size() == 1) {
if (event3.getGuild().getSelfMember().canInteract(role)) { Role role = event.getMessage().getMentionedRoles().get(0);
event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder() if (event3.getGuild().getSelfMember().canInteract(role)) {
.setTitle("The role has been successfully set to " + role.getName() + ".")) event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.build()).queue(); .setTitle("The role has been successfully set to " + role.getName() + "."))
Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder() .build()).queue();
.setTitle("Rules")) Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setDescription(message) .setTitle("Rules"))
.build()).complete(); .setDescription(message)
rules.addReaction("").queue(); .build()).complete();
rules.addReaction("").queue(); rules.addReaction("").queue();
event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId()); 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().getContentRaw(), 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();
}
} }
}, event.getJDA(), event.getAuthor()); }, event.getJDA(), event.getAuthor());
}, event.getJDA(), event.getAuthor()); }, event.getJDA(), event.getAuthor());
@ -64,10 +83,62 @@ public class RulesCommand implements Command {
.build()).queue(); .build()).queue();
} }
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, new EmbedBuilder() TextChannel channel = event1.getGuild().getTextChannelsByName(event1.getMessage().getContentRaw(), true).get(0);
.setTitle("No Channel mentioned")) if (channel.getGuild().getId().equals(event1.getGuild().getId())) {
.setDescription("Please mention a channel. This should look like #rules") event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.build()).queue(); .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().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 {
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();
}
} }
}, event.getJDA(), event.getAuthor()); }, event.getJDA(), event.getAuthor());
} else { } else {
@ -82,7 +153,7 @@ public class RulesCommand implements Command {
@Override @Override
public String[] labels() { public String[] labels() {
return new String[]{"rules"}; return new String[]{"rules", "rule"};
} }
@Override @Override

View file

@ -6,6 +6,7 @@ package com.bbn.hadder.listener;
import com.bbn.hadder.Rethink; import com.bbn.hadder.Rethink;
import net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent; import net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent;
import net.dv8tion.jda.api.events.message.react.MessageReactionRemoveEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter; import net.dv8tion.jda.api.hooks.ListenerAdapter;
public class RulesListener extends ListenerAdapter { public class RulesListener extends ListenerAdapter {
@ -20,9 +21,25 @@ public class RulesListener extends ListenerAdapter {
public void onMessageReactionAdd(MessageReactionAddEvent event) { public void onMessageReactionAdd(MessageReactionAddEvent event) {
if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId()))) { if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId()))) {
if (!event.getMember().getUser().isBot()) { if (!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("")) {
if (event.getGuild().getSelfMember().canInteract(event.getMember())) {
event.getReaction().removeReaction().queue();
event.getMember().kick().reason("Declined the rules");
}
}
}
}
}
event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).queue(); @Override
public void onMessageReactionRemove(MessageReactionRemoveEvent event) {
if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId()))) {
if (!event.getMember().getUser().isBot()) {
if (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();
}
} }
} }
} }