New permission system

!!!
This commit is contained in:
GregTCLTK 2019-12-21 17:44:34 +01:00
parent c88a8849ff
commit 81dedc87d7
No known key found for this signature in database
GPG key ID: A91BADE5C070FF67
15 changed files with 451 additions and 465 deletions

View file

@ -6,79 +6,77 @@ 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.core.Perm;
import com.bbn.hadder.core.Perms;
import com.bbn.hadder.utils.MessageEditor; import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Member;
@Perms(Perm.BAN_MEMBERS)
public class BanCommand implements Command { public class BanCommand implements Command {
@Override @Override
public void executed(String[] args, CommandEvent event) { public void executed(String[] args, CommandEvent event) {
if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.BAN_MEMBERS) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { if (event.getMessage().getMentionedMembers().size() == 1) {
if (event.getMessage().getMentionedMembers().size() == 1) { Member victim = event.getMessage().getMentionedMembers().get(0);
Member victim = event.getMessage().getMentionedMembers().get(0); if (!event.getAuthor().getId().equals(victim.getId())) {
if (!event.getAuthor().getId().equals(victim.getId())) { if (!event.getJDA().getSelfUser().getId().equals(victim.getId())) {
if (!event.getJDA().getSelfUser().getId().equals(victim.getId())) { if (event.getGuild().getSelfMember().canInteract(victim)) {
if (event.getGuild().getSelfMember().canInteract(victim)) { event.getGuild().ban(victim, 0, "Banned by " + event.getAuthor().getAsTag()).queue();
event.getGuild().ban(victim, 0, "Banned by " + event.getAuthor().getAsTag()).queue(); event.getTextChannel().sendMessage(
event.getTextChannel().sendMessage( event.getMessageEditor().getMessage(
event.getMessageEditor().getMessage( MessageEditor.MessageType.INFO,
MessageEditor.MessageType.INFO, "commands.moderation.ban.success.title",
"commands.moderation.ban.success.title", "",
"", "commands.moderation.ban.success.description",
"commands.moderation.ban.success.description", victim.getUser().getName() + ".").build()).queue();
victim.getUser().getName() + ".").build()).queue();
} else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
event.getTextChannel().sendMessage(
event.getMessageEditor().getMessage(
MessageEditor.MessageType.WARNING,
"commands.moderation.ban.error.title",
"commands.moderation.ban.myself.error.description").build()).queue();
}
} else { } else {
event.getTextChannel().sendMessage event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
(event.getMessageEditor().getMessage(
MessageEditor.MessageType.WARNING,
"commands.moderation.ban.error.title",
"commands.moderation.ban.yourself.error.description").build()).queue();
} }
} else if (event.getMessage().getMentionedMembers().size() == 0) { } else {
event.getHelpCommand().sendHelp(this, event); event.getTextChannel().sendMessage(
} else if (event.getMessage().getMentionedMembers().size() > 1) { event.getMessageEditor().getMessage(
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
Member member = event.getMessage().getMentionedMembers().get(i);
if (!event.getAuthor().getId().equals(member.getId())) {
if (!event.getJDA().getSelfUser().getId().equals(member.getId())) {
if (event.getGuild().getSelfMember().canInteract(member)) {
event.getGuild().ban(member, 0).reason("Mass Ban by " + event.getAuthor().getAsTag()).queue();
} else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
event.getTextChannel().sendMessage(
event.getMessageEditor().getMessage(
MessageEditor.MessageType.WARNING,
"commands.moderation.ban.error.title",
"commands.moderation.ban.myself.error.description").build()).queue();
}
} else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
MessageEditor.MessageType.WARNING, MessageEditor.MessageType.WARNING,
"commands.moderation.ban.error.title", "commands.moderation.ban.error.title",
"commands.moderation.ban.yourself.error.description").build()).queue(); "commands.moderation.ban.myself.error.description").build()).queue();
}
}
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
"commands.moderation.ban.success.title",
"",
"commands.moderation.ban.massban.success.description",
String.valueOf(event.getMessage().getMentionedMembers().size())).build()).queue();
} }
} else { } else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); event.getTextChannel().sendMessage
(event.getMessageEditor().getMessage(
MessageEditor.MessageType.WARNING,
"commands.moderation.ban.error.title",
"commands.moderation.ban.yourself.error.description").build()).queue();
}
} else if (event.getMessage().getMentionedMembers().size() == 0) {
event.getHelpCommand().sendHelp(this, event);
} else if (event.getMessage().getMentionedMembers().size() > 1) {
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
Member member = event.getMessage().getMentionedMembers().get(i);
if (!event.getAuthor().getId().equals(member.getId())) {
if (!event.getJDA().getSelfUser().getId().equals(member.getId())) {
if (event.getGuild().getSelfMember().canInteract(member)) {
event.getGuild().ban(member, 0).reason("Mass Ban by " + event.getAuthor().getAsTag()).queue();
} else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
event.getTextChannel().sendMessage(
event.getMessageEditor().getMessage(
MessageEditor.MessageType.WARNING,
"commands.moderation.ban.error.title",
"commands.moderation.ban.myself.error.description").build()).queue();
}
} else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
MessageEditor.MessageType.WARNING,
"commands.moderation.ban.error.title",
"commands.moderation.ban.yourself.error.description").build()).queue();
}
}
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
"commands.moderation.ban.success.title",
"",
"commands.moderation.ban.massban.success.description",
String.valueOf(event.getMessage().getMentionedMembers().size())).build()).queue();
} }
} }
@ -94,6 +92,6 @@ public class BanCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "<@User>"; return "user";
} }
} }

View file

@ -6,6 +6,8 @@ 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.core.Perm;
import com.bbn.hadder.core.Perms;
import com.bbn.hadder.utils.MessageEditor; import com.bbn.hadder.utils.MessageEditor;
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;
@ -14,61 +16,57 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@Perms(Perm.MANAGE_MESSAGES)
public class ClearCommand implements Command { public class ClearCommand implements Command {
@Override @Override
public void executed(String[] args, CommandEvent event) { public void executed(String[] args, CommandEvent event) {
if (args.length > 0) { if (args.length > 0) {
if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.MESSAGE_MANAGE) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { if (event.getGuild().getSelfMember().hasPermission(Permission.MESSAGE_MANAGE)) {
if (event.getGuild().getMemberById(event.getJDA().getSelfUser().getId()).hasPermission(Permission.MESSAGE_MANAGE)) { if (args[0].equals("all")) {
if (args[0].equals("all")) { List<Message> msg = event.getTextChannel().getIterableHistory().complete();
List<Message> msg = event.getTextChannel().getIterableHistory().complete(); for (Message message : msg) {
for (Message message : msg) { message.delete().queue();
message.delete().queue(); }
} Message message = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
Message message = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO, MessageEditor.MessageType.INFO,
"commands.moderation.lear.all.success.title", "commands.moderation.lear.all.success.title",
"", "",
"commands.moderation.lear.all.success.description", "commands.moderation.lear.all.success.description",
String.valueOf(msg.size())) String.valueOf(msg.size()))
.build()).complete(); .build()).complete();
try { try {
TimeUnit.SECONDS.sleep(3); TimeUnit.SECONDS.sleep(3);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
}
message.delete().queue();
} else {
try {
int nbToDelete = Integer.parseInt(args[0]);
if (nbToDelete < 1 || nbToDelete > 99) {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "", "commands.moderation.clear.number.error.description").build()).queue();
} else {
List<Message> history = event.getTextChannel().getHistory().retrievePast(nbToDelete + 1).complete();
List<Message> msgToDelete = new ArrayList<>(history);
event.getTextChannel().deleteMessages(msgToDelete).queue();
Message msg = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "", "", "commands.moderation.clear.success.description", String.valueOf(nbToDelete)).build()).complete();
try {
TimeUnit.SECONDS.sleep(2);
} catch (InterruptedException e) {
e.printStackTrace();
}
msg.delete().queue();
}
} catch (NumberFormatException e) {
event.getHelpCommand().sendHelp(this, event);
} catch (IllegalArgumentException e) {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "commands.moderation.clear.message.error.title", "commands.moderation.clear.message.error.description")
.build()).queue();
}
} }
message.delete().queue();
} else { } else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); try {
int nbToDelete = Integer.parseInt(args[0]);
if (nbToDelete < 1 || nbToDelete > 99) {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "", "commands.moderation.clear.number.error.description").build()).queue();
} else {
List<Message> history = event.getTextChannel().getHistory().retrievePast(nbToDelete + 1).complete();
List<Message> msgToDelete = new ArrayList<>(history);
event.getTextChannel().deleteMessages(msgToDelete).queue();
Message msg = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "", "", "commands.moderation.clear.success.description", String.valueOf(nbToDelete)).build()).complete();
try {
TimeUnit.SECONDS.sleep(2);
} catch (InterruptedException e) {
e.printStackTrace();
}
msg.delete().queue();
}
} catch (NumberFormatException e) {
event.getHelpCommand().sendHelp(this, event);
} catch (IllegalArgumentException e) {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "commands.moderation.clear.message.error.title", "commands.moderation.clear.message.error.description")
.build()).queue();
}
} }
} else { } else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
} }
} else { } else {
event.getHelpCommand().sendHelp(this, event); event.getHelpCommand().sendHelp(this, event);

View file

@ -6,54 +6,53 @@ 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.core.Perm;
import com.bbn.hadder.core.Perms;
import com.bbn.hadder.utils.MessageEditor; import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.Permission;
@Perms(Perm.MANAGE_SERVER)
public class InviteDetectCommand implements Command { public class InviteDetectCommand implements Command {
@Override @Override
public void executed(String[] args, CommandEvent event) { public void executed(String[] args, CommandEvent event) {
if (args.length == 1) { if (args.length == 1) {
if (event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { String opinion = args[0].toLowerCase();
String opinion = args[0].toLowerCase(); switch (opinion) {
switch (opinion) { case "on":
case "on": if (!event.getRethink().getInviteDetection(event.getGuild().getId())) {
if (!event.getRethink().getInviteDetection(event.getGuild().getId())) { event.getRethink().setInviteDetection(event.getGuild().getId(), true);
event.getRethink().setInviteDetection(event.getGuild().getId(), true); event.getTextChannel().sendMessage(
event.getTextChannel().sendMessage( event.getMessageEditor().getMessage(
event.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.invitedetect.activate.success.title",
"commands.moderation.invitedetect.activate.success.description")
.build()).queue();
} else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
MessageEditor.MessageType.WARNING,
"commands.moderation.invitedetect.activate.error.title",
"commands.moderation.invitedetect.activate.error.description")
.build()).queue();
}
break;
case "off":
if (event.getRethink().getInviteDetection(event.getGuild().getId())) {
event.getRethink().setInviteDetection(event.getGuild().getId(), false);
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO, MessageEditor.MessageType.INFO,
"commands.moderation.invitedetect.deactivate.success.title", "commands.moderation.invitedetect.activate.success.title",
"commands.moderation.invitedetect.deactivate.success.description") "commands.moderation.invitedetect.activate.success.description")
.build()).queue(); .build()).queue();
} else { } else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage( event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
MessageEditor.MessageType.WARNING, MessageEditor.MessageType.WARNING,
"commands.moderation.invitedetect.deactivate.error.title", "commands.moderation.invitedetect.activate.error.title",
"commands.moderation.invitedetect.deactivate.error.description") "commands.moderation.invitedetect.activate.error.description")
.build()).queue(); .build()).queue();
}
break;
} }
} else { break;
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
case "off":
if (event.getRethink().getInviteDetection(event.getGuild().getId())) {
event.getRethink().setInviteDetection(event.getGuild().getId(), false);
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.invitedetect.deactivate.success.title",
"commands.moderation.invitedetect.deactivate.success.description")
.build()).queue();
} else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
MessageEditor.MessageType.WARNING,
"commands.moderation.invitedetect.deactivate.error.title",
"commands.moderation.invitedetect.deactivate.error.description")
.build()).queue();
}
break;
} }
} else { } else {
event.getHelpCommand().sendHelp(this, event); event.getHelpCommand().sendHelp(this, event);

View file

@ -6,63 +6,62 @@ 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.core.Perm;
import com.bbn.hadder.core.Perms;
import com.bbn.hadder.utils.MessageEditor; import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Member;
@Perms(Perm.KICK_MEMBERS)
public class KickCommand implements Command { public class KickCommand implements Command {
@Override @Override
public void executed(String[] args, CommandEvent event) { public void executed(String[] args, CommandEvent event) {
if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.KICK_MEMBERS) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { if (event.getMessage().getMentionedMembers().size() == 1) {
if (event.getMessage().getMentionedMembers().size() == 1) { Member victim = event.getMessage().getMentionedMembers().get(0);
Member victim = event.getMessage().getMentionedMembers().get(0); if (!event.getAuthor().getId().equals(victim.getId())) {
if (!event.getAuthor().getId().equals(victim.getId())) { if (!event.getJDA().getSelfUser().getId().equals(victim.getId())) {
if (!event.getJDA().getSelfUser().getId().equals(victim.getId())) { if (event.getGuild().getSelfMember().canInteract(victim)) {
if (event.getGuild().getSelfMember().canInteract(victim)) { event.getGuild().kick(victim, "Kicked by " + event.getAuthor().getAsTag()).queue();
event.getGuild().kick(victim, "Kicked by " + event.getAuthor().getAsTag()).queue(); event.getTextChannel().sendMessage(
event.getTextChannel().sendMessage( event.getMessageEditor().getMessage(
event.getMessageEditor().getMessage( MessageEditor.MessageType.INFO,
MessageEditor.MessageType.INFO, "commands.moderation.kick.success.title",
"commands.moderation.kick.success.title", "",
"", "commands.moderation.kick.success.description",
"commands.moderation.kick.success.description", victim.getUser().getName()).build()).queue();
victim.getUser().getName()).build()).queue(); } else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
event.getTextChannel().sendMessage(
event.getMessageEditor().getMessage(
MessageEditor.MessageType.WARNING,
"commands.moderation.kick.error.title",
"commands.moderation.kick.myself.error.description").build()).queue();
}
} else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "commands.moderation.kick.error.title", "commands.moderation.kick.yourself.error.description").build()).queue();
}
} else if (event.getMessage().getMentionedMembers().size() == 0) {
event.getHelpCommand().sendHelp(this, event);
} else if (event.getMessage().getMentionedMembers().size() > 1) {
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
Member member = event.getMessage().getMentionedMembers().get(i);
if (!event.getAuthor().getId().equals(member.getId())) {
if (!event.getJDA().getSelfUser().getId().equals(member.getId())) {
if (event.getGuild().getSelfMember().canInteract(member)) {
event.getGuild().kick(member).reason("Mass Kicked by " + event.getAuthor().getAsTag()).queue();
} else { } else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
} }
} else { } else {
event.getTextChannel().sendMessage( event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "commands.moderation.kick.error.title", "commands.moderation.kick.myself.error.description").build()).queue();
event.getMessageEditor().getMessage(
MessageEditor.MessageType.WARNING,
"commands.moderation.kick.error.title",
"commands.moderation.kick.myself.error.description").build()).queue();
} }
} else { } else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "commands.moderation.kick.error.title", "commands.moderation.kick.yourself.error.description").build()).queue(); event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "commands.moderation.kick.error.title", "commands.moderation.kick.yourself.error.description").build()).queue();
} }
} else if (event.getMessage().getMentionedMembers().size() == 0) {
event.getHelpCommand().sendHelp(this, event);
} else if (event.getMessage().getMentionedMembers().size() > 1) {
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
Member member = event.getMessage().getMentionedMembers().get(i);
if (!event.getAuthor().getId().equals(member.getId())) {
if (!event.getJDA().getSelfUser().getId().equals(member.getId())) {
if (event.getGuild().getSelfMember().canInteract(member)) {
event.getGuild().kick(member).reason("Mass Kicked by " + event.getAuthor().getAsTag()).queue();
} else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "commands.moderation.kick.error.title","commands.moderation.kick.myself.error.description").build()).queue();
}
} else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "commands.moderation.kick.error.title", "commands.moderation.kick.yourself.error.description").build()).queue();
}
}
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,"commands.moderation.kick.success.title", "","commands.moderation.kick.masskick.success.description", String.valueOf(event.getMessage().getMentionedMembers().size())).build()).queue();
} }
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.moderation.kick.success.title", "", "commands.moderation.kick.masskick.success.description", String.valueOf(event.getMessage().getMentionedMembers().size())).build()).queue();
} }
} }
@ -78,6 +77,6 @@ public class KickCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "<@User>"; return "user";
} }
} }

View file

@ -6,91 +6,90 @@ 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.core.Perm;
import com.bbn.hadder.core.Perms;
import com.bbn.hadder.utils.MessageEditor; import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Member;
@Perms(Perm.CHANGE_NICKNAME)
public class NickCommand implements Command { public class NickCommand implements Command {
@Override @Override
public void executed(String[] args, CommandEvent event) { public void executed(String[] args, CommandEvent event) {
if (event.getMember().hasPermission(Permission.NICKNAME_MANAGE) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { if (event.getGuild().getSelfMember().hasPermission(Permission.NICKNAME_MANAGE)) {
if (event.getGuild().getSelfMember().hasPermission(Permission.NICKNAME_MANAGE)) { if (event.getMessage().getMentionedMembers().size() == 1) {
if (event.getMessage().getMentionedMembers().size() == 1) { if (!event.getMessage().getMentionedMembers().get(0).getId().equals(event.getGuild().getSelfMember().getId())) {
if (!event.getMessage().getMentionedMembers().get(0).getId().equals(event.getGuild().getSelfMember().getId())) { if (event.getGuild().getSelfMember().canInteract(event.getMessage().getMentionedMembers().get(0))) {
if (event.getGuild().getSelfMember().canInteract(event.getMessage().getMentionedMembers().get(0))) { if (args.length > 1) {
if (args.length > 1) { if (event.getMessage().getContentRaw().startsWith(event.getRethink().getUserPrefix(event.getMember().getId()))) {
if (event.getMessage().getContentRaw().startsWith(event.getRethink().getUserPrefix(event.getMember().getId()))) { event.getGuild().modifyNickname(event.getMessage().getMentionedMembers().get(0), event.getMessage().getContentRaw().replaceFirst(event.getRethink().getUserPrefix(event.getMember().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
event.getGuild().modifyNickname(event.getMessage().getMentionedMembers().get(0), event.getMessage().getContentRaw().replaceFirst(event.getRethink().getUserPrefix(event.getMember().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue(); event.getTextChannel().sendMessage(
event.getTextChannel().sendMessage( event.getMessageEditor().getMessage(
event.getMessageEditor().getMessage( MessageEditor.MessageType.INFO,
MessageEditor.MessageType.INFO, "commands.moderation.nick.success.title",
"commands.moderation.nick.success.title", "",
"", "commands.moderation.nick.success.description",
"commands.moderation.nick.success.description", event.getMessage().getMentionedMembers().get(0).getUser().getAsTag()
event.getMessage().getMentionedMembers().get(0).getUser().getAsTag() ).build()).queue();
).build()).queue(); } else if (event.getMessage().getContentRaw().startsWith(event.getRethink().getGuildPrefix(event.getGuild().getId()))) {
} else if (event.getMessage().getContentRaw().startsWith(event.getRethink().getGuildPrefix(event.getGuild().getId()))) { event.getGuild().modifyNickname(event.getMessage().getMentionedMembers().get(0), event.getMessage().getContentRaw().replaceFirst(event.getRethink().getGuildPrefix(event.getGuild().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
event.getGuild().modifyNickname(event.getMessage().getMentionedMembers().get(0), event.getMessage().getContentRaw().replaceFirst(event.getRethink().getGuildPrefix(event.getGuild().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue(); event.getTextChannel().sendMessage(
event.getTextChannel().sendMessage( event.getMessageEditor().getMessage(
event.getMessageEditor().getMessage( MessageEditor.MessageType.INFO,
MessageEditor.MessageType.INFO, "commands.moderation.nick.success.title",
"commands.moderation.nick.success.title", "",
"", "commands.moderation.nick.success.description", event.getMessage().getMentionedMembers().get(0).getUser().getAsTag()
"commands.moderation.nick.success.description", event.getMessage().getMentionedMembers().get(0).getUser().getAsTag() ).build()).queue();
).build()).queue();
}
} else {
event.getHelpCommand().sendHelp(this, event);
} }
} else { } else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); event.getHelpCommand().sendHelp(this, event);
} }
} else { } else {
if (event.getMessage().getContentRaw().startsWith(event.getRethink().getUserPrefix(event.getMember().getId()))) { event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
event.getGuild().getSelfMember().modifyNickname(event.getMessage().getContentRaw().replaceFirst(event.getRethink().getUserPrefix(event.getMember().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
event.getTextChannel().sendMessage(
event.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.nick.success.title",
"",
"commands.moderation.nick.myself.success.description",
"").build()).queue();
} else if (event.getMessage().getContentRaw().startsWith(event.getRethink().getGuildPrefix(event.getGuild().getId()))) {
event.getGuild().getSelfMember().modifyNickname(event.getMessage().getContentRaw().replaceFirst(event.getRethink().getGuildPrefix(event.getGuild().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
event.getTextChannel().sendMessage(
event.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.nick.success.title",
"",
"commands.moderation.nick.myself.success.description", ""
).build()).queue();
}
} }
} else if (event.getMessage().getMentionedMembers().size() == 0) {
event.getHelpCommand().sendHelp(this, event);
} else { } else {
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) { if (event.getMessage().getContentRaw().startsWith(event.getRethink().getUserPrefix(event.getMember().getId()))) {
Member member = event.getMessage().getMentionedMembers().get(i); event.getGuild().getSelfMember().modifyNickname(event.getMessage().getContentRaw().replaceFirst(event.getRethink().getUserPrefix(event.getMember().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
if (!event.getJDA().getSelfUser().getId().equals(member.getId())) { event.getTextChannel().sendMessage(
event.getGuild().modifyNickname(member, args[args.length - 1]).reason("Mass Nicked by " + event.getAuthor().getAsTag()).queue(); event.getMessageEditor().getMessage(
} else { MessageEditor.MessageType.INFO,
event.getGuild().getSelfMember().modifyNickname(args[args.length - 1]).reason("Mass Nicked by " + event.getAuthor().getAsTag()).queue(); "commands.moderation.nick.success.title",
} "",
"commands.moderation.nick.myself.success.description",
"").build()).queue();
} else if (event.getMessage().getContentRaw().startsWith(event.getRethink().getGuildPrefix(event.getGuild().getId()))) {
event.getGuild().getSelfMember().modifyNickname(event.getMessage().getContentRaw().replaceFirst(event.getRethink().getGuildPrefix(event.getGuild().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
event.getTextChannel().sendMessage(
event.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.nick.success.title",
"",
"commands.moderation.nick.myself.success.description", ""
).build()).queue();
} }
event.getTextChannel().sendMessage(
event.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.nick.success.title",
"",
"commands.moderation.nick.myself.success.description", String.valueOf(event.getMessage().getMentionedMembers().size())
).build()).queue();
} }
} else if (event.getMessage().getMentionedMembers().size() == 0) {
event.getHelpCommand().sendHelp(this, event);
} else { } else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
Member member = event.getMessage().getMentionedMembers().get(i);
if (!event.getJDA().getSelfUser().getId().equals(member.getId())) {
event.getGuild().modifyNickname(member, args[args.length - 1]).reason("Mass Nicked by " + event.getAuthor().getAsTag()).queue();
} else {
event.getGuild().getSelfMember().modifyNickname(args[args.length - 1]).reason("Mass Nicked by " + event.getAuthor().getAsTag()).queue();
}
}
event.getTextChannel().sendMessage(
event.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.nick.success.title",
"",
"commands.moderation.nick.myself.success.description", String.valueOf(event.getMessage().getMentionedMembers().size())
).build()).queue();
} }
} else { } else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
} }
} }

View file

@ -2,37 +2,36 @@ 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.core.Perm;
import com.bbn.hadder.core.Perms;
import com.bbn.hadder.utils.MessageEditor; import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.Permission;
@Perms(Perm.MANAGE_SERVER)
public class PrefixCommand implements Command { public class PrefixCommand implements Command {
@Override @Override
public void executed(String[] args, CommandEvent event) { public void executed(String[] args, CommandEvent event) {
if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { if (args.length == 1) {
if (args.length == 1) { if (!args[0].contains("\"")) {
if (!args[0].contains("\"")) {
event.getRethink().setGuildPrefix(args[0], event.getGuild().getId()); event.getRethink().setGuildPrefix(args[0], event.getGuild().getId());
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage( event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO, MessageEditor.MessageType.INFO,
"commands.moderation.prefix.success.title", "commands.moderation.prefix.success.title",
"", "",
"commands.moderation.prefix.success.description", "commands.moderation.prefix.success.description",
args[0]).build() args[0]).build()
).queue(); ).queue();
} else {
event.getTextChannel().sendMessage(
event.getMessageEditor().getMessage(
MessageEditor.MessageType.WARNING,
"",
"commands.moderation.prefix.error.description").build()).queue();
}
} else { } else {
event.getHelpCommand().sendHelp(this, event); event.getTextChannel().sendMessage(
event.getMessageEditor().getMessage(
MessageEditor.MessageType.WARNING,
"",
"commands.moderation.prefix.error.description").build()).queue();
} }
} else { } else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); event.getHelpCommand().sendHelp(this, event);
} }
} }

View file

@ -6,91 +6,93 @@ 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.core.Perm;
import com.bbn.hadder.core.Perms;
import com.bbn.hadder.utils.MessageEditor; import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.Region; import net.dv8tion.jda.api.Region;
@Perms(Perm.MANAGE_SERVER)
public class RegionChangeCommand implements Command { public class RegionChangeCommand implements Command {
@Override @Override
public void executed(String[] args, CommandEvent event) { public void executed(String[] args, CommandEvent event) {
if (args.length == 1) { if (args.length == 1) {
if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_SERVER)) { if (event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
if (event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { switch (args[0].toLowerCase()) {
switch (args[0].toLowerCase()) { case "amsterdam":
case "amsterdam": setRegion(Region.AMSTERDAM, "Amsterdam", event);
setRegion(Region.AMSTERDAM, "Amsterdam", event); break;
break; case "frankfurt":
case "frankfurt": setRegion(Region.FRANKFURT, "Frankfurt", event);
setRegion(Region.FRANKFURT, "Frankfurt", event); break;
break; case "eu-west":
case "eu-west": setRegion(Region.EU_WEST, "EU West", event);
setRegion(Region.EU_WEST, "EU West", event); break;
break; case "eu-central":
case "eu-central": setRegion(Region.EU_CENTRAL, "EU Central", event);
setRegion(Region.EU_CENTRAL, "EU Central", event); break;
break; case "europe":
case "europe": setRegion(Region.EUROPE, "EUROPE", event);
setRegion(Region.EUROPE, "EUROPE", event); break;
break; case "brazil":
case "brazil": setRegion(Region.BRAZIL, "Brazil", event);
setRegion(Region.BRAZIL, "Brazil", event); break;
break; case "hongkong":
case "hongkong": setRegion(Region.HONG_KONG, "Hong Kong", event);
setRegion(Region.HONG_KONG, "Hong Kong", event); break;
break; case "india":
case "india": setRegion(Region.INDIA, "India", event);
setRegion(Region.INDIA, "India", event); break;
break; case "japan":
case "japan": setRegion(Region.JAPAN, "Japan", event);
setRegion(Region.JAPAN, "Japan", event); break;
break; case "london":
case "london": setRegion(Region.LONDON, "London", event);
setRegion(Region.LONDON, "London", event); break;
break; case "russia":
case "russia": setRegion(Region.RUSSIA, "Russia", event);
setRegion(Region.RUSSIA, "Russia", event); break;
break; case "singapore":
case "singapore": setRegion(Region.SINGAPORE, "Singapore", event);
setRegion(Region.SINGAPORE, "Singapore", event); break;
break; case "south-africa":
case "south-africa": setRegion(Region.SOUTH_AFRICA, "South Africa", event);
setRegion(Region.SOUTH_AFRICA, "South Africa", event); break;
break; case "sydney":
case "sydney": setRegion(Region.SYDNEY, "Sydney", event);
setRegion(Region.SYDNEY, "Sydney", event); break;
break; case "us-central":
case "us-central": setRegion(Region.US_CENTRAL, "US Central", event);
setRegion(Region.US_CENTRAL, "US Central", event); break;
break; case "us-east":
case "us-east": setRegion(Region.US_EAST, "US East", event);
setRegion(Region.US_EAST, "US East", event); break;
break; case "us-west":
case "us-west": setRegion(Region.US_WEST, "US West", event);
setRegion(Region.US_WEST, "US West", event); break;
break; case "us-south":
case "us-south": setRegion(Region.US_SOUTH, "US South", event);
setRegion(Region.US_SOUTH, "US South", event); break;
break; case "list":
case "list": event.getTextChannel().sendMessage(
event.getTextChannel().sendMessage( event.getMessageEditor().getMessage(
event.getMessageEditor().getMessage( MessageEditor.MessageType.INFO,
MessageEditor.MessageType.INFO, "commands.moderation.regionchange.regions.title",
"commands.moderation.regionchange.regions.title", "")
"") .setDescription("**LOCKED:**\n`amsterdam` `frankfurt` `eu-west` `eu-central` `london`\n\n**UNLOCKED:**\n`europe` `brazil` `hongkong` `india` `japan` `singapore` `south-africa` `sydney` `us-central` `us-east` `us-west` `us-south`")
.setDescription("**LOCKED:**\n`amsterdam` `frankfurt` `eu-west` `eu-central` `london`\n\n**UNLOCKED:**\n`europe` `brazil` `hongkong` `india` `japan` `singapore` `south-africa` `sydney` `us-central` `us-east` `us-west` `us-south`") .build()).queue();
.build()).queue(); break;
break; }
} } else
} else event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
} else event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
} else event.getTextChannel().sendMessage( } else event.getTextChannel().sendMessage(
event.getMessageEditor().getMessage( event.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO, MessageEditor.MessageType.INFO,
"commands.moderation.regionchange.regions.title", "commands.moderation.regionchange.regions.title",
"") "")
.setDescription("**LOCKED:**\n`amsterdam` `frankfurt` `eu-west` `eu-central` `london`\n\n**UNLOCKED:**\n`europe` `brazil` `hongkong` `india` `japan` `singapore` `south-africa` `sydney` `us-central` `us-east` `us-west` `us-south`") .setDescription("**LOCKED:**\n`amsterdam` `frankfurt` `eu-west` `eu-central` `london`\n\n**UNLOCKED:**\n`europe` `brazil` `hongkong` `india` `japan` `singapore` `south-africa` `sydney` `us-central` `us-east` `us-west` `us-south`")
.build()).queue(); .build()).queue();
} }
public void setRegion (Region region, String region_name, CommandEvent event) { public void setRegion (Region region, String region_name, CommandEvent event) {

View file

@ -2,81 +2,81 @@ 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.core.Perm;
import com.bbn.hadder.core.Perms;
import com.bbn.hadder.utils.MessageEditor; import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.Role; import net.dv8tion.jda.api.entities.Role;
@Perms(Perm.MANAGE_ROLES)
public class RoleCommand implements Command { public class RoleCommand implements Command {
@Override @Override
public void executed(String[] args, CommandEvent event) { public void executed(String[] args, CommandEvent event) {
if (args.length > 0) { if (args.length > 0) {
if (event.getMember().hasPermission(Permission.MANAGE_ROLES)) { if (event.getMember().hasPermission(Permission.MANAGE_ROLES)) {
if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
String action = args[0].toLowerCase();
switch (action) {
case "add":
if (event.getMessage().getMentionedMembers().size() > 0 && event.getMessage().getMentionedRoles().size() > 0) {
for (Member member : event.getMessage().getMentionedMembers()) {
for (Role role : event.getMessage().getMentionedRoles()) {
if (event.getGuild().getSelfMember().canInteract(member)) {
if (event.getGuild().getSelfMember().canInteract(role)) {
event.getGuild().addRoleToMember(member, role).reason("Role added by " + event.getAuthor().getAsTag()).queue();
} else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
}
}
event.getChannel().sendMessage(
event.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.role.add.success.title",
"",
"",
"commands.moderation.role.add.success.description",
String.valueOf(event.getMessage().getMentionedRoles().size()),
String.valueOf(event.getMessage().getMentionedMembers().size()))
.build()).queue();
}
break;
case "remove": String action = args[0].toLowerCase();
if (event.getMessage().getMentionedMembers().size() > 0 && event.getMessage().getMentionedRoles().size() > 0) { switch (action) {
for (Member member : event.getMessage().getMentionedMembers()) { case "add":
for (Role role : event.getMessage().getMentionedRoles()) { if (event.getMessage().getMentionedMembers().size() > 0 && event.getMessage().getMentionedRoles().size() > 0) {
if (event.getGuild().getSelfMember().canInteract(member)) { for (Member member : event.getMessage().getMentionedMembers()) {
if (event.getGuild().getSelfMember().canInteract(role)) { for (Role role : event.getMessage().getMentionedRoles()) {
event.getGuild().removeRoleFromMember(member, role).reason("Role removed by " + event.getAuthor().getAsTag()).queue(); if (event.getGuild().getSelfMember().canInteract(member)) {
} else { if (event.getGuild().getSelfMember().canInteract(role)) {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); event.getGuild().addRoleToMember(member, role).reason("Role added by " + event.getAuthor().getAsTag()).queue();
}
} else { } else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
} }
} else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
} }
} }
event.getChannel().sendMessage(
event.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.role.remove.success.title",
"",
"",
"commands.moderation.role.remove.success.description",
String.valueOf(event.getMessage().getMentionedRoles().size()),
String.valueOf(event.getMessage().getMentionedMembers().size()))
.build()).queue();
} }
break; event.getChannel().sendMessage(
} event.getMessageEditor().getMessage(
} else { MessageEditor.MessageType.INFO,
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); "commands.moderation.role.add.success.title",
"",
"",
"commands.moderation.role.add.success.description",
String.valueOf(event.getMessage().getMentionedRoles().size()),
String.valueOf(event.getMessage().getMentionedMembers().size()))
.build()).queue();
}
break;
case "remove":
if (event.getMessage().getMentionedMembers().size() > 0 && event.getMessage().getMentionedRoles().size() > 0) {
for (Member member : event.getMessage().getMentionedMembers()) {
for (Role role : event.getMessage().getMentionedRoles()) {
if (event.getGuild().getSelfMember().canInteract(member)) {
if (event.getGuild().getSelfMember().canInteract(role)) {
event.getGuild().removeRoleFromMember(member, role).reason("Role removed by " + event.getAuthor().getAsTag()).queue();
} else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
}
}
event.getChannel().sendMessage(
event.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.role.remove.success.title",
"",
"",
"commands.moderation.role.remove.success.description",
String.valueOf(event.getMessage().getMentionedRoles().size()),
String.valueOf(event.getMessage().getMentionedMembers().size()))
.build()).queue();
}
break;
} }
} else { } else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
} }
} else { } else {
event.getHelpCommand().sendHelp(this, event); event.getHelpCommand().sendHelp(this, event);

View file

@ -6,6 +6,8 @@ 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.core.Perm;
import com.bbn.hadder.core.Perms;
import com.bbn.hadder.utils.EventWaiter; import com.bbn.hadder.utils.EventWaiter;
import com.bbn.hadder.utils.MessageEditor; import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.Permission;
@ -15,48 +17,45 @@ import net.dv8tion.jda.api.entities.Role;
import net.dv8tion.jda.api.entities.TextChannel; import net.dv8tion.jda.api.entities.TextChannel;
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent; import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
@Perms(Perm.MANAGE_SERVER)
public class RulesCommand implements Command { public class RulesCommand implements Command {
@Override @Override
public void executed(String[] args, CommandEvent event) { public void executed(String[] args, CommandEvent event) {
if (event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES)) {
if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES)) { event.getTextChannel().sendMessage(
event.getTextChannel().sendMessage( event.getMessageEditor().getMessage(
event.getMessageEditor().getMessage( MessageEditor.MessageType.INFO,
MessageEditor.MessageType.INFO, "commands.moderation.rules.setup.title",
"commands.moderation.rules.setup.title", "commands.moderation.rules.setup.description")
"commands.moderation.rules.setup.description") .build()).queue();
.build()).queue(); new EventWaiter().newOnMessageEventWaiter(event1 -> {
new EventWaiter().newOnMessageEventWaiter(event1 -> { if (event1.getMessage().getMentionedChannels().size() == 1) {
if (event1.getMessage().getMentionedChannels().size() == 1) { try {
try { TextChannel channel = event1.getMessage().getMentionedChannels().get(0);
TextChannel channel = event1.getMessage().getMentionedChannels().get(0); createRules(event, event1, channel);
createRules(event, event1, channel); } catch (Exception e) {
} catch (Exception e) { event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.moderation.rules.channel.error.title",
"commands.moderation.rules.channel.error.title", "commands.moderation.rules.channel.error.description")
"commands.moderation.rules.channel.error.description") .build()).queue();
.build()).queue();
}
} else {
try {
TextChannel channel = event1.getGuild().getTextChannelsByName(event1.getMessage().getContentRaw(), true).get(0);
createRules(event, event1, channel);
} catch (Exception e) {
event.getTextChannel().sendMessage(
event.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.moderation.rules.channel.error.title",
"commands.moderation.rules.channel.error.description")
.build()).queue();
}
} }
}, event.getJDA(), event.getAuthor()); } else {
} else { try {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); TextChannel channel = event1.getGuild().getTextChannelsByName(event1.getMessage().getContentRaw(), true).get(0);
} createRules(event, event1, channel);
} catch (Exception e) {
event.getTextChannel().sendMessage(
event.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.moderation.rules.channel.error.title",
"commands.moderation.rules.channel.error.description")
.build()).queue();
}
}
}, event.getJDA(), event.getAuthor());
} else { } else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
} }
} }

View file

@ -6,6 +6,7 @@ import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.entities.TextChannel; import net.dv8tion.jda.api.entities.TextChannel;
public class StarBoardCommand implements Command { public class StarBoardCommand implements Command {
@Override @Override
public void executed(String[] args, CommandEvent event) { public void executed(String[] args, CommandEvent event) {
if (event.getMessage().getMentionedChannels().size()==1) { if (event.getMessage().getMentionedChannels().size()==1) {

View file

@ -16,23 +16,21 @@ public class GuildLeaveCommand implements Command {
@Override @Override
public void executed(String[] args, CommandEvent event) { public void executed(String[] args, CommandEvent event) {
if (event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { if (args.length > 0) {
if (args.length > 0) { Guild guild = event.getJDA().getGuildById(args[0]);
Guild guild = event.getJDA().getGuildById(args[0]); try {
try { guild.leave().queue();
guild.leave().queue(); event.getTextChannel()
event.getTextChannel() .sendMessage(event.getMessageEditor()
.sendMessage(event.getMessageEditor() .getMessage(MessageEditor.MessageType.INFO, "commands.owner.guildleave.success.title",
.getMessage(MessageEditor.MessageType.INFO, "commands.owner.guildleave.success.title", "", "commands.owner.guildleave.success.description", guild.getName())
"", "commands.owner.guildleave.success.description", guild.getName()) .build())
.build()) .queue();
.queue(); } catch (Exception e) {
} catch (Exception e) { event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "commands.owner.guildleave.error.title", "", "commands.owner.guildleave.help.description", guild.getName()).build()).queue();
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "commands.owner.guildleave.error.title", "", "commands.owner.guildleave.help.description", guild.getName()).build()).queue();
}
} else {
event.getHelpCommand().sendHelp(this, event);
} }
} else {
event.getHelpCommand().sendHelp(this, event);
} }
} }

View file

@ -10,7 +10,6 @@ import com.bbn.hadder.utils.MessageEditor.MessageType;
* @author Skidder / GregTCLTK * @author Skidder / GregTCLTK
*/ */
@Perms(Perm.BOT_OWNER)
public class TestCommand implements Command { public class TestCommand implements Command {
@Override @Override

View file

@ -1,14 +1,11 @@
/*
* @author Hax / Hax6775 / Schlauer_Hax
*/
package com.bbn.hadder.core; package com.bbn.hadder.core;
import com.bbn.hadder.commands.CommandEvent; import com.bbn.hadder.commands.CommandEvent;
import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.Permission;
/* /**
* @author Skidder / GregTCLTK * @author Skidder / GregTCLTK
* @author Hax / Hax6775 / Schlauer_Hax
*/ */
public enum Perm { public enum Perm {
@ -22,55 +19,55 @@ public enum Perm {
MANAGE_MESSAGES { MANAGE_MESSAGES {
@Override @Override
public boolean check(CommandEvent event) { public boolean check(CommandEvent event) {
return event.getMember().hasPermission(Permission.MESSAGE_MANAGE); return event.getMember().hasPermission(Permission.MESSAGE_MANAGE) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong());
} }
}, },
EMBED_MESSAGES { EMBED_MESSAGES {
@Override @Override
public boolean check(CommandEvent event) { public boolean check(CommandEvent event) {
return event.getMember().hasPermission(Permission.MESSAGE_EMBED_LINKS); return event.getMember().hasPermission(Permission.MESSAGE_EMBED_LINKS) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong());
} }
}, },
BAN_MEMBERS { BAN_MEMBERS {
@Override @Override
public boolean check(CommandEvent event) { public boolean check(CommandEvent event) {
return event.getMember().hasPermission(Permission.BAN_MEMBERS); return event.getMember().hasPermission(Permission.BAN_MEMBERS) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong());
} }
}, },
KICK_MEMBERS { KICK_MEMBERS {
@Override @Override
public boolean check(CommandEvent event) { public boolean check(CommandEvent event) {
return event.getMember().hasPermission(Permission.KICK_MEMBERS); return event.getMember().hasPermission(Permission.KICK_MEMBERS) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong());
} }
}, },
MANAGE_SERVER { MANAGE_SERVER {
@Override @Override
public boolean check(CommandEvent event) { public boolean check(CommandEvent event) {
return event.getMember().hasPermission(Permission.MANAGE_SERVER); return event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong());
} }
}, },
MANAGE_ROLES { MANAGE_ROLES {
@Override @Override
public boolean check(CommandEvent event) { public boolean check(CommandEvent event) {
return event.getMember().hasPermission(Permission.MANAGE_ROLES); return event.getMember().hasPermission(Permission.MANAGE_ROLES) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong());
} }
}, },
CHANGE_NICKNAME { CHANGE_NICKNAME {
@Override @Override
public boolean check(CommandEvent event) { public boolean check(CommandEvent event) {
return event.getMember().hasPermission(Permission.NICKNAME_CHANGE); return event.getMember().hasPermission(Permission.NICKNAME_CHANGE) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong());
} }
}, },
ADMINISTRATOR { ADMINISTRATOR {
@Override @Override
public boolean check(CommandEvent event) { public boolean check(CommandEvent event) {
return event.getMember().hasPermission(Permission.ADMINISTRATOR); return event.getMember().hasPermission(Permission.ADMINISTRATOR) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong());
} }
}, },
MANAGE_WEBHOOKS { MANAGE_WEBHOOKS {
@Override @Override
public boolean check(CommandEvent event) { public boolean check(CommandEvent event) {
return event.getMember().hasPermission(Permission.MANAGE_WEBHOOKS); return event.getMember().hasPermission(Permission.MANAGE_WEBHOOKS) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong());
} }
}; };

View file

@ -1,14 +1,11 @@
/*
* @author Hax / Hax6775 / Schlauer_Hax
*/
package com.bbn.hadder.core; package com.bbn.hadder.core;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
/* /**
* @author Skidder / GregTCLTK * @author Skidder / GregTCLTK
* @author Hax / Hax6775 / Schlauer_Hax
*/ */
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)

View file

@ -4,6 +4,7 @@
Hadder = Hadder Hadder = Hadder
user = <@User>
searchterm = <SearchTerm> searchterm = <SearchTerm>
username = <Username> username = <Username>
number = <Number>/all number = <Number>/all