diff --git a/pom.xml b/pom.xml
index 450bede..d8f019e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -83,10 +83,6 @@
maven-resources-plugin
3.1.0
-
- maven-compiler-plugin
- 3.8.1
-
maven-surefire-plugin
2.22.2
@@ -131,20 +127,20 @@
- maven-assembly-plugin
-
- Hadder-Build
-
-
- com.bbn.hadder.Hadder
-
-
-
- jar-with-dependencies
-
- false
-
-
+ maven-assembly-plugin
+
+ Hadder-Build
+
+
+ com.bbn.hadder.Hadder
+
+
+
+ jar-with-dependencies
+
+ false
+
+
diff --git a/src/main/java/com/bbn/hadder/Rethink.java b/src/main/java/com/bbn/hadder/Rethink.java
index 9d3ce64..f501971 100644
--- a/src/main/java/com/bbn/hadder/Rethink.java
+++ b/src/main/java/com/bbn/hadder/Rethink.java
@@ -81,6 +81,10 @@ public class Rethink {
return out;
}
+ public void remove(String table, String where, String wherevalue) {
+ r.table(table).filter(row -> row.g(where.toLowerCase()).eq(wherevalue)).delete().run(conn);
+ }
+
public void setup() {
try {
r.dbCreate("Hadder").run(conn);
@@ -156,15 +160,19 @@ public class Rethink {
}
public void insertStarboardMessage(String messageid, String guildid, String starboardmessageid) {
- this.insert("stars", r.hashMap("msg", messageid).with("guild", guildid).with("starboardmsg", starboardmessageid));
+ this.insert("stars", r.hashMap("id", messageid).with("guild", guildid).with("starboardmsg", starboardmessageid));
}
public String getStarboardMessage(String messageid) {
- return (String) this.get("stars", "msg", messageid, "starboardmsg");
+ return (String) this.get("stars", "id", messageid, "starboardmsg");
+ }
+
+ public void removeStarboardMessage(String messageid) {
+ this.remove("stars", "id", messageid);
}
public boolean hasStarboardMessage(String messageid) {
- return this.get("stars", "msg", messageid, "guild") != null;
+ return this.get("stars", "id", messageid, "guild") != null;
}
public void updateRules(String guild_id, String message_id, String role_id, String accept_emote, String decline_emote) {
diff --git a/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java b/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java
index b853dfc..32c392a 100644
--- a/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java
@@ -33,7 +33,17 @@ public class GuildLeaveCommand implements Command {
} else {
event.getHelpCommand().sendHelp(this, event);
}
+ } else {
+ event.getTextChannel()
+ .sendMessage(event.getMessageEditor()
+ .getMessage(MessageEditor.MessageType.INFO, "commands.owner.guildleave.success.title",
+ "", "commands.owner.guildleave.success.description", guild.getName())
+ .build())
+ .queue();
+ } else {
+ event.getHelpCommand().sendHelp(this, event);
}
+
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java b/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java
index 2312a5d..5059e4f 100644
--- a/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java
@@ -8,6 +8,7 @@ import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.commands.Perm;
import com.bbn.hadder.commands.Perms;
+import com.bbn.hadder.utils.MessageEditor;
@Perms(Perm.BOT_OWNER)
public class RebootCommand implements Command {
diff --git a/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java b/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java
index 0c550bf..35a1427 100644
--- a/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java
@@ -4,8 +4,11 @@ import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.commands.Perm;
import com.bbn.hadder.commands.Perms;
+import com.bbn.hadder.utils.MessageEditor;
import com.bbn.hadder.utils.MessageEditor.MessageType;
+import static com.bbn.hadder.commands.Perm.BOT_OWNER;
+
/*
* @author Skidder / GregTCLTK
*/
diff --git a/src/main/java/com/bbn/hadder/core/CommandHandler.java b/src/main/java/com/bbn/hadder/core/CommandHandler.java
index 0949f5d..1f1be07 100644
--- a/src/main/java/com/bbn/hadder/core/CommandHandler.java
+++ b/src/main/java/com/bbn/hadder/core/CommandHandler.java
@@ -37,14 +37,15 @@ public class CommandHandler {
CommandEvent commandEvent = new CommandEvent(event.getJDA(), event.getResponseNumber(), event.getMessage(), rethink,
config, this, helpCommand, new MessageEditor(rethink, event.getAuthor()));
-
- if (!Arrays.asList(cmd.getClass().getAnnotations()).contains(Perms.class)) {
- for (Perm perm : cmd.getClass().getAnnotation(Perms.class).value()) {
- if (!perm.check(commandEvent)) {
- commandEvent.getTextChannel()
- .sendMessage(commandEvent.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build())
- .queue();
- return;
+ if (cmd.getClass().getAnnotations().length>0) {
+ if (Arrays.asList(cmd.getClass().getAnnotations()).contains(Perms.class)) {
+ for (Perm perm : cmd.getClass().getAnnotation(Perms.class).value()) {
+ if (!perm.check(commandEvent)) {
+ commandEvent.getTextChannel()
+ .sendMessage(commandEvent.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build())
+ .queue();
+ return;
+ }
}
}
}
diff --git a/src/main/java/com/bbn/hadder/listener/StarboardListener.java b/src/main/java/com/bbn/hadder/listener/StarboardListener.java
index 091bc28..0a45dde 100644
--- a/src/main/java/com/bbn/hadder/listener/StarboardListener.java
+++ b/src/main/java/com/bbn/hadder/listener/StarboardListener.java
@@ -3,12 +3,14 @@ package com.bbn.hadder.listener;
import com.bbn.hadder.Rethink;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.MessageBuilder;
+import net.dv8tion.jda.api.entities.MessageReaction;
import net.dv8tion.jda.api.events.message.react.GenericMessageReactionEvent;
import net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent;
import net.dv8tion.jda.api.events.message.react.MessageReactionRemoveEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
import javax.annotation.Nonnull;
+import java.time.format.DateTimeFormatter;
public class StarboardListener extends ListenerAdapter {
@@ -32,34 +34,68 @@ public class StarboardListener extends ListenerAdapter {
if (event.getReaction().getReactionEmote().getName().equals("⭐")) {
if (!rethink.hasStarboardMessage(event.getMessageId())) {
if (rethink.hasStarboardChannel(event.getGuild().getId())) {
- event.getChannel().retrieveMessageById(event.getMessageId()).queue(msg -> {
- event.getGuild().getTextChannelById(rethink.getStarboardChannel(event.getGuild().getId()))
- .sendMessage(new MessageBuilder()
- .setContent("⭐1" + " " + event.getTextChannel().getAsMention())
- .setEmbed(
- new EmbedBuilder()
- .setAuthor(event.getUser().getAsTag())
- .setDescription(msg.getContentRaw())
- .setTimestamp(msg.getTimeCreated()).build()).build()).queue(
- starboardmsg -> {
- rethink.insertStarboardMessage(msg.getId(), event.getGuild().getId(), starboardmsg.getId());
+
+ event.getTextChannel().retrieveMessageById(event.getMessageId()).queue(
+ msg -> {
+ Integer stars = 0;
+ for (MessageReaction reaction : msg.getReactions()) {
+ if (reaction.getReactionEmote().getName().equals("⭐")) {
+ stars = reaction.getCount();
+ }
}
- );
- });
+
+ if (Integer.parseInt(rethink.getNeededstars(event.getGuild().getId())) <= stars) {
+ event.getGuild().getTextChannelById(rethink.getStarboardChannel(event.getGuild().getId()))
+ .sendMessage(new MessageBuilder()
+ .setContent("⭐ 1" + " " + event.getTextChannel().getAsMention())
+ .setEmbed(
+ new EmbedBuilder()
+ .setAuthor(msg.getAuthor().getAsTag())
+ .setDescription(msg.getContentRaw())
+ .setTimestamp(msg.getTimeCreated()).build()).build()).queue(
+ starboardmsg -> {
+ rethink.insertStarboardMessage(msg.getId(), event.getGuild().getId(), starboardmsg.getId());
+ }
+ );
+ }
+ }
+ );
+
}
} else {
- event.getGuild().getTextChannelById(rethink.getStarboardChannel(event.getGuild().getId()))
- .retrieveMessageById(rethink.getStarboardMessage(event.getMessageId())).queue(
+
+ event.getTextChannel().retrieveMessageById(event.getMessageId()).queue(
msg -> {
- msg.editMessage(new MessageBuilder()
- .setContent("⭐" + event.getReaction().getCount() + " " + event.getTextChannel().getAsMention())
- .setEmbed(
- new EmbedBuilder()
- .setAuthor(event.getUser().getAsTag())
- .setDescription(msg.getContentRaw())
- .setTimestamp(msg.getTimeCreated()).build()).build()).queue();
+ Integer stars = 0;
+ for (MessageReaction reaction : msg.getReactions()) {
+ if (reaction.getReactionEmote().getName().equals("⭐")) {
+ stars = reaction.getCount();
+ }
+ }
+
+ Integer finalStars = stars;
+ event.getGuild().getTextChannelById(rethink.getStarboardChannel(event.getGuild().getId()))
+ .retrieveMessageById(rethink.getStarboardMessage(event.getMessageId())).queue(
+ msg2 -> {
+
+ if (Integer.parseInt(rethink.getNeededstars(event.getGuild().getId())) <= finalStars) {
+ msg2.editMessage(new MessageBuilder()
+ .setContent("⭐ " + finalStars + " " + event.getTextChannel().getAsMention())
+ .setEmbed(
+ new EmbedBuilder()
+ .setAuthor(msg.getAuthor().getAsTag())
+ .setDescription(msg.getContentRaw())
+ .setTimestamp(msg.getTimeCreated()).build()).build()).queue();
+ } else {
+ msg2.delete().queue();
+ rethink.removeStarboardMessage(msg.getId());
+ }
+ }
+ );
+
}
);
+
}
}
}