Very very bad Rules Command. I'll fix this later
This commit is contained in:
parent
450253106c
commit
4550179994
4 changed files with 82 additions and 2 deletions
|
|
@ -75,6 +75,7 @@ public class Hadder {
|
||||||
new PrivateMessageListener(),
|
new PrivateMessageListener(),
|
||||||
new CommandListener(rethink, commandHandler),
|
new CommandListener(rethink, commandHandler),
|
||||||
new GuildListener(rethink, config),
|
new GuildListener(rethink, config),
|
||||||
|
new RulesListener(rethink),
|
||||||
new ReadyListener(rethink, config));
|
new ReadyListener(rethink, config));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
|
||||||
|
|
@ -139,11 +139,25 @@ public class Rethink {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String insertGuild(String id) {
|
public String insertGuild(String id) {
|
||||||
return this.insert("server", r.hashMap("id", id).with("prefix", "h.").with("links", "[]").with("linkchannel", ""));
|
return this.insert("server", r.hashMap("id", id).with("prefix", "h.").with("links", "[]").with("linkchannel", "").with("message_id", "").with("role_id", ""));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String insertUser(String id) {
|
public String insertUser(String id) {
|
||||||
return this.insert("user", r.hashMap("id", id).with("prefix", "h."));
|
return this.insert("user", r.hashMap("id", id).with("prefix", "h."));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String updateRules(String guild_id, String message_id, String role_id) {
|
||||||
|
this.update("server", guild_id, "message_id", message_id);
|
||||||
|
this.update("server", guild_id, "role_id", role_id);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRulesMID(String guild_id) {
|
||||||
|
return (String) this.get("server", "id", guild_id, "message_id");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRulesRID(String guild_id) {
|
||||||
|
return (String) this.get("server", "id", guild_id, "role_id");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,11 @@ package com.bbn.hadder.commands.moderation;
|
||||||
|
|
||||||
import com.bbn.hadder.commands.Command;
|
import com.bbn.hadder.commands.Command;
|
||||||
import com.bbn.hadder.commands.CommandEvent;
|
import com.bbn.hadder.commands.CommandEvent;
|
||||||
|
import com.bbn.hadder.utils.EventWaiter;
|
||||||
import com.bbn.hadder.utils.MessageEditor;
|
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;
|
||||||
|
|
||||||
public class RulesCommand implements Command {
|
public class RulesCommand implements Command {
|
||||||
|
|
||||||
|
|
@ -16,8 +18,46 @@ public class RulesCommand implements Command {
|
||||||
public void executed(String[] args, CommandEvent event) {
|
public void executed(String[] args, CommandEvent event) {
|
||||||
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()
|
||||||
|
.setTitle("Rules setup")
|
||||||
|
.setDescription("Please mention the channel în which I should send the rules. This 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()
|
||||||
|
.setTitle("Rules")
|
||||||
|
.setDescription("Now please send me the rules."))
|
||||||
|
.build()).queue();
|
||||||
|
new EventWaiter().newOnMessageEventWaiter(msgevent2 -> {
|
||||||
|
msgevent2.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.")
|
||||||
|
.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()
|
||||||
|
.setTitle("Rules"))
|
||||||
|
.setDescription(msgevent2.getMessage().getContentDisplay())
|
||||||
|
.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.getJDA(), event.getAuthor());
|
||||||
|
}, event.getJDA(), event.getAuthor());
|
||||||
|
} else {
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, new EmbedBuilder()
|
||||||
|
.setTitle("No Channel mentioned"))
|
||||||
|
.setDescription("Please mention a channel. This should look like #rules")
|
||||||
|
.build()).queue();
|
||||||
|
}
|
||||||
|
}, event.getJDA(), event.getAuthor());
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
EmbedBuilder builder = new EmbedBuilder();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
|
||||||
|
|
|
||||||
25
src/main/java/com/bbn/hadder/listener/RulesListener.java
Normal file
25
src/main/java/com/bbn/hadder/listener/RulesListener.java
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
package com.bbn.hadder.listener;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @author Skidder / GregTCLTK
|
||||||
|
*/
|
||||||
|
|
||||||
|
import com.bbn.hadder.Rethink;
|
||||||
|
import net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent;
|
||||||
|
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
||||||
|
|
||||||
|
public class RulesListener extends ListenerAdapter {
|
||||||
|
|
||||||
|
private Rethink rethink;
|
||||||
|
|
||||||
|
public RulesListener(Rethink rethink) {
|
||||||
|
this.rethink = rethink;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onMessageReactionAdd(MessageReactionAddEvent event) {
|
||||||
|
if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId()))) {
|
||||||
|
event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).queue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue