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..237c1b0 --- /dev/null +++ b/src/main/java/su/igc/discordauth/DiscordBot.java @@ -0,0 +1,47 @@ +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)); + } + } +} 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]