2006ReBot Update (#54)

Separated commands into own classes
added a few more simple af commands to make bot a bit more useful
This commit is contained in:
Josh Shippam
2019-10-13 01:23:03 +01:00
committed by Daniel Ginovker
parent 6cfca2886a
commit 0e231cef7e
8 changed files with 130 additions and 14 deletions
@@ -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");
@@ -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");
}
}
}
@@ -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/");
}
}
}
@@ -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");
}
}
}
@@ -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:");
}
}
}
@@ -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.");
}
}
}
}
@@ -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!");
}
}
}
@@ -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/");
}
}
}