Greg dev #81
3 changed files with 34 additions and 27 deletions
2
pom.xml
2
pom.xml
|
|
@ -30,7 +30,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.json</groupId>
|
<groupId>org.json</groupId>
|
||||||
<artifactId>json</artifactId>
|
<artifactId>json</artifactId>
|
||||||
<version>LATEST</version>
|
<version>20190722</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.rethinkdb</groupId>
|
<groupId>com.rethinkdb</groupId>
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,8 @@ import com.bbn.hadder.utils.MessageEditor;
|
||||||
import net.dv8tion.jda.api.EmbedBuilder;
|
import net.dv8tion.jda.api.EmbedBuilder;
|
||||||
import net.dv8tion.jda.api.Permission;
|
import net.dv8tion.jda.api.Permission;
|
||||||
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.TextChannel;
|
||||||
|
|
||||||
public class RulesCommand implements Command {
|
public class RulesCommand implements Command {
|
||||||
|
|
||||||
|
|
@ -19,36 +21,39 @@ public class RulesCommand implements Command {
|
||||||
if (event.getMember().hasPermission(Permission.MANAGE_SERVER)) {
|
if (event.getMember().hasPermission(Permission.MANAGE_SERVER)) {
|
||||||
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("Rules setup")
|
.setTitle("Set up rules")
|
||||||
.setDescription("Please mention the channel în which I should send the rules. This 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(msgevent -> {
|
if (event1.getMessage().getMentionedChannels().size() > 0) {
|
||||||
if (msgevent.getMessage().getMentionedChannels().size() > 0) {
|
TextChannel channel = event1.getMessage().getMentionedChannels().get(0);
|
||||||
msgevent.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
||||||
.setTitle("Rules")
|
.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();
|
.build()).queue();
|
||||||
new EventWaiter().newOnMessageEventWaiter(msgevent2 -> {
|
new EventWaiter().newOnMessageEventWaiter(event2 -> {
|
||||||
msgevent2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
String message = event2.getMessage().getContentDisplay();
|
||||||
|
event2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
||||||
.setTitle("Role to assign"))
|
.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();
|
.build()).queue();
|
||||||
new EventWaiter().newOnMessageEventWaiter(msgevent3 -> {
|
new EventWaiter().newOnMessageEventWaiter(event3 -> {
|
||||||
try {
|
Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentRaw(), true).get(0);
|
||||||
msgevent3.getGuild().getRolesByName(msgevent3.getMessage().getContentRaw(), false).get(0);
|
if (event3.getGuild().getSelfMember().canInteract(role)) {
|
||||||
msgevent3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder().setTitle("Successfully set the rules")).build()).queue();
|
event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
||||||
Message rules = msgevent.getMessage().getMentionedChannels().get(0).sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
.setTitle("The role has been successfully set to " + role.getName() + "."))
|
||||||
.setTitle("Rules"))
|
.build()).queue();
|
||||||
.setDescription(msgevent2.getMessage().getContentDisplay())
|
Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
||||||
.build()).complete();
|
.setTitle("Rules"))
|
||||||
rules.addReaction("✅").queue();
|
.setDescription(message)
|
||||||
rules.addReaction("❌").queue();
|
.build()).complete();
|
||||||
|
rules.addReaction("✅").queue();
|
||||||
event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), msgevent3.getGuild().getRolesByName(msgevent3.getMessage().getContentRaw(), false).get(0).getId());
|
rules.addReaction("❌").queue();
|
||||||
} catch (Exception e) {
|
event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId());
|
||||||
e.printStackTrace();
|
} 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());
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,9 @@ 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()))) {
|
if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId()))) {
|
||||||
event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).queue();
|
if (!event.getMember().getUser().isBot()) {
|
||||||
|
event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).queue();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue