Hax dev #354

Merged
greg6775 merged 5 commits from hax-dev into greg-dev 2020-01-28 21:24:49 +01:00
3 changed files with 78 additions and 2 deletions

28
pom.xml
View file

@ -15,6 +15,29 @@
<maven.compiler.target>1.13</maven.compiler.target>
</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>
<repository>
<id>jcenter</id>
@ -24,6 +47,11 @@
</repositories>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
<version>3.5.4</version>
</dependency>
<dependency>
<groupId>net.dv8tion</groupId>
<artifactId>JDA</artifactId>

View file

@ -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()) {

View file

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