Skip to content

Commit

Permalink
Merge pull request #196 from KittyBot-Org/development
Browse files Browse the repository at this point in the history
emote restriction reset fixes
settings command fixes
  • Loading branch information
topi314 authored Dec 7, 2020
2 parents 033d4bd + 67567b1 commit 7543b49
Show file tree
Hide file tree
Showing 15 changed files with 95 additions and 112 deletions.
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ dependencies {
implementation("com.github.KittyBot-Org:Lavalink-Client:f7842dfdb4") {
exclude group: 'com.sedmelluq', module: 'lavaplayer'
}
implementation 'com.sedmelluq:lavaplayer:1.3.62'
implementation 'com.sedmelluq:lavaplayer:1.3.63'
implementation 'com.sedmelluq:jda-nas:1.1.0'

// database
Expand All @@ -49,7 +49,7 @@ dependencies {
implementation 'io.sentry:sentry-logback:3.2.0'

// eval
implementation 'org.codehaus.groovy:groovy-jsr223:3.0.6'
implementation 'org.codehaus.groovy:groovy-jsr223:3.0.7'

// jjwt
implementation 'io.jsonwebtoken:jjwt-api:0.11.2'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@ public BiteCommand(){

@Override
public void run(CommandContext ctx){
if(ctx.getArgs().length == 0){
sendUsage(ctx);
return;
}
sendReactionImage(ctx, false, "bite", "gif", "bites");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@ public CuddleCommand(){

@Override
public void run(CommandContext ctx){
if(ctx.getArgs().length == 0){
sendUsage(ctx);
return;
}
sendReactionImage(ctx, false, "cuddle", "gif", "cuddles");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@ public FeedCommand(){

@Override
public void run(CommandContext ctx){
if(ctx.getArgs().length == 0){
sendUsage(ctx);
return;
}
sendReactionImage(ctx, false, "feed", "gif", "feeds");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@ public HugCommand(){

@Override
public void run(CommandContext ctx){
if(ctx.getArgs().length == 0){
sendUsage(ctx);
return;
}
sendReactionImage(ctx, false, "hug", "gif", "hugs");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@ public KissCommand(){

@Override
public void run(CommandContext ctx){
if(ctx.getArgs().length == 0){
sendUsage(ctx);
return;
}
sendReactionImage(ctx, false, "kiss", "gif", "kisses");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@ public LickCommand(){

@Override
public void run(CommandContext ctx){
if(ctx.getArgs().length == 0){
sendUsage(ctx);
return;
}
sendReactionImage(ctx, false, "lick", "gif", "licks");
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
package de.kittybot.kittybot.commands.neko;

import de.kittybot.kittybot.cache.GuildSettingsCache;
import de.kittybot.kittybot.database.Database;
import de.kittybot.kittybot.objects.command.ACommand;
import de.kittybot.kittybot.objects.command.Category;
import de.kittybot.kittybot.objects.command.CommandContext;
import de.kittybot.kittybot.objects.data.GuildSettings;
import de.kittybot.kittybot.objects.requests.Requester;

import java.util.Arrays;
Expand All @@ -23,6 +26,10 @@ public NekoCommand(){

@Override
public void run(CommandContext ctx){
if(!GuildSettingsCache.isNSFWEnabled(ctx.getGuild().getId())){
sendError(ctx, "NSFW commands are disabled in this guild");
return;
}
if(!ctx.getChannel().isNSFW()){
sendError(ctx, "This command is NSFW channel only");
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@ public PatCommand(){

@Override
public void run(CommandContext ctx){
if(ctx.getArgs().length == 0){
sendUsage(ctx);
return;
}
sendReactionImage(ctx, false, "pat", "gif", "pats");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@ public PokeCommand(){

@Override
public void run(CommandContext ctx){
if(ctx.getArgs().length == 0){
sendUsage(ctx);
return;
}
sendReactionImage(ctx, false, "poke", "gif", "pokes");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@ public SlapCommand(){

@Override
public void run(CommandContext ctx){
if(ctx.getArgs().length == 0){
sendUsage(ctx);
return;
}
sendReactionImage(ctx, false, "slap", "gif", "slaps");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@ public TickleCommand(){

@Override
public void run(CommandContext ctx){
if(ctx.getArgs().length == 0){
sendUsage(ctx);
return;
}
sendReactionImage(ctx, false, "tickle", "gif", "tickles");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
public class RestrictEmoteCommand extends ACommand{

public static final String COMMAND = "restrictemote";
public static final String USAGE = "restrictemote <:Emote:, @Role, ...>";
public static final String USAGE = "restrictemote <:Emote:> <@Role, .../reset>";
public static final String DESCRIPTION = "Restricts a given emote to one or more roles";
protected static final String[] ALIASES = {"restricte", "remote", "re"};
protected static final Category CATEGORY = Category.UTILITIES;
Expand All @@ -28,16 +28,29 @@ public void run(CommandContext ctx){
}
var emotes = ctx.getMessage().getEmotes();
var roles = ctx.getMentionedRoles();
if(emotes.isEmpty() || roles.isEmpty()){
if(emotes.isEmpty()){
sendUsage(ctx);
return;
}
var emote = emotes.get(0);
if(roles.isEmpty()){
if((ctx.getArgs().length > 0 && ctx.getArgs()[0].equalsIgnoreCase("reset")) ||
ctx.getArgs().length > 1 && ctx.getArgs()[1].equalsIgnoreCase("reset")){
emote.getManager().setRoles(new HashSet<>()).queue();
sendSuccess(ctx, "Roles reset");
return;
}
sendUsage(ctx);
return;
}
if(!ctx.getSelfMember().hasPermission(Permission.MANAGE_EMOTES)){
sendError(ctx, "I can't manage emotes due to lack of permissions. Please give me the `MANAGE_EMOTES` permission to use this command.");
return;
}
var emote = emotes.get(0);
emote.getManager().setRoles(new HashSet<>(roles)).queue(success -> sendSuccess(ctx, "Successfully set roles"), error -> sendError(ctx, "Failed to set roles.\nPlease try again or report this in our discord"));
emote.getManager().setRoles(new HashSet<>(roles)).queue(
success -> sendSuccess(ctx, "Successfully set roles"),
error -> sendError(ctx, "Failed to set roles.\nPlease try again or report this in our discord")
);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import de.kittybot.kittybot.objects.command.ACommand;
import de.kittybot.kittybot.objects.command.Category;
import de.kittybot.kittybot.objects.command.CommandContext;
import de.kittybot.kittybot.utils.MessageUtils;
import de.kittybot.kittybot.utils.Utils;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.Permission;
Expand All @@ -29,38 +30,32 @@ public void run(CommandContext ctx){
sendError(ctx, "You need to be an administrator to use this command!");
return;
}
if(ctx.getArgs().length == 0){
var args = ctx.getArgs();
if(args.length == 0){
var settings = GuildSettingsCache.getGuildSettings(ctx.getGuild().getId());
sendSuccess(ctx, new EmbedBuilder()
.setTitle("Guild settings:")
.addField("Command Prefix:", settings.getCommandPrefix(), false)
.addField("Announcement Channel:", settings.getAnnouncementChannel(), false)

//.addField("Join Messages Enabled:", String.valueOf(settings.areJoinMessagesEnabled()), true)
.addField("Join Messages: " + (settings.areJoinMessagesEnabled() ? Emojis.CHECK : Emojis.X), settings.getJoinMessage(), false)

//.addField("Leave Messages Enabled:", String.valueOf(settings.areLeaveMessagesEnabled()), true)
.addField("Leave Messages: " + (settings.areLeaveMessagesEnabled() ? Emojis.CHECK : Emojis.X), settings.getLeaveMessage(), false)

//.addField("Boost Messages Enabled:", String.valueOf(settings.areBoostMessagesEnabled()), true)
.addField("Boost Messages: " + (settings.areBoostMessagesEnabled() ? Emojis.CHECK : Emojis.X), settings.getBoostMessage(), false)

.addField("NSFW Enabled: " + (settings.isNSFWEnabled() ? Emojis.CHECK : Emojis.X), "", false)
.addField("Command Prefix: ", "`" + settings.getCommandPrefix() + "`", false)
.addField("Announcement Channel: ", settings.getAnnouncementChannel(), false)
.addField("NSFW Enabled: ", MessageUtils.getBoolEmote(settings.isNSFWEnabled()), false)
.addField("Join Messages: " + MessageUtils.getBoolEmote(settings.areJoinMessagesEnabled()), settings.getJoinMessage(), false)
.addField("Leave Messages: " + MessageUtils.getBoolEmote(settings.areLeaveMessagesEnabled()), settings.getLeaveMessage(), false)
.addField("Boost Messages: " + MessageUtils.getBoolEmote(settings.areBoostMessagesEnabled()), settings.getBoostMessage(), false)
);
}
else{
var joined = String.join(" ", Arrays.copyOfRange(ctx.getArgs(), 1, ctx.getArgs().length));
if(ctx.getArgs()[0].equalsIgnoreCase("prefix") && ctx.getArgs().length == 2){
GuildSettingsCache.setCommandPrefix(ctx.getGuild().getId(), ctx.getArgs()[1]);
sendSuccess(ctx, "Prefix set to: `" + ctx.getArgs()[1] + "`");
var joined = String.join(" ", Arrays.copyOfRange(args, 1, args.length));
if(args[0].equalsIgnoreCase("prefix") && args.length == 2){
GuildSettingsCache.setCommandPrefix(ctx.getGuild().getId(), args[1]);
sendSuccess(ctx, "Prefix set to: `" + args[1] + "`");
}
else if(ctx.getArgs()[0].equalsIgnoreCase("nsfw")){
if(ctx.getArgs().length >= 2){
if(Utils.isEnable(ctx.getArgs()[1])){
else if(args[0].equalsIgnoreCase("nsfw")){
if(args.length >= 2){
if(Utils.isEnable(args[1])){
GuildSettingsCache.setNSFWEnabled(ctx.getGuild().getId(), true);
sendSuccess(ctx, "NSFW `activated`");
}
else if(Utils.isDisable(ctx.getArgs()[1])){
else if(Utils.isDisable(args[1])){
GuildSettingsCache.setNSFWEnabled(ctx.getGuild().getId(), false);
sendSuccess(ctx, "NSFW `deactivated`");
}
Expand All @@ -74,65 +69,68 @@ else if(Utils.isDisable(ctx.getArgs()[1])){
sendSuccess(ctx, "NSFW set to: `" + (state ? "deactivated" : "activated") + "`");
}
}
else if(ctx.getArgs()[0].equalsIgnoreCase("announcementchannel")){
else if(args[0].equalsIgnoreCase("announcementchannel")){
var channels = ctx.getMessage().getMentionedChannels();
if(channels.size() == 1){
GuildSettingsCache.setAnnouncementChannelId(ctx.getGuild().getId(), channels.get(0).getId());
sendSuccess(ctx, channels.get(0).getAsMention() + " set as announcement channel!");
}
else{
sendUsage(ctx, "options announcement <#TextChannel>");
sendUsage(ctx, "settings announcement <#TextChannel>");
}
}
else if(ctx.getArgs()[0].equalsIgnoreCase("joinmessage")){
if(ctx.getArgs().length < 2){
GuildSettingsCache.setJoinMessage(ctx.getGuild().getId(), joined);
sendSuccess(ctx, "Join message set to: " + joined);
}
else if(Utils.isHelp(ctx.getArgs()[1])){
sendUsage(ctx, "options joinmessage <message>");
}
else if(ctx.getArgs()[1].equalsIgnoreCase("enable") || ctx.getArgs()[1].equalsIgnoreCase("true") || ctx.getArgs()[1].equalsIgnoreCase("on") || ctx.getArgs()[1].equalsIgnoreCase("an")){
GuildSettingsCache.setJoinMessagesEnabled(ctx.getGuild().getId(), true);
sendSuccess(ctx, "Join messages enabled!");
else if(args[0].equalsIgnoreCase("joinmessage")){
if(args.length >= 2 && !Utils.isHelp(args[1])){
if(Utils.isEnable(args[1])){
GuildSettingsCache.setJoinMessagesEnabled(ctx.getGuild().getId(), true);
sendSuccess(ctx, "Join messages enabled!");
}
else if(Utils.isDisable(args[1])){
GuildSettingsCache.setJoinMessagesEnabled(ctx.getGuild().getId(), false);
sendSuccess(ctx, "Join messages disabled!");
} else {
GuildSettingsCache.setJoinMessage(ctx.getGuild().getId(), joined);
sendSuccess(ctx, "Join message set to:\n" + joined);
}
}
else if(Utils.isDisable(ctx.getArgs()[1])){
GuildSettingsCache.setJoinMessagesEnabled(ctx.getGuild().getId(), false);
sendSuccess(ctx, "Join messages disabled!");
else{
sendUsage(ctx, "settings joinmessage <message>");
}
}
else if(ctx.getArgs()[0].equalsIgnoreCase("leavemessage")){
if(ctx.getArgs().length < 2){
GuildSettingsCache.setLeaveMessage(ctx.getGuild().getId(), joined);
sendSuccess(ctx, "Leave message set to: " + joined);
}
else if(Utils.isHelp(ctx.getArgs()[1])){
sendUsage(ctx, "options leavemessage <message>");
}
else if(Utils.isEnable(ctx.getArgs()[1])){
GuildSettingsCache.setLeaveMessagesEnabled(ctx.getGuild().getId(), true);
sendSuccess(ctx, "Leave messages enabled!");
else if(args[0].equalsIgnoreCase("leavemessage")){
if(args.length >= 2 && !Utils.isHelp(args[1])){
if(Utils.isEnable(args[1])){
GuildSettingsCache.setLeaveMessagesEnabled(ctx.getGuild().getId(), true);
sendSuccess(ctx, "Leave messages enabled!");
}
else if(Utils.isDisable(args[1])){
GuildSettingsCache.setLeaveMessagesEnabled(ctx.getGuild().getId(), false);
sendSuccess(ctx, "Leave messages disabled!");
} else {
GuildSettingsCache.setLeaveMessage(ctx.getGuild().getId(), joined);
sendSuccess(ctx, "Leave message set to:\n" + joined);
}
}
else if(Utils.isDisable(ctx.getArgs()[1])){
GuildSettingsCache.setLeaveMessagesEnabled(ctx.getGuild().getId(), false);
sendSuccess(ctx, "Leave messages disabled!");
else{
sendUsage(ctx, "settings leavemessage <message>");
}
}
else if(ctx.getArgs()[0].equalsIgnoreCase("boostmessage")){
if(ctx.getArgs().length < 2){
GuildSettingsCache.setBoostMessage(ctx.getGuild().getId(), joined);
sendSuccess(ctx, "Boost message set to: " + joined);
}
else if(Utils.isHelp(ctx.getArgs()[1])){
sendUsage(ctx, "options boostmessage <message>");
}
else if(Utils.isEnable(ctx.getArgs()[1])){
GuildSettingsCache.setBoostMessagesEnabled(ctx.getGuild().getId(), true);
sendSuccess(ctx, "Boost messages enabled!");
else if(args[0].equalsIgnoreCase("boostmessage")){
if(args.length >= 2 && !Utils.isHelp(args[1])){
if(Utils.isEnable(args[1])){
GuildSettingsCache.setBoostMessagesEnabled(ctx.getGuild().getId(), true);
sendSuccess(ctx, "Boost messages enabled!");
}
else if(Utils.isDisable(args[1])){
GuildSettingsCache.setBoostMessagesEnabled(ctx.getGuild().getId(), false);
sendSuccess(ctx, "Boost messages disabled!");
} else {
GuildSettingsCache.setBoostMessage(ctx.getGuild().getId(), joined);
sendSuccess(ctx, "Boost message set to:\n" + joined);
}
}
else if(Utils.isDisable(ctx.getArgs()[1])){
GuildSettingsCache.setBoostMessagesEnabled(ctx.getGuild().getId(), false);
sendSuccess(ctx, "Boost messages disabled!");
else{
sendUsage(ctx, "settings boostmessage <message>");
}
}
else{
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/de/kittybot/kittybot/utils/MessageUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import de.kittybot.kittybot.cache.GuildSettingsCache;
import de.kittybot.kittybot.cache.InviteCache;
import de.kittybot.kittybot.objects.Emojis;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Invite;
Expand Down Expand Up @@ -53,6 +54,10 @@ public static List<String> loadMessageFile(String fileName){
return set;
}

public static String getBoolEmote(boolean bool) {
return bool ? Emojis.CHECK : Emojis.X;
}

public static String maskLink(String title, String url){
return "[" + title + "](" + url + ")";
}
Expand Down

0 comments on commit 7543b49

Please sign in to comment.