diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java index ff98425..26480dd 100644 --- a/src/main/java/com/bbn/hadder/Hadder.java +++ b/src/main/java/com/bbn/hadder/Hadder.java @@ -1,5 +1,6 @@ package com.bbn.hadder; +import com.bbn.hadder.listener.MentionListener; import net.dv8tion.jda.api.sharding.DefaultShardManagerBuilder; import net.dv8tion.jda.api.sharding.ShardManager; import org.json.JSONObject; @@ -32,6 +33,8 @@ public class Hadder { builder.setShardsTotal(1); builder.setToken(config.getString("Token")); + builder.addEventListeners(new MentionListener()); + try { ShardManager shardManager = builder.build(); } catch (LoginException e) { diff --git a/src/main/java/com/bbn/hadder/MessageEditor.java b/src/main/java/com/bbn/hadder/MessageEditor.java new file mode 100644 index 0000000..8958f3c --- /dev/null +++ b/src/main/java/com/bbn/hadder/MessageEditor.java @@ -0,0 +1,32 @@ +package com.bbn.hadder; + +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/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..2f80548 --- /dev/null +++ b/src/main/java/com/bbn/hadder/listener/MentionListener.java @@ -0,0 +1,23 @@ +package com.bbn.hadder.listener; + +import com.bbn.hadder.MessageEditor; +import net.dv8tion.jda.api.EmbedBuilder; +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.getMessage().getContentRaw().equals(event.getJDA().getSelfUser().getAsMention())) { + 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/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