Merge pull request #225 from BigBotNetwork/hax-dev

Hax dev
This commit is contained in:
Skidder 2019-12-19 16:36:32 +01:00 committed by GitHub
commit c494e3de8a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 77 additions and 33 deletions

View file

@ -81,6 +81,10 @@ public class Rethink {
return out; 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() { public void setup() {
try { try {
r.dbCreate("Hadder").run(conn); r.dbCreate("Hadder").run(conn);
@ -156,15 +160,19 @@ public class Rethink {
} }
public void insertStarboardMessage(String messageid, String guildid, String starboardmessageid) { 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) { 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) { 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) { public void updateRules(String guild_id, String message_id, String role_id, String accept_emote, String decline_emote) {

View file

@ -37,8 +37,8 @@ public class CommandHandler {
CommandEvent commandEvent = new CommandEvent(event.getJDA(), event.getResponseNumber(), event.getMessage(), rethink, CommandEvent commandEvent = new CommandEvent(event.getJDA(), event.getResponseNumber(), event.getMessage(), rethink,
config, this, helpCommand, new MessageEditor(rethink, event.getAuthor())); config, this, helpCommand, new MessageEditor(rethink, event.getAuthor()));
if (cmd.getClass().getAnnotations().length>0) {
if (!Arrays.asList(cmd.getClass().getAnnotations()).contains(Perms.class)) { if (Arrays.asList(cmd.getClass().getAnnotations()).contains(Perms.class)) {
for (Perm perm : cmd.getClass().getAnnotation(Perms.class).value()) { for (Perm perm : cmd.getClass().getAnnotation(Perms.class).value()) {
if (!perm.check(commandEvent)) { if (!perm.check(commandEvent)) {
commandEvent.getTextChannel() commandEvent.getTextChannel()
@ -48,6 +48,7 @@ public class CommandHandler {
} }
} }
} }
}
cmd.executed(args, commandEvent); cmd.executed(args, commandEvent);
return; return;

View file

@ -3,6 +3,7 @@ package com.bbn.hadder.listener;
import com.bbn.hadder.Rethink; import com.bbn.hadder.Rethink;
import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.MessageBuilder; 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.GenericMessageReactionEvent;
import net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent; import net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent;
import net.dv8tion.jda.api.events.message.react.MessageReactionRemoveEvent; import net.dv8tion.jda.api.events.message.react.MessageReactionRemoveEvent;
@ -32,34 +33,68 @@ public class StarboardListener extends ListenerAdapter {
if (event.getReaction().getReactionEmote().getName().equals("")) { if (event.getReaction().getReactionEmote().getName().equals("")) {
if (!rethink.hasStarboardMessage(event.getMessageId())) { if (!rethink.hasStarboardMessage(event.getMessageId())) {
if (rethink.hasStarboardChannel(event.getGuild().getId())) { if (rethink.hasStarboardChannel(event.getGuild().getId())) {
event.getChannel().retrieveMessageById(event.getMessageId()).queue(msg -> {
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())) event.getGuild().getTextChannelById(rethink.getStarboardChannel(event.getGuild().getId()))
.sendMessage(new MessageBuilder() .sendMessage(new MessageBuilder()
.setContent("⭐1" + " " + event.getTextChannel().getAsMention()) .setContent(" 1" + " " + event.getTextChannel().getAsMention())
.setEmbed( .setEmbed(
new EmbedBuilder() new EmbedBuilder()
.setAuthor(event.getUser().getAsTag()) .setAuthor(msg.getAuthor().getAsTag())
.setDescription(msg.getContentRaw()) .setDescription(msg.getContentRaw())
.setTimestamp(msg.getTimeCreated()).build()).build()).queue( .setTimestamp(msg.getTimeCreated()).build()).build()).queue(
starboardmsg -> { starboardmsg -> {
rethink.insertStarboardMessage(msg.getId(), event.getGuild().getId(), starboardmsg.getId()); rethink.insertStarboardMessage(msg.getId(), event.getGuild().getId(), starboardmsg.getId());
} }
); );
});
} }
} else {
event.getGuild().getTextChannelById(rethink.getStarboardChannel(event.getGuild().getId()))
.retrieveMessageById(rethink.getStarboardMessage(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();
} }
); );
}
} else {
event.getTextChannel().retrieveMessageById(event.getMessageId()).queue(
msg -> {
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());
}
}
);
}
);
} }
} }
} }