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);
+ }
+
}