diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0a678bc --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +target/ +Token.txt + diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..c645ce1 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..4b661a5 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/DiscordPlayerStatCollector.iml b/DiscordPlayerStatCollector.iml new file mode 100644 index 0000000..78b2cc5 --- /dev/null +++ b/DiscordPlayerStatCollector.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..c6c4441 --- /dev/null +++ b/pom.xml @@ -0,0 +1,38 @@ + + + 4.0.0 + + buttondevteam + DiscordPlayerStatCollector + 1.0-SNAPSHOT + + + + org.apache.maven.plugins + maven-compiler-plugin + + 8 + 8 + + + + + + + + jitpack.io + https://jitpack.io + + + + + + com.github.austinv11 + Discord4j + master-SNAPSHOT + + + + \ No newline at end of file diff --git a/src/main/java/MainHeh.java b/src/main/java/MainHeh.java new file mode 100644 index 0000000..0ead1ad --- /dev/null +++ b/src/main/java/MainHeh.java @@ -0,0 +1,54 @@ +import sx.blah.discord.api.ClientBuilder; +import sx.blah.discord.api.IDiscordClient; +import sx.blah.discord.api.events.IListener; +import sx.blah.discord.handle.impl.events.ReadyEvent; +import sx.blah.discord.handle.obj.IChannel; +import sx.blah.discord.handle.obj.IMessage; +import sx.blah.discord.util.MessageHistory; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.time.Instant; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.function.Consumer; + +public class MainHeh { + public static void main(String... args) throws IOException { + IDiscordClient idc = new ClientBuilder().withToken(Files.readAllLines(new File("Token.txt").toPath()).get(0)) + .registerListener((IListener) event -> { + IChannel chan = event.getClient().getChannelByID(249663564057411596L); + final AtomicInteger x = new AtomicInteger(); + /*while(true) { + chan.getMessageHistory(100).stream() + .filter(msg -> msg.getContent().matches( + "(\\S+( \\(formerly.+\\))* joined the game)" + + "|(\\S+ left the game)") + || (msg.getEmbeds().size()>0&&msg.getEmbeds().get(0).getTitle()!=null + &&msg.getEmbeds().get(0).getTitle().matches( + "(Server recovered from a crash - chat connected\\.)" + ))) + .map(IMessage::getContent).forEach(System.out::println); + //break; + chan.getMessageHistoryFrom() + }*/ + Consumer cmh = mh -> { + mh.stream() + .filter(msg -> msg.getContent().matches( + "(\\S+( \\(formerly.+\\))* joined the game)" + + "|(\\S+ left the game)") + || (msg.getEmbeds().size() > 0 && msg.getEmbeds().get(0).getTitle() != null + && msg.getEmbeds().get(0).getTitle().matches( + "(Server recovered from a crash - chat connected\\.)" + ))) + .map(IMessage::getContent).forEach(System.out::println); + }; + MessageHistory mh = chan.getMessageHistoryFrom(Instant.now(), 100); + cmh.accept(mh); + while (mh.size() > 0) { + mh = chan.getMessageHistoryFrom(mh.get(mh.size() - 1).getLongID(), 100); + cmh.accept(mh); + } + }).login(); + } +}