Adding SelfMentionListener

This commit is contained in:
GregTCLTK 2019-10-26 12:16:42 +02:00
parent 1ebf140bf9
commit 95a553b4ea
5 changed files with 62 additions and 14 deletions

View file

@ -97,6 +97,14 @@
<target>13</target> <target>13</target>
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>12</source>
<target>12</target>
</configuration>
</plugin>
</plugins> </plugins>
</build> </build>
</project> </project>

View file

@ -1,6 +1,6 @@
package com.bbn.hadder; package com.bbn.hadder;
import com.bbn.hadder.listener.MentionListener; import com.bbn.hadder.listener.*;
import net.dv8tion.jda.api.entities.Activity; import net.dv8tion.jda.api.entities.Activity;
import net.dv8tion.jda.api.sharding.DefaultShardManagerBuilder; import net.dv8tion.jda.api.sharding.DefaultShardManagerBuilder;
import net.dv8tion.jda.api.sharding.ShardManager; import net.dv8tion.jda.api.sharding.ShardManager;
@ -16,15 +16,15 @@ public class Hadder {
public static void main(String[] args) { public static void main(String[] args) {
File jsonfile = new File("./config.json"); File configfile = new File("./config.json");
if (!jsonfile.exists()) { if (!configfile.exists()) {
System.err.println("No Config File Found!"); System.err.println("No Config File Found!");
System.exit(1); System.exit(1);
} }
JSONObject config = null; JSONObject config = null;
try { 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) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
@ -35,7 +35,7 @@ public class Hadder {
builder.setActivity(Activity.streaming("auf dem BigBotNetwork", "https://twitch.tv/BigBotNetwork")); builder.setActivity(Activity.streaming("auf dem BigBotNetwork", "https://twitch.tv/BigBotNetwork"));
builder.setToken(config.getString("Token")); builder.setToken(config.getString("Token"));
builder.addEventListeners(new MentionListener()); builder.addEventListeners(new MentionListener(), new PrivateMessageListener());
try { try {
ShardManager shardManager = builder.build(); ShardManager shardManager = builder.build();

View file

@ -1,7 +1,8 @@
package com.bbn.hadder.listener; package com.bbn.hadder.listener;
import com.bbn.hadder.MessageEditor; import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.EmbedBuilder; 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.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter; import net.dv8tion.jda.api.hooks.ListenerAdapter;
@ -11,13 +12,15 @@ public class MentionListener extends ListenerAdapter {
@Override @Override
public void onMessageReceived(@Nonnull MessageReceivedEvent event) { public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
if (event.getMessage().getMentionedMembers().contains(event.getGuild().getSelfMember())) { if (event.isFromType(ChannelType.TEXT)) {
EmbedBuilder builder = new EmbedBuilder() if (event.getMessage().getMentionedMembers().contains(event.getGuild().getSelfMember())) {
.setTitle("Hello I'm Hadder.") EmbedBuilder builder = new EmbedBuilder()
.setAuthor(event.getJDA().getSelfUser().getName(), event.getJDA().getSelfUser().getAvatarUrl(), event.getJDA().getSelfUser().getAvatarUrl()) .setTitle("Hello I'm Hadder.")
.addField("Users", String.valueOf(event.getJDA().getUsers().size()), false) .setAuthor(event.getJDA().getSelfUser().getName(), event.getJDA().getSelfUser().getAvatarUrl(), event.getJDA().getSelfUser().getAvatarUrl())
.addField("Guilds", String.valueOf(event.getJDA().getGuilds().size()), false); .addField("Users", String.valueOf(event.getJDA().getUsers().size()), false)
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).build()).queue(); .addField("Guilds", String.valueOf(event.getJDA().getGuilds().size()), false);
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).build()).queue();
}
} }
} }
} }

View file

@ -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();
}
}
}
}
}

View file

@ -1,4 +1,4 @@
package com.bbn.hadder; package com.bbn.hadder.utils;
import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.EmbedBuilder;