From 6b23919a8b120dfa250de5b9e25893e9772490dd Mon Sep 17 00:00:00 2001 From: TheKing-OfTime Date: Tue, 4 Jul 2023 19:50:56 +0300 Subject: [PATCH 1/2] Add initial DiscordBot class and JDA dependencies --- pom.xml | 10 ++++ .../java/su/igc/discordauth/DiscordBot.java | 53 +++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 src/main/java/su/igc/discordauth/DiscordBot.java diff --git a/pom.xml b/pom.xml index 874ab0f..54a07b1 100644 --- a/pom.xml +++ b/pom.xml @@ -63,6 +63,11 @@ sonatype https://oss.sonatype.org/content/groups/public/ + + dv8tion + m2-dv8tion + https://m2.dv8tion.net/releases + @@ -78,5 +83,10 @@ RELEASE compile + + net.dv8tion + JDA + 4.4.0_350 + diff --git a/src/main/java/su/igc/discordauth/DiscordBot.java b/src/main/java/su/igc/discordauth/DiscordBot.java new file mode 100644 index 0000000..f40427a --- /dev/null +++ b/src/main/java/su/igc/discordauth/DiscordBot.java @@ -0,0 +1,53 @@ +package su.igc.discordauth; +import net.dv8tion.jda.api.JDA; +import net.dv8tion.jda.api.JDABuilder; +import net.dv8tion.jda.api.entities.MessageChannel; +import net.dv8tion.jda.api.entities.User; +import net.dv8tion.jda.api.requests.GatewayIntent; +import net.dv8tion.jda.api.utils.ChunkingFilter; +import net.dv8tion.jda.api.utils.MemberCachePolicy; +import net.dv8tion.jda.api.events.message.MessageReceivedEvent; +import net.dv8tion.jda.api.events.ReadyEvent; +import net.dv8tion.jda.api.hooks.ListenerAdapter; +import org.bukkit.Bukkit; +import org.jetbrains.annotations.NotNull; + +import javax.security.auth.login.LoginException; + +public class DiscordBot extends ListenerAdapter { + + public static JDA bot; + + public static void init() throws LoginException { + + DiscordBot.bot = JDABuilder.createDefault(Config.discordBotToken) + .setChunkingFilter(ChunkingFilter.ALL) + .setMemberCachePolicy(MemberCachePolicy.ALL) + .enableIntents(GatewayIntent.GUILD_PRESENCES) + .enableIntents(GatewayIntent.GUILD_MEMBERS) + .addEventListeners(new DiscordBot()) + .build(); + + } + + @Override + public void onReady(@NotNull ReadyEvent event) { + Bukkit.getLogger().info("==Bot ready=="); + } + + + @Override + public void onMessageReceived(@NotNull MessageReceivedEvent event) { + + MessageChannel channel = event.getChannel(); + User author = event.getAuthor(); + String content = event.getMessage().getContentRaw(); + + if (!channel.getType().isGuild()) { + Bukkit.getLogger().info(String.format("s% s%", author.getName(), content)); + } + } + + + +} From ebd9be008dda7533efe17efb57713e218f6c08b6 Mon Sep 17 00:00:00 2001 From: TheKing-OfTime Date: Tue, 4 Jul 2023 22:59:37 +0300 Subject: [PATCH 2/2] Include DiscordBot class to plugin logic. Fix codestyle issues --- src/main/java/su/igc/discordauth/DiscordBot.java | 12 +++--------- src/main/java/su/igc/discordauth/Main.java | 10 +++++++++- src/main/resources/plugin.yml | 2 +- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/main/java/su/igc/discordauth/DiscordBot.java b/src/main/java/su/igc/discordauth/DiscordBot.java index f40427a..237c1b0 100644 --- a/src/main/java/su/igc/discordauth/DiscordBot.java +++ b/src/main/java/su/igc/discordauth/DiscordBot.java @@ -1,4 +1,5 @@ package su.igc.discordauth; + import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.JDABuilder; import net.dv8tion.jda.api.entities.MessageChannel; @@ -9,9 +10,9 @@ import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.events.ReadyEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; + import org.bukkit.Bukkit; import org.jetbrains.annotations.NotNull; - import javax.security.auth.login.LoginException; public class DiscordBot extends ListenerAdapter { @@ -19,7 +20,6 @@ public class DiscordBot extends ListenerAdapter { public static JDA bot; public static void init() throws LoginException { - DiscordBot.bot = JDABuilder.createDefault(Config.discordBotToken) .setChunkingFilter(ChunkingFilter.ALL) .setMemberCachePolicy(MemberCachePolicy.ALL) @@ -27,7 +27,6 @@ public static void init() throws LoginException { .enableIntents(GatewayIntent.GUILD_MEMBERS) .addEventListeners(new DiscordBot()) .build(); - } @Override @@ -35,19 +34,14 @@ public void onReady(@NotNull ReadyEvent event) { Bukkit.getLogger().info("==Bot ready=="); } - @Override public void onMessageReceived(@NotNull MessageReceivedEvent event) { - MessageChannel channel = event.getChannel(); User author = event.getAuthor(); String content = event.getMessage().getContentRaw(); if (!channel.getType().isGuild()) { - Bukkit.getLogger().info(String.format("s% s%", author.getName(), content)); + Bukkit.getLogger().info(String.format("%s %s", author.getName(), content)); } } - - - } diff --git a/src/main/java/su/igc/discordauth/Main.java b/src/main/java/su/igc/discordauth/Main.java index 33103ca..ac0d223 100644 --- a/src/main/java/su/igc/discordauth/Main.java +++ b/src/main/java/su/igc/discordauth/Main.java @@ -9,7 +9,7 @@ public final class Main extends JavaPlugin { public void onEnable() { try { initConfig(); -// loadDiscordBot(); + initDiscordBot(); // loadAccounts(); Bukkit.getPluginManager().registerEvents(new ServerEvents(), this); } catch (Exception e) { @@ -28,4 +28,12 @@ public void initConfig() { saveConfig(); Config.init(getConfig()); } + + public void initDiscordBot() { + try { + DiscordBot.init(); + } catch (Exception e) { + Bukkit.getLogger().warning(e.getMessage()); + } + } } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 54807ca..f126823 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,7 +1,7 @@ name: DiscordAuth version: '${project.version}' main: su.igc.discordauth.Main -api-version: '1.20' +api-version: '1.19' prefix: DiscordAuth load: STARTUP authors: [https://github.com/BVN4]