diff --git a/discordbot/src/main/java/zone/themcgamer/discordbot/MGZBot.java b/discordbot/src/main/java/zone/themcgamer/discordbot/MGZBot.java index 139d608..78b5416 100644 --- a/discordbot/src/main/java/zone/themcgamer/discordbot/MGZBot.java +++ b/discordbot/src/main/java/zone/themcgamer/discordbot/MGZBot.java @@ -40,6 +40,7 @@ public class MGZBot { commandClientBuilder.addCommand(new EditMessageCommand()); commandClientBuilder.addCommand(new AddReactionToMessageCommand()); commandClientBuilder.addCommand(new MemberCountCommand()); + commandClientBuilder.addCommand(new PingCommand()); try { jda = JDABuilder.createDefault(BotConstants.TOKEN) diff --git a/discordbot/src/main/java/zone/themcgamer/discordbot/command/impl/PingCommand.java b/discordbot/src/main/java/zone/themcgamer/discordbot/command/impl/PingCommand.java new file mode 100644 index 0000000..7a108e6 --- /dev/null +++ b/discordbot/src/main/java/zone/themcgamer/discordbot/command/impl/PingCommand.java @@ -0,0 +1,54 @@ +package zone.themcgamer.discordbot.command.impl; + +import com.jagrosh.jdautilities.command.CommandEvent; +import net.dv8tion.jda.api.EmbedBuilder; +import net.dv8tion.jda.api.Permission; +import net.dv8tion.jda.api.events.message.MessageReceivedEvent; +import zone.themcgamer.discordbot.command.BaseCommand; +import zone.themcgamer.discordbot.guild.Guild; +import zone.themcgamer.discordbot.utilities.EmbedUtils; +import zone.themcgamer.discordbot.utilities.MessageUtils; + +import java.awt.*; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +public class PingCommand extends BaseCommand { + + private static long inputTime; + + public static void setInputTime(long inputTimeLong) { + inputTime = inputTimeLong; + } + + private Color getColorByPing(long ping) { + if (ping < 100) + return Color.cyan; + if (ping < 400) + return Color.green; + if (ping < 700) + return Color.yellow; + if (ping < 1000) + return Color.orange; + return Color.red; + } + + public PingCommand() { + name = "ping"; + aliases = new String[]{"latency"}; + help = "Get the latency of the bot to the guild."; + guildOnly = true; + guilds = Arrays.asList(Guild.MAIN, Guild.TEAM, Guild.TEST); + } + + @Override + protected void execute(CommandEvent event, List args) { + long processing = new Date().getTime() - inputTime; + long ping = event.getJDA().getGatewayPing(); + event.getTextChannel().sendMessage(EmbedUtils.defaultEmbed().setColor(getColorByPing(ping)).setDescription( + String.format(":ping_pong: **Pong!**\n\nThe bot took `%s` milliseconds to response.\nIt took `%s` milliseconds to parse the command and the ping is `%s` milliseconds.", + processing + ping, processing, ping) + ).build()).queue(); + } +} diff --git a/discordbot/src/main/java/zone/themcgamer/discordbot/command/impl/SuggestCommand.java b/discordbot/src/main/java/zone/themcgamer/discordbot/command/impl/SuggestCommand.java index e90a8c0..4516723 100644 --- a/discordbot/src/main/java/zone/themcgamer/discordbot/command/impl/SuggestCommand.java +++ b/discordbot/src/main/java/zone/themcgamer/discordbot/command/impl/SuggestCommand.java @@ -35,10 +35,11 @@ public class SuggestCommand extends BaseCommand { TextChannel channel = MGZBot.getInstance().getJda().getTextChannelById(BotConstants.SUGGESTIONS); if (channel == null) return; + int charLimit = 120; String suggestion = args.stream().skip(1).collect(Collectors.joining(" ")); - if (suggestion.length() < 120) { + if (suggestion.length() < charLimit) { event.getChannel().sendMessage(EmbedUtils.errorEmbed() - .appendDescription("Your suggestion is too short. Suggestions must be at least 120 characters.") + .appendDescription("Your suggestion is too short. Suggestions must be at least " + charLimit + " characters.") .build() ).queue(); return; diff --git a/skyblock/src/main/java/zone/themcgamer/skyblock/Skyblock.java b/skyblock/src/main/java/zone/themcgamer/skyblock/Skyblock.java index 3558dc0..d410c48 100644 --- a/skyblock/src/main/java/zone/themcgamer/skyblock/Skyblock.java +++ b/skyblock/src/main/java/zone/themcgamer/skyblock/Skyblock.java @@ -1,9 +1,12 @@ package zone.themcgamer.skyblock; +import com.bgsoftware.superiorskyblock.api.SuperiorSkyblock; import com.bgsoftware.superiorskyblock.api.SuperiorSkyblockAPI; +import com.bgsoftware.superiorskyblock.api.handlers.GridManager; import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer; import lombok.Getter; import org.bukkit.Bukkit; +import org.bukkit.World; import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitRunnable; import zone.themcgamer.core.chat.ChatManager;