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;
|
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) {
|
||||||
|
|
|
||||||
|
|
@ -37,14 +37,15 @@ 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()
|
||||||
.sendMessage(commandEvent.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build())
|
.sendMessage(commandEvent.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build())
|
||||||
.queue();
|
.queue();
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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.getGuild().getTextChannelById(rethink.getStarboardChannel(event.getGuild().getId()))
|
event.getTextChannel().retrieveMessageById(event.getMessageId()).queue(
|
||||||
.sendMessage(new MessageBuilder()
|
msg -> {
|
||||||
.setContent("⭐1" + " " + event.getTextChannel().getAsMention())
|
Integer stars = 0;
|
||||||
.setEmbed(
|
for (MessageReaction reaction : msg.getReactions()) {
|
||||||
new EmbedBuilder()
|
if (reaction.getReactionEmote().getName().equals("⭐")) {
|
||||||
.setAuthor(event.getUser().getAsTag())
|
stars = reaction.getCount();
|
||||||
.setDescription(msg.getContentRaw())
|
}
|
||||||
.setTimestamp(msg.getTimeCreated()).build()).build()).queue(
|
|
||||||
starboardmsg -> {
|
|
||||||
rethink.insertStarboardMessage(msg.getId(), event.getGuild().getId(), starboardmsg.getId());
|
|
||||||
}
|
}
|
||||||
);
|
|
||||||
});
|
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 {
|
} else {
|
||||||
event.getGuild().getTextChannelById(rethink.getStarboardChannel(event.getGuild().getId()))
|
|
||||||
.retrieveMessageById(rethink.getStarboardMessage(event.getMessageId())).queue(
|
event.getTextChannel().retrieveMessageById(event.getMessageId()).queue(
|
||||||
msg -> {
|
msg -> {
|
||||||
msg.editMessage(new MessageBuilder()
|
Integer stars = 0;
|
||||||
.setContent("⭐" + event.getReaction().getCount() + " " + event.getTextChannel().getAsMention())
|
for (MessageReaction reaction : msg.getReactions()) {
|
||||||
.setEmbed(
|
if (reaction.getReactionEmote().getName().equals("⭐")) {
|
||||||
new EmbedBuilder()
|
stars = reaction.getCount();
|
||||||
.setAuthor(event.getUser().getAsTag())
|
}
|
||||||
.setDescription(msg.getContentRaw())
|
}
|
||||||
.setTimestamp(msg.getTimeCreated()).build()).build()).queue();
|
|
||||||
|
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