diff --git a/2006Redone Server/src/redone/Server.java b/2006Redone Server/src/redone/Server.java index d8f7c96c..3f86b85f 100644 --- a/2006Redone Server/src/redone/Server.java +++ b/2006Redone Server/src/redone/Server.java @@ -11,6 +11,7 @@ import org.apache.mina.transport.socket.nio.SocketAcceptorConfig; import redone.integrations.PlayersOnlineWebsite; import redone.integrations.RegisteredAccsWebsite; import redone.integrations.SettingsLoader; +import redone.integrations.discord.DiscordActivity; import redone.integrations.discord.JavaCord; import redone.event.CycleEventHandler; import redone.event.TaskScheduler; @@ -191,6 +192,7 @@ public class Server { CycleEventHandler.getSingleton().process(); PlayersOnlineWebsite.addUpdatePlayersOnlineTask(); RegisteredAccsWebsite.addUpdateRegisteredUsersTask(); + DiscordActivity.updateActivity(); if (System.currentTimeMillis() - lastMassSave > 300000) { for (Player p : PlayerHandler.players) { if (p == null) { diff --git a/2006Redone Server/src/redone/integrations/discord/DiscordActivity.java b/2006Redone Server/src/redone/integrations/discord/DiscordActivity.java new file mode 100644 index 00000000..965379c3 --- /dev/null +++ b/2006Redone Server/src/redone/integrations/discord/DiscordActivity.java @@ -0,0 +1,26 @@ +package redone.integrations.discord; + +import redone.game.players.PlayerHandler; + +public class DiscordActivity { + + private static int count = 50; + + public static void updateActivity() { + if (!JavaCord.token.equals("")) { + if (count == 0) { + if (PlayerHandler.getPlayerCount() != 1) { + JavaCord.api.updateActivity(PlayerHandler.getPlayerCount() + " Players Online"); + System.out.println("Discord Activity Updated"); + count = 100; + } else { + JavaCord.api.updateActivity(PlayerHandler.getPlayerCount() + " Player Online"); + System.out.println("Discord Activity Updated"); + count = 100; + } + } else { + count--; + } + } + } +} diff --git a/2006Redone Server/src/redone/integrations/discord/JavaCord.java b/2006Redone Server/src/redone/integrations/discord/JavaCord.java index b9812ccb..3f1c4fcc 100644 --- a/2006Redone Server/src/redone/integrations/discord/JavaCord.java +++ b/2006Redone Server/src/redone/integrations/discord/JavaCord.java @@ -20,7 +20,7 @@ public class JavaCord { public static String serverName = "2006-ReBotted"; public static String token; - private static DiscordApi api = null; + public static DiscordApi api = null; public static void init() throws IOException { if (token != null && !token.equals("")) { //If the token was loaded by loadSettings: @@ -29,7 +29,9 @@ public class JavaCord { //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 HeatMap()); api.addListener(new Hiscores()); + api.addListener(new Issues()); api.addListener(new Online()); api.addListener(new Players()); api.addListener(new Vote()); diff --git a/2006Redone Server/src/redone/integrations/discord/commands/Commands.java b/2006Redone Server/src/redone/integrations/discord/commands/Commands.java index 75fbcf84..8a8a1d49 100644 --- a/2006Redone Server/src/redone/integrations/discord/commands/Commands.java +++ b/2006Redone Server/src/redone/integrations/discord/commands/Commands.java @@ -9,12 +9,15 @@ public class Commands implements MessageCreateListener { public void onMessageCreate(MessageCreateEvent event) { Message message = event.getMessage(); if (message.getContent().equalsIgnoreCase("::commands")) { - event.getChannel().sendMessage("```fix`" - + System.lineSeparator() + + event.getChannel().sendMessage("```" + "::forum/::forums" + System.lineSeparator() + + "::heatmap" + + System.lineSeparator() + "::hiscores/::highscores" + System.lineSeparator() + + "::issues/::bugs" + + System.lineSeparator() + "::online" + System.lineSeparator() + "::players" @@ -22,8 +25,7 @@ public class Commands implements MessageCreateListener { "::vote" + System.lineSeparator() + "::website/::site" - + System.lineSeparator() + - "```"); + + "```"); } } } diff --git a/2006Redone Server/src/redone/integrations/discord/commands/HeatMap.java b/2006Redone Server/src/redone/integrations/discord/commands/HeatMap.java new file mode 100644 index 00000000..0bc657c3 --- /dev/null +++ b/2006Redone Server/src/redone/integrations/discord/commands/HeatMap.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 HeatMap implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().equalsIgnoreCase("::heatmap")) { + event.getChannel().sendMessage("https://2006rebotted.tk/heatmap.html"); + } + } +} \ No newline at end of file diff --git a/2006Redone Server/src/redone/integrations/discord/commands/Issues.java b/2006Redone Server/src/redone/integrations/discord/commands/Issues.java new file mode 100644 index 00000000..95598b63 --- /dev/null +++ b/2006Redone Server/src/redone/integrations/discord/commands/Issues.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 Issues implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().equalsIgnoreCase("::issues") || message.getContent().equalsIgnoreCase("::bugs")) { + event.getChannel().sendMessage("https://github.com/dginovker/2006rebotted/issues"); + } + } +} \ No newline at end of file