Greg dev #81

Merged
greg6775 merged 4 commits from greg-dev into master 2019-11-21 18:29:34 +01:00
3 changed files with 34 additions and 27 deletions

View file

@ -30,7 +30,7 @@
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>LATEST</version>
<version>20190722</version>
</dependency>
<dependency>
<groupId>com.rethinkdb</groupId>

View file

@ -11,6 +11,8 @@ import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.Role;
import net.dv8tion.jda.api.entities.TextChannel;
public class RulesCommand implements Command {
@ -19,35 +21,38 @@ public class RulesCommand implements Command {
if (event.getMember().hasPermission(Permission.MANAGE_SERVER)) {
if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES)) {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Rules setup")
.setDescription("Please mention the channel în which I should send the rules. This should look like #rules."))
.setTitle("Set up rules")
.setDescription("Please specify the channel on which I should send the rules. Your message should look like: #rules."))
.build()).queue();
new EventWaiter().newOnMessageEventWaiter(msgevent -> {
if (msgevent.getMessage().getMentionedChannels().size() > 0) {
msgevent.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
new EventWaiter().newOnMessageEventWaiter(event1 -> {
if (event1.getMessage().getMentionedChannels().size() > 0) {
TextChannel channel = event1.getMessage().getMentionedChannels().get(0);
event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Rules")
.setDescription("Now please send me the rules."))
.setDescription("The channel was successfully set to " + channel.getName() + ". Please send me the rules now."))
.build()).queue();
new EventWaiter().newOnMessageEventWaiter(msgevent2 -> {
msgevent2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
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("Now please send me the name of the role which the user will get 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();
new EventWaiter().newOnMessageEventWaiter(msgevent3 -> {
try {
msgevent3.getGuild().getRolesByName(msgevent3.getMessage().getContentRaw(), false).get(0);
msgevent3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder().setTitle("Successfully set the rules")).build()).queue();
Message rules = msgevent.getMessage().getMentionedChannels().get(0).sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
new EventWaiter().newOnMessageEventWaiter(event3 -> {
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(msgevent2.getMessage().getContentDisplay())
.setDescription(message)
.build()).complete();
rules.addReaction("").queue();
rules.addReaction("").queue();
event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), msgevent3.getGuild().getRolesByName(msgevent3.getMessage().getContentRaw(), false).get(0).getId());
} catch (Exception e) {
e.printStackTrace();
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());

View file

@ -19,7 +19,9 @@ public class RulesListener extends ListenerAdapter {
@Override
public void onMessageReactionAdd(MessageReactionAddEvent event) {
if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId()))) {
if (!event.getMember().getUser().isBot()) {
event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).queue();
}
}
}
}