diff --git a/pom.xml b/pom.xml index 7ad4d51..07122e0 100644 --- a/pom.xml +++ b/pom.xml @@ -15,6 +15,29 @@ 1.13 + + + Hax#6775 + Hax + hax@bigbotnetwork.com + https://bigbotnetwork.com/ + Europe/Berlin + + https://cdn.discordapp.com/avatars/261083609148948488/f2c9efc629ef65fffa634f0d63cd467e.webp + + + + Skidder#6775 + Greg + skidder@bigbotnetwork.com + https://bigbotnetwork.com/ + Europe/Berlin + + https://cdn.discordapp.com/avatars/477141528981012511/a_ba4bd8e5b381874edcd06a68d1acd3aa.gif + + + + jcenter @@ -24,10 +47,15 @@ + + org.apache.maven + maven-model + 3.5.4 + net.dv8tion JDA - 4.1.1_103 + 4.1.1_101 org.json @@ -52,12 +80,12 @@ org.kohsuke github-api - 1.105 + 1.103 com.sedmelluq lavaplayer - 1.3.34 + 1.3.33 diff --git a/src/main/java/com/bbn/hadder/Rethink.java b/src/main/java/com/bbn/hadder/Rethink.java index 2a14fac..6b2b137 100644 --- a/src/main/java/com/bbn/hadder/Rethink.java +++ b/src/main/java/com/bbn/hadder/Rethink.java @@ -18,7 +18,6 @@ package com.bbn.hadder; import com.bbn.hadder.core.Config; import com.rethinkdb.RethinkDB; -import com.rethinkdb.gen.exc.ReqlNonExistenceError; import com.rethinkdb.gen.exc.ReqlOpFailedError; import com.rethinkdb.net.Connection; import org.json.JSONArray; @@ -126,10 +125,10 @@ public class Rethink { this.insert("server", r .hashMap("id", id) .with("prefix", "h.") - .with("message_id", null) - .with("role_id", null) + .with("message_id", "") + .with("role_id", "") .with("invite_detect", false) - .with("starboard", null) + .with("starboard", "") .with("neededstars", "4") ); } @@ -144,7 +143,7 @@ public class Rethink { // TODO public boolean hasStarboardChannel(String guild_id) { - return this.getByID("server", guild_id, "starboard") != null; + return !this.getByID("server", guild_id, "starboard").equals(""); } // TODO public void insertStarboardMessage(String message_id, String guild_id, String starboard_message_id) { @@ -160,12 +159,7 @@ public class Rethink { } // TODO public boolean hasStarboardMessage(String message_id) { - try { - this.getByID("stars", message_id, "guild"); - return true; - } catch (ReqlNonExistenceError e) { - return false; - } + return this.getByID("stars", message_id, "guild") != null; } diff --git a/src/main/java/com/bbn/hadder/RethinkServer.java b/src/main/java/com/bbn/hadder/RethinkServer.java index 04b11ca..c15c448 100644 --- a/src/main/java/com/bbn/hadder/RethinkServer.java +++ b/src/main/java/com/bbn/hadder/RethinkServer.java @@ -24,15 +24,15 @@ public class RethinkServer { private Rethink rethink; - String accept_emote = null; - String decline_emote = null; + String accept_emote = ""; + String decline_emote = ""; String id; boolean invite_detect = false; - String message_id = null; + String message_id = ""; String neededstars = "3"; String prefix = "h."; - String role_id = null; - String starboard = null; + String role_id = ""; + String starboard = ""; public RethinkServer(JSONObject object, Rethink rethink) { for (Field field : this.getClass().getDeclaredFields()) { diff --git a/src/main/java/com/bbn/hadder/RethinkUser.java b/src/main/java/com/bbn/hadder/RethinkUser.java index eba7564..26376f5 100644 --- a/src/main/java/com/bbn/hadder/RethinkUser.java +++ b/src/main/java/com/bbn/hadder/RethinkUser.java @@ -27,7 +27,7 @@ public class RethinkUser { String id; String prefix = "h."; String language = "en"; - String blacklisted = null; + String blacklisted = "none"; public RethinkUser(JSONObject object, Rethink rethink) { for (Field field : this.getClass().getDeclaredFields()) { diff --git a/src/main/java/com/bbn/hadder/core/CommandHandler.java b/src/main/java/com/bbn/hadder/core/CommandHandler.java index 99fe82a..5f2029c 100644 --- a/src/main/java/com/bbn/hadder/core/CommandHandler.java +++ b/src/main/java/com/bbn/hadder/core/CommandHandler.java @@ -69,7 +69,7 @@ public class CommandHandler { boolean run = true; String blacklisted = rethinkUser.getBlacklisted(); - if (!(null == blacklisted)) { + if (!"none".equals(blacklisted)) { for (String BLLabel : blacklisted.split(",")) { if (Arrays.asList(cmd.labels()).contains(BLLabel)) { run = false; diff --git a/src/main/java/com/bbn/hadder/listener/MentionListener.java b/src/main/java/com/bbn/hadder/listener/MentionListener.java index 886ab51..d51cbe3 100644 --- a/src/main/java/com/bbn/hadder/listener/MentionListener.java +++ b/src/main/java/com/bbn/hadder/listener/MentionListener.java @@ -20,11 +20,17 @@ import com.bbn.hadder.Rethink; import com.bbn.hadder.RethinkServer; import com.bbn.hadder.RethinkUser; import com.bbn.hadder.utils.MessageEditor; +import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.entities.ChannelType; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; +import org.apache.maven.model.Model; +import org.apache.maven.model.io.xpp3.MavenXpp3Reader; +import org.codehaus.plexus.util.xml.pull.XmlPullParserException; import javax.annotation.Nonnull; +import java.io.FileReader; +import java.io.IOException; import java.util.Random; public class MentionListener extends ListenerAdapter { @@ -42,14 +48,39 @@ public class MentionListener extends ListenerAdapter { RethinkUser rethinkUser = new RethinkUser(rethink.getObjectByID("user", e.getAuthor().getId()), rethink); if (e.isFromType(ChannelType.TEXT) && (e.getMessage().getContentRaw().equals(e.getGuild().getSelfMember().getAsMention()) || e.getMessage().getContentRaw().equals(e.getGuild().getSelfMember().getAsMention().replace("@", "@!")))) { - e.getChannel().sendMessage(new MessageEditor(rethinkUser, e.getAuthor()).getMessage(MessageEditor.MessageType.INFO) + + MavenXpp3Reader reader = new MavenXpp3Reader(); + Model model = null; + try { + model = reader.read(new FileReader("pom.xml")); + } catch (IOException | XmlPullParserException ex) { + ex.printStackTrace(); + } + EmbedBuilder builder = new EmbedBuilder().setTitle("Hi!").addField("Version", model.getVersion(), false) + .addField("Userprefix", rethinkUser.getPrefix(), true).addField("Guildprefix", rethinkServer.getPrefix(), true); + StringBuilder stringBuilder = new StringBuilder(); + model.getDependencies().forEach( + dependency -> stringBuilder.append(dependency.getArtifactId()+" - "+dependency.getVersion()+"\n") + ); + builder.addField("Dependencies", stringBuilder.toString(), false); + StringBuilder devs = new StringBuilder(); + model.getDevelopers().forEach( + developer -> devs.append(developer.getId()+" - [Website]("+developer.getUrl()+"), [E-Mail](https://hax.bigbotnetwork.de/redirect.html?url=mailto:"+developer.getEmail()+")\n") + ); + builder.addField("Developer", devs.toString(), false); + builder.addField("Join our Dev Server!", "[Click here!](https://discord.gg/58My2dM)", true); + builder.addField("Github", "[Click here!](https://github.com/BigBotNetwork/Hadder)",false); + builder.addField("Twitch", "[Click here!](https://www.twitch.tv/bigbotnetwork)", false); + e.getChannel().sendMessage(builder.build()).queue(); + + /*e.getChannel().sendMessage(new MessageEditor(rethinkUser, e.getAuthor()).getMessage(MessageEditor.MessageType.INFO) .setTitle("Hello I'm Hadder.") .setAuthor(e.getJDA().getSelfUser().getName(), e.getJDA().getSelfUser().getAvatarUrl(), e.getJDA().getSelfUser().getAvatarUrl()) .addField("Users", String.valueOf(e.getJDA().getUsers().size()), false) .addField("Guilds", String.valueOf(e.getJDA().getGuilds().size()), false) .addField("Prefix (User)", rethinkUser.getPrefix(), false) .addField("Prefix (Guild)", rethinkServer.getPrefix(), false) - .build()).queue(); + .build()).queue();*/ } else if (e.getMessage().getContentRaw().equalsIgnoreCase("@someone")) { int member = new Random().nextInt(e.getGuild().getMembers().size() - 1); if (member > 0 && member < e.getGuild().getMembers().size()) { diff --git a/src/main/java/com/bbn/hadder/utils/EventWaiter.java b/src/main/java/com/bbn/hadder/utils/EventWaiter.java index 525dd15..2d44b8c 100644 --- a/src/main/java/com/bbn/hadder/utils/EventWaiter.java +++ b/src/main/java/com/bbn/hadder/utils/EventWaiter.java @@ -19,6 +19,7 @@ package com.bbn.hadder.utils; import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent; +import net.dv8tion.jda.api.events.message.guild.react.GuildMessageReactionAddEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; import javax.annotation.Nonnull; @@ -42,4 +43,20 @@ public class EventWaiter { jda.getShardManager().addEventListener(listener); } + public void newOnReactionEventWaiter(Consumer onEvent, JDA jda, User user) { + Object listener = new ListenerAdapter() { + @Override + public void onGuildMessageReactionAdd(@Nonnull GuildMessageReactionAddEvent event) { + if (user==null) { + onEvent.accept(event); + event.getJDA().getShardManager().removeEventListener(this); + } else if (event.getUser().getId().equals(user.getId())) { + onEvent.accept(event); + event.getJDA().getShardManager().removeEventListener(this); + } + } + }; + jda.getShardManager().addEventListener(listener); + } + }