Merge remote-tracking branch 'origin/greg-dev' into greg-dev
This commit is contained in:
commit
871bd6b7c6
3 changed files with 77 additions and 33 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ 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;
|
||||
|
|
@ -32,34 +33,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());
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue