Cool Mention Listener

This commit is contained in:
Hax 2020-01-28 17:48:47 +01:00
parent 9940454f7e
commit eb196cca70
2 changed files with 61 additions and 2 deletions

28
pom.xml
View file

@ -15,6 +15,29 @@
<maven.compiler.target>1.13</maven.compiler.target> <maven.compiler.target>1.13</maven.compiler.target>
</properties> </properties>
<developers>
<developer>
<id>Hax#6775</id>
<name>Hax</name>
<email>hax@bigbotnetwork.com</email>
<url>https://bigbotnetwork.com/</url>
<timezone>Europe/Berlin</timezone>
<properties>
<picUrl>https://cdn.discordapp.com/avatars/261083609148948488/f2c9efc629ef65fffa634f0d63cd467e.webp</picUrl>
</properties>
</developer>
<developer>
<id>Skidder#6775</id>
<name>Greg</name>
<email>skidder@bigbotnetwork.com</email>
<url>https://bigbotnetwork.com/</url>
<timezone>Europe/Berlin</timezone>
<properties>
<picUrl>https://cdn.discordapp.com/avatars/477141528981012511/a_ba4bd8e5b381874edcd06a68d1acd3aa.gif</picUrl>
</properties>
</developer>
</developers>
<repositories> <repositories>
<repository> <repository>
<id>jcenter</id> <id>jcenter</id>
@ -24,6 +47,11 @@
</repositories> </repositories>
<dependencies> <dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
<version>3.5.4</version>
</dependency>
<dependency> <dependency>
<groupId>net.dv8tion</groupId> <groupId>net.dv8tion</groupId>
<artifactId>JDA</artifactId> <artifactId>JDA</artifactId>

View file

@ -20,11 +20,17 @@ import com.bbn.hadder.Rethink;
import com.bbn.hadder.RethinkServer; import com.bbn.hadder.RethinkServer;
import com.bbn.hadder.RethinkUser; import com.bbn.hadder.RethinkUser;
import com.bbn.hadder.utils.MessageEditor; 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.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;
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 javax.annotation.Nonnull;
import java.io.FileReader;
import java.io.IOException;
import java.util.Random; import java.util.Random;
public class MentionListener extends ListenerAdapter { 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); RethinkUser rethinkUser = new RethinkUser(rethink.getObjectByID("user", e.getAuthor().getId()), rethink);
if (e.isFromType(ChannelType.TEXT) && (e.getMessage().getContentRaw().equals(e.getGuild().getSelfMember().getAsMention()) || if (e.isFromType(ChannelType.TEXT) && (e.getMessage().getContentRaw().equals(e.getGuild().getSelfMember().getAsMention()) ||
e.getMessage().getContentRaw().equals(e.getGuild().getSelfMember().getAsMention().replace("@", "@!")))) { 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.") .setTitle("Hello I'm Hadder.")
.setAuthor(e.getJDA().getSelfUser().getName(), e.getJDA().getSelfUser().getAvatarUrl(), e.getJDA().getSelfUser().getAvatarUrl()) .setAuthor(e.getJDA().getSelfUser().getName(), e.getJDA().getSelfUser().getAvatarUrl(), e.getJDA().getSelfUser().getAvatarUrl())
.addField("Users", String.valueOf(e.getJDA().getUsers().size()), false) .addField("Users", String.valueOf(e.getJDA().getUsers().size()), false)
.addField("Guilds", String.valueOf(e.getJDA().getGuilds().size()), false) .addField("Guilds", String.valueOf(e.getJDA().getGuilds().size()), false)
.addField("Prefix (User)", rethinkUser.getPrefix(), false) .addField("Prefix (User)", rethinkUser.getPrefix(), false)
.addField("Prefix (Guild)", rethinkServer.getPrefix(), false) .addField("Prefix (Guild)", rethinkServer.getPrefix(), false)
.build()).queue(); .build()).queue();*/
} else if (e.getMessage().getContentRaw().equalsIgnoreCase("@someone")) { } else if (e.getMessage().getContentRaw().equalsIgnoreCase("@someone")) {
int member = new Random().nextInt(e.getGuild().getMembers().size() - 1); int member = new Random().nextInt(e.getGuild().getMembers().size() - 1);
if (member > 0 && member < e.getGuild().getMembers().size()) { if (member > 0 && member < e.getGuild().getMembers().size()) {