diff --git a/2006Redone Server/src/redone/integrations/discord/JavaCord.java b/2006Redone Server/src/redone/integrations/discord/JavaCord.java index ee93b136..b9812ccb 100644 --- a/2006Redone Server/src/redone/integrations/discord/JavaCord.java +++ b/2006Redone Server/src/redone/integrations/discord/JavaCord.java @@ -6,6 +6,7 @@ import org.javacord.api.entity.channel.TextChannel; import org.javacord.api.entity.message.MessageBuilder; import org.javacord.api.util.logging.ExceptionLogger; import redone.game.players.PlayerHandler; +import redone.integrations.discord.commands.*; import java.io.IOException; @@ -17,30 +18,24 @@ import static redone.integrations.SettingsLoader.loadSettings; public class JavaCord { - private static String serverName = "2006-ReBotted"; + public static String serverName = "2006-ReBotted"; public static String token; private static DiscordApi api = null; public static void init() throws IOException { - loadSettings(); if (token != null && !token.equals("")) { //If the token was loaded by loadSettings: new DiscordApiBuilder().setToken(token).login().thenAccept(api -> { JavaCord.api = api; //System.out.println("You can invite the bot by using the following url: " + api.createBotInvite()); + api.addListener(new Commands()); + api.addListener(new Forum()); + api.addListener(new Hiscores()); + api.addListener(new Online()); + api.addListener(new Players()); + api.addListener(new Vote()); + api.addListener(new Website()); api.addMessageCreateListener(event -> { - if (event.getMessageContent().equalsIgnoreCase("::players")) { - if (PlayerHandler.getPlayerCount() > 1) { - event.getChannel().sendMessage("There are currently " + PlayerHandler.getPlayerCount() + " players online."); - } else { - event.getChannel().sendMessage("There is currently " + PlayerHandler.getPlayerCount() + " player online."); - } - } - - if (event.getMessageContent().equalsIgnoreCase("::online")) { - event.getChannel().sendMessage(":tada: " + serverName + " is Online! :tada:"); - } - if (event.getMessageContent().startsWith("::movehome")) { if (event.getMessageAuthor().isServerAdmin()) { System.out.println("perms"); diff --git a/2006Redone Server/src/redone/integrations/discord/commands/Commands.java b/2006Redone Server/src/redone/integrations/discord/commands/Commands.java new file mode 100644 index 00000000..4065903e --- /dev/null +++ b/2006Redone Server/src/redone/integrations/discord/commands/Commands.java @@ -0,0 +1,25 @@ +package redone.integrations.discord.commands; + +import org.javacord.api.entity.message.Message; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; + +public class Commands implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().equalsIgnoreCase("::commands")) { + event.getChannel().sendMessage("::forum/::forums" + + System.lineSeparator() + + "::hiscores/::highscores" + + System.lineSeparator() + + "::online" + + System.lineSeparator() + + "::players" + + System.lineSeparator() + + "::vote" + + System.lineSeparator() + + "::website/::site"); + } + } +} \ No newline at end of file diff --git a/2006Redone Server/src/redone/integrations/discord/commands/Forum.java b/2006Redone Server/src/redone/integrations/discord/commands/Forum.java new file mode 100644 index 00000000..a8b27096 --- /dev/null +++ b/2006Redone Server/src/redone/integrations/discord/commands/Forum.java @@ -0,0 +1,15 @@ +package redone.integrations.discord.commands; + +import org.javacord.api.entity.message.Message; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; + +public class Forum implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().equalsIgnoreCase("::forum") || message.getContent().equalsIgnoreCase("::forums")) { + event.getChannel().sendMessage("https://2006rebotted.tk/forums/"); + } + } +} \ No newline at end of file diff --git a/2006Redone Server/src/redone/integrations/discord/commands/Hiscores.java b/2006Redone Server/src/redone/integrations/discord/commands/Hiscores.java new file mode 100644 index 00000000..89dfd86c --- /dev/null +++ b/2006Redone Server/src/redone/integrations/discord/commands/Hiscores.java @@ -0,0 +1,15 @@ +package redone.integrations.discord.commands; + +import org.javacord.api.entity.message.Message; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; + +public class Hiscores implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().equalsIgnoreCase("::hiscores") || message.getContent().equalsIgnoreCase("::highscores")) { + event.getChannel().sendMessage("https://2006rebotted.tk/hiscores.html"); + } + } +} \ No newline at end of file diff --git a/2006Redone Server/src/redone/integrations/discord/commands/Online.java b/2006Redone Server/src/redone/integrations/discord/commands/Online.java new file mode 100644 index 00000000..5bfba89a --- /dev/null +++ b/2006Redone Server/src/redone/integrations/discord/commands/Online.java @@ -0,0 +1,16 @@ +package redone.integrations.discord.commands; + +import org.javacord.api.entity.message.Message; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; +import redone.integrations.discord.JavaCord; + +public class Online implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().equalsIgnoreCase("::online")) { + event.getChannel().sendMessage(":tada: " + JavaCord.serverName + " is Online! :tada:"); + } + } +} \ No newline at end of file diff --git a/2006Redone Server/src/redone/integrations/discord/commands/Players.java b/2006Redone Server/src/redone/integrations/discord/commands/Players.java new file mode 100644 index 00000000..0e4ea39e --- /dev/null +++ b/2006Redone Server/src/redone/integrations/discord/commands/Players.java @@ -0,0 +1,20 @@ +package redone.integrations.discord.commands; + +import org.javacord.api.entity.message.Message; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; +import redone.game.players.PlayerHandler; + +public class Players implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().equalsIgnoreCase("::players")) { + if (PlayerHandler.getPlayerCount() > 1) { + event.getChannel().sendMessage("There are currently " + PlayerHandler.getPlayerCount() + " players online."); + } else { + event.getChannel().sendMessage("There is currently " + PlayerHandler.getPlayerCount() + " player online."); + } + } + } +} diff --git a/2006Redone Server/src/redone/integrations/discord/commands/Vote.java b/2006Redone Server/src/redone/integrations/discord/commands/Vote.java new file mode 100644 index 00000000..fda313d0 --- /dev/null +++ b/2006Redone Server/src/redone/integrations/discord/commands/Vote.java @@ -0,0 +1,15 @@ +package redone.integrations.discord.commands; + +import org.javacord.api.entity.message.Message; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; +public class Vote implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().equalsIgnoreCase("::vote")) { + event.getChannel().sendMessage("Visit https://2006rebotted.tk/vote.html then type \"::claimvote\" in-game to receive your reward!"); + } + } +} + diff --git a/2006Redone Server/src/redone/integrations/discord/commands/Website.java b/2006Redone Server/src/redone/integrations/discord/commands/Website.java new file mode 100644 index 00000000..bd0f6c9a --- /dev/null +++ b/2006Redone Server/src/redone/integrations/discord/commands/Website.java @@ -0,0 +1,15 @@ +package redone.integrations.discord.commands; + +import org.javacord.api.entity.message.Message; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; + +public class Website implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().equalsIgnoreCase("::website") || message.getContent().equalsIgnoreCase("::site")) { + event.getChannel().sendMessage("https://2006rebotted.tk/"); + } + } +} \ No newline at end of file