package moe.kayla.Shikinami; import org.simpleyaml.configuration.ConfigurationSection; import org.simpleyaml.configuration.file.YamlConfiguration; import static moe.kayla.Shikinami.Shikinami.error; import static moe.kayla.Shikinami.Shikinami.info; public class ShikinamiConfig { public YamlConfiguration configuration; /* Discord Variable Section */ private String token; private String logChannel; private String ownerId; private String mainGuild; private String clientId; private String prefix; private int defaultInvitePermissionLevel; /* Shiki Variable Section */ private boolean sharded; public ShikinamiConfig(YamlConfiguration configuration) { //Load config on class creation... this.configuration = configuration; } public boolean load() { try { //Discord loaders info("Starting Discord Configuration load"); ConfigurationSection discord = configuration.getConfigurationSection("discord"); token = discord.getString("token"); info("!!! DO NOT SHARE !!! Token - " + token); logChannel = discord.getString("logChannel"); info("Logging Channel - " + logChannel); ownerId = discord.getString("ownerId"); info("Owner ID - " + ownerId); mainGuild = discord.getString("mainGuild"); info("Main Guild - " + mainGuild); clientId = discord.getString("clientId"); defaultInvitePermissionLevel = discord.getInt("invitePermissionLevel"); info("Invite link - " + assembleDefaultInvite()); prefix = discord.getString("prefix"); info("Prefix - " + prefix); //Shiki loaders ConfigurationSection main = configuration.getConfigurationSection("main"); sharded = main.getBoolean("sharded"); } catch(Exception ex) { ex.printStackTrace(); error("Failed to load configuration!"); return false; } info("Configuration Loaded"); return true; } public String assembleDefaultInvite() { return "https://discord.com/oauth2/authorize?client_id=" + clientId + "&scope=bot&permissions=" + defaultInvitePermissionLevel; } public String getPrefix() { return prefix; } }