From dcf36c012432f342e67e00ffdf1b373cfa0d864b Mon Sep 17 00:00:00 2001 From: Johny Muffin Date: Wed, 24 Jul 2019 22:20:00 +1000 Subject: [PATCH] v1.0.1 2 way communication --- .../johnymuffin/discordbot/DiscordBot.java | 33 +++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/src/com/johnymuffin/discordbot/DiscordBot.java b/src/com/johnymuffin/discordbot/DiscordBot.java index 53bd5e7..3c8836d 100644 --- a/src/com/johnymuffin/discordbot/DiscordBot.java +++ b/src/com/johnymuffin/discordbot/DiscordBot.java @@ -8,6 +8,12 @@ import org.bukkit.plugin.java.JavaPlugin; import com.johnymuffin.discordcore.DiscordCore; +import net.dv8tion.jda.core.entities.TextChannel; +import net.dv8tion.jda.core.entities.User; +import net.dv8tion.jda.core.events.message.guild.GenericGuildMessageEvent; +import net.dv8tion.jda.core.events.message.guild.GuildMessageReceivedEvent; +import net.dv8tion.jda.core.hooks.EventListener; + import org.bukkit.event.Event; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerChatEvent; @@ -16,7 +22,7 @@ import org.bukkit.event.Event.Priority; import org.bukkit.event.Event.Type; -public class DiscordBot extends JavaPlugin implements Listener, EventExecutor { +public class DiscordBot extends JavaPlugin implements Listener, EventExecutor, EventListener { Logger logger; DiscordCore discord; String gameBridge = ""; @@ -57,13 +63,14 @@ public void onEnable() { serverName = this.configReader.getServerName(); if (!gameBridge.isEmpty() && !serverName.isEmpty()) { botEnabled = true; - } else { + } else { this.logger.info("---------------------------[DiscordBot]---------------------------"); this.logger.info("Please provide a Servername and Channel for the Link"); this.logger.info("------------------------------------------------------------------"); } - + discord.Discord().DiscordSendToChannel(gameBridge, "**SERVER HAS STARTED** :yes:"); + discord.Discord().jda.addEventListener(this); } @@ -96,4 +103,24 @@ public void execute(Listener listener, Event event) { } } + + @Override + public void onEvent(net.dv8tion.jda.core.events.Event event) { + // TODO Auto-generated method stub + if(event instanceof GuildMessageReceivedEvent) { + System.out.println(((GuildMessageReceivedEvent) event).getMessage().getContentRaw()); + if (((GuildMessageReceivedEvent) event).getAuthor().isBot() || ((GuildMessageReceivedEvent) event).getAuthor().isFake()) + return; + TextChannel textChannel = discord.Discord().jda.getTextChannelById(gameBridge); + String[] messageCMD = ((GuildMessageReceivedEvent) event).getMessage().getContentRaw().split(" "); + if (((GenericGuildMessageEvent) event).getChannel() == textChannel) { + String message = ((GuildMessageReceivedEvent) event).getMessage().getContentRaw(); + User author = ((GuildMessageReceivedEvent) event).getAuthor(); + message = "&f[&6Discord&f]&7" + author.getName() + ": " + message; + message = message.replaceAll("(&([a-f0-9]))", "\u00A7$2"); + Bukkit.getServer().broadcastMessage(message); + } + } + + } } \ No newline at end of file