diff --git a/src/main/java/discord/data/mining/DataMining.java b/src/main/java/discord/data/mining/DataMining.java index 2653c81..2cd74ce 100644 --- a/src/main/java/discord/data/mining/DataMining.java +++ b/src/main/java/discord/data/mining/DataMining.java @@ -1,5 +1,6 @@ package discord.data.mining; +import discord.data.mining.listener.MessageListener; import discord.data.mining.listener.ReadyListener; import net.dv8tion.jda.api.AccountType; import net.dv8tion.jda.api.JDA; @@ -21,7 +22,7 @@ public class DataMining { public static void main(String[] args) { try { for (String Token : managerTokens) { - manager.add(new JDABuilder(AccountType.BOT).setAutoReconnect(true).setToken(Token).build()); + manager.add(new JDABuilder(AccountType.BOT).setAutoReconnect(true).setToken(Token).addEventListeners(new MessageListener()).build()); } Thread.sleep(1500); @@ -30,7 +31,7 @@ public class DataMining { bots.add(new JDABuilder(AccountType.BOT).setAutoReconnect(true).setToken(Token).build()); } - for (String Token : clienttokens) { + for (String Token : clientTokens) { clients.add(new JDABuilder(AccountType.CLIENT).setAutoReconnect(true).setToken(Token).addEventListeners(new ReadyListener()).build()); } diff --git a/src/main/java/discord/data/mining/listener/MessageListener.java b/src/main/java/discord/data/mining/listener/MessageListener.java new file mode 100644 index 0000000..f192599 --- /dev/null +++ b/src/main/java/discord/data/mining/listener/MessageListener.java @@ -0,0 +1,45 @@ +package discord.data.mining.listener; + +import discord.data.mining.DataMining; +import net.dv8tion.jda.api.EmbedBuilder; +import net.dv8tion.jda.api.JDA; +import net.dv8tion.jda.api.events.message.MessageReceivedEvent; +import net.dv8tion.jda.api.hooks.ListenerAdapter; + +import javax.annotation.Nonnull; +import java.awt.*; +import java.time.Instant; + +public class MessageListener extends ListenerAdapter { + + @Override + public void onMessageReceived(@Nonnull MessageReceivedEvent event) { + if (event.getMessage().getContentRaw().equals("dm!shutdown") || event.getMessage().getContentRaw().equals("dm!stop")) { + if (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")) + try { + for (JDA bots : DataMining.bots) { + bots.shutdown(); + } + + for (JDA clients : DataMining.clients) { + clients.shutdown(); + } + } catch (Exception e) { + e.printStackTrace(); + event.getTextChannel().sendMessage(new EmbedBuilder() + .setTitle("⚠ Error ⚠") + .setDescription("⚠ Error ⚠") + .setColor(Color.RED) + .setTimestamp(Instant.now()) + .build()).queue(); + event.getTextChannel().sendMessage("```java " + e.toString() + "```").queue(); + } + event.getTextChannel().sendMessage(new EmbedBuilder() + .setTitle("✅ Success ✅") + .setDescription("✅ Success ✅") + .setColor(Color.GREEN) + .setTimestamp(Instant.now()) + .build()).queue(); + } + } +} diff --git a/src/main/java/discord/data/mining/listener/ReadyListener.java b/src/main/java/discord/data/mining/listener/ReadyListener.java index d993360..b76792f 100644 --- a/src/main/java/discord/data/mining/listener/ReadyListener.java +++ b/src/main/java/discord/data/mining/listener/ReadyListener.java @@ -6,6 +6,7 @@ import net.dv8tion.jda.api.events.ReadyEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; import java.awt.*; +import java.time.Instant; public class ReadyListener extends ListenerAdapter { public void onReady(ReadyEvent event) { @@ -13,10 +14,10 @@ public class ReadyListener extends ListenerAdapter { .setTitle("Client started!") .setThumbnail(event.getJDA().getSelfUser().getAvatarUrl()) .setColor(Color.GREEN) + .setTimestamp(Instant.now()) .addField("As Mention", event.getJDA().getSelfUser().getAsTag(), true) .addField("ID", event.getJDA().getSelfUser().getId(), true) .addField("Guilds", String.valueOf(event.getJDA().getGuilds().size()), true) .build()).queue(); } - }