kiafumi/src/main/java/moe/kayla/Shikinami/ShikinamiConfig.java

72 lines
2.3 KiB
Java
Raw Normal View History

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;
}
}