@@ -0,0 +1,2420 @@
+package com.avairebot.orion.utilities;%0A%0Aimport net.dv8tion.jda.core.entities.Channel;%0Aimport net.dv8tion.jda.core.entities.Guild;%0Aimport net.dv8tion.jda.core.entities.Message;%0Aimport net.dv8tion.jda.core.entities.User;%0A%0Apublic class PlaceholderUtil %7B%0A%0A    public static String parse(Message message, String string, PlaceholderType... types) %7B%0A        for (PlaceholderType type : types) %7B%0A            string = type.function.parse(message, string);%0A        %7D%0A        return string;%0A    %7D%0A%0A    private static String toGuild(Message message, String string) %7B%0A        if (!message.getChannelType().isGuild()) %7B%0A            return string;%0A        %7D%0A%0A        return parseGuild(message.getGuild(), string);%0A    %7D%0A%0A    public static String parseGuild(Guild guild, String string) %7B%0A        string = string.replaceAll(%22%25server%25%22, guild.getName());%0A        string = string.replaceAll(%22%25servername%25%22, guild.getName());%0A        string = string.replaceAll(%22%25serverid%25%22, guild.getId());%0A%0A        return string;%0A    %7D%0A%0A    private static String toChannel(Message message, String string) %7B%0A        return parseChannel(message.getTextChannel(), string);%0A    %7D%0A%0A    public static String parseChannel(Channel channel, String string) %7B%0A        string = string.replaceAll(%22%25channel%25%22, %22%3C#%22 + channel.getId() + %22%3E%22);%0A        string = string.replaceAll(%22%25channelname%25%22, channel.getName());%0A        string = string.replaceAll(%22%25channelid%25%22, channel.getId());%0A%0A        return string;%0A    %7D%0A%0A    private static String toUser(Message message, String string) %7B%0A        return parseUser(message.getAuthor(), string);%0A    %7D%0A%0A    public static String parseUser(User user, String string) %7B%0A        string = string.replaceAll(%22%25user%25%22, %22%3C@%22 + user.getId() + %22%3E%22);%0A        string = string.replaceAll(%22%25userid%25%22, user.getId());%0A        string = string.replaceAll(%22%25username%25%22, user.getName());%0A        string = string.replaceAll(%22%25userdisc%25%22, user.getDiscriminator());%0A%0A        return string;%0A    %7D%0A%0A    public enum PlaceholderType %7B%0A%0A        SERVER(PlaceholderUtil::toGuild),%0A        CHANNEL(PlaceholderUtil::toChannel),%0A        USER(PlaceholderUtil::toUser);%0A%0A        private final PlaceholderFunction function;%0A%0A        PlaceholderType(PlaceholderFunction function) %7B%0A            this.function = function;%0A        %7D%0A    %7D%0A%0A    @FunctionalInterface%0A    private interface PlaceholderFunction %7B%0A        String parse(Message message, String string);%0A    %7D%0A%7D%0A

Create placeholder utility