diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
deleted file mode 100644
index 17bd127..0000000
--- a/.github/FUNDING.yml
+++ /dev/null
@@ -1 +0,0 @@
-custom: https://donatebot.io/checkout/448554629282922527
diff --git a/pom.xml b/pom.xml
index b256bcb..ae4c80a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -97,6 +97,14 @@
13
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 12
+ 12
+
+
\ No newline at end of file
diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java
index ff98425..9ff2dd9 100644
--- a/src/main/java/com/bbn/hadder/Hadder.java
+++ b/src/main/java/com/bbn/hadder/Hadder.java
@@ -1,5 +1,7 @@
package com.bbn.hadder;
+import com.bbn.hadder.listener.*;
+import net.dv8tion.jda.api.entities.Activity;
import net.dv8tion.jda.api.sharding.DefaultShardManagerBuilder;
import net.dv8tion.jda.api.sharding.ShardManager;
import org.json.JSONObject;
@@ -14,15 +16,15 @@ public class Hadder {
public static void main(String[] args) {
- File jsonfile = new File("./config.json");
- if (!jsonfile.exists()) {
+ File configfile = new File("./config.json");
+ if (!configfile.exists()) {
System.err.println("No Config File Found!");
System.exit(1);
}
JSONObject config = null;
try {
- config = new JSONObject(new String(Files.readAllBytes(Paths.get(jsonfile.toURI()))));
+ config = new JSONObject(new String(Files.readAllBytes(Paths.get(configfile.toURI()))));
} catch (IOException e) {
e.printStackTrace();
}
@@ -30,8 +32,11 @@ public class Hadder {
DefaultShardManagerBuilder builder = new DefaultShardManagerBuilder();
builder.setShardsTotal(1);
+ builder.setActivity(Activity.streaming("auf dem BigBotNetwork", "https://twitch.tv/BigBotNetwork"));
builder.setToken(config.getString("Token"));
+ builder.addEventListeners(new MentionListener(), new PrivateMessageListener());
+
try {
ShardManager shardManager = builder.build();
} catch (LoginException e) {
diff --git a/src/main/java/com/bbn/hadder/listener/MentionListener.java b/src/main/java/com/bbn/hadder/listener/MentionListener.java
new file mode 100644
index 0000000..0fc8a6c
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/listener/MentionListener.java
@@ -0,0 +1,26 @@
+package com.bbn.hadder.listener;
+
+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 javax.annotation.Nonnull;
+
+public class MentionListener extends ListenerAdapter {
+
+ @Override
+ public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
+ if (event.isFromType(ChannelType.TEXT)) {
+ if (event.getMessage().getMentionedMembers().contains(event.getGuild().getSelfMember())) {
+ EmbedBuilder builder = new EmbedBuilder()
+ .setTitle("Hello I'm Hadder.")
+ .setAuthor(event.getJDA().getSelfUser().getName(), event.getJDA().getSelfUser().getAvatarUrl(), event.getJDA().getSelfUser().getAvatarUrl())
+ .addField("Users", String.valueOf(event.getJDA().getUsers().size()), false)
+ .addField("Guilds", String.valueOf(event.getJDA().getGuilds().size()), false);
+ event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).build()).queue();
+ }
+ }
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/listener/PrivateMessageListener.java b/src/main/java/com/bbn/hadder/listener/PrivateMessageListener.java
new file mode 100644
index 0000000..b2c6b48
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/listener/PrivateMessageListener.java
@@ -0,0 +1,37 @@
+package com.bbn.hadder.listener;
+
+/*
+ * @author Skidder / GregTCLTK
+ */
+
+import com.bbn.hadder.utils.MessageEditor;
+import net.dv8tion.jda.api.EmbedBuilder;
+import net.dv8tion.jda.api.entities.ChannelType;
+import net.dv8tion.jda.api.entities.PrivateChannel;
+import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
+import net.dv8tion.jda.api.hooks.ListenerAdapter;
+
+import java.time.Instant;
+
+public class PrivateMessageListener extends ListenerAdapter {
+
+ public void onMessageReceived(MessageReceivedEvent event) {
+ if (event.isFromType(ChannelType.PRIVATE)) {
+ if (!event.getAuthor().getId().equals(event.getJDA().getSelfUser().getId())) {
+
+ PrivateChannel Skidder = event.getJDA().getUserById("477141528981012511").openPrivateChannel().complete();
+ PrivateChannel Hax = event.getJDA().getUserById("261083609148948488").openPrivateChannel().complete();
+
+ if (event.getAuthor().getAvatarUrl() == null) {
+ EmbedBuilder message = new EmbedBuilder().setTitle("New DM by " + event.getAuthor().getAsTag()).setAuthor(event.getAuthor().getName(), event.getAuthor().getDefaultAvatarUrl(), event.getAuthor().getDefaultAvatarUrl()).setDescription(event.getMessage().getContentRaw()).setTimestamp(Instant.now());
+
+ Skidder.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, message).build()).queue();
+ } else {
+ EmbedBuilder message = new EmbedBuilder().setTitle("New DM by " + event.getAuthor().getAsTag()).setAuthor(event.getAuthor().getName(), event.getAuthor().getAvatarUrl(), event.getAuthor().getAvatarUrl()).setDescription(event.getMessage().getContentRaw()).setTimestamp(Instant.now());
+
+ Skidder.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, message).build()).queue();
+ }
+ }
+ }
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/utils/MessageEditor.java b/src/main/java/com/bbn/hadder/utils/MessageEditor.java
new file mode 100644
index 0000000..1cab926
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/utils/MessageEditor.java
@@ -0,0 +1,32 @@
+package com.bbn.hadder.utils;
+
+import net.dv8tion.jda.api.EmbedBuilder;
+
+import java.awt.*;
+
+public class MessageEditor {
+
+ public EmbedBuilder setDefaultSettings(Messagetype type, EmbedBuilder embedBuilder) {
+ switch (type) {
+ case INFO:
+ embedBuilder.setColor(new Color(47,94,105));
+ break;
+
+ case ERROR:
+ embedBuilder.setColor(Color.RED);
+ break;
+
+ case WARNING:
+ embedBuilder.setColor(Color.ORANGE);
+ break;
+ }
+ return embedBuilder;
+ }
+
+ public enum Messagetype {
+ ERROR,
+ WARNING,
+ INFO
+ }
+
+}
diff --git a/target/classes/META-INF/Hadder.kotlin_module b/target/classes/META-INF/Hadder.kotlin_module
new file mode 100644
index 0000000..2983af7
Binary files /dev/null and b/target/classes/META-INF/Hadder.kotlin_module differ