Migrated from thunderbolt to org.json

This commit is contained in:
Savvy
2017-07-14 14:22:29 -04:00
parent f8adff77c7
commit 151b367c88
17 changed files with 228 additions and 201 deletions

View File

@@ -33,6 +33,8 @@ import net.dv8tion.jda.core.exceptions.RateLimitedException;
import net.dv8tion.jda.core.hooks.AnnotatedEventManager;
import javax.security.auth.login.LoginException;
import java.io.File;
import java.io.IOException;
import java.util.LinkedList;
import java.util.List;
import java.util.logging.Logger;
@@ -60,17 +62,18 @@ public class Rixa {
public static void main(String[] args) {
instance = new Rixa();
shardsList = new LinkedList<>();
config = new ConfigManager();
// config = new ConfigManager();
config = new ConfigManager(new File("Rixa/config.json"));
load();
}
private static void load() {
dbManager = new DatabaseManager(
String.valueOf(config.getConfig().getObjectinObj("sql", "hostName")),
String.valueOf(config.getConfig().getObjectinObj("sql", "portNumber")),
String.valueOf(config.getConfig().getObjectinObj("sql", "databaseName")),
String.valueOf(config.getConfig().getObjectinObj("sql", "userName")),
String.valueOf(config.getConfig().getObjectinObj("sql", "password")));
String.valueOf(config.getJsonObject().getJSONObject("sql").getString("hostName")),
String.valueOf(config.getJsonObject().getJSONObject("sql").getString("portNumber")),
String.valueOf(config.getJsonObject().getJSONObject("sql").getString("databaseName")),
String.valueOf(config.getJsonObject().getJSONObject("sql").getString("userName")),
String.valueOf(config.getJsonObject().getJSONObject("sql").getString("password")));
dbManager.createTable();
getInstance().setLanguageManager(new LanguageManager());
try {
@@ -78,13 +81,13 @@ public class Rixa {
for(int i = 0; i < shards; i++) {
Logger.getLogger("Rixa").info("Loading shard #" + i);
JDABuilder jda = new JDABuilder(AccountType.BOT)
.setToken(config.getConfig().getString("secretToken"))
.setToken(config.getJsonObject().getString("secretToken"))
.setEventManager(new AnnotatedEventManager())
.addEventListener(new MessageEvent())
.addEventListener(new BotEvent())
.addEventListener(new MemberEvent())
.addEventListener(new VoiceChannel())
.setGame(Game.of(config.getConfig().getString("botGame")))
.setGame(Game.of(config.getJsonObject().getString("botGame")))
.setAutoReconnect(true)
.setStatus(OnlineStatus.ONLINE)
.setAudioEnabled(true)

View File

@@ -1,57 +1,71 @@
package me.savvy.rixa.data.filemanager;
import me.savvy.rixa.data.thunderbolt.Thunderbolt;
import me.savvy.rixa.data.thunderbolt.exceptions.FileLoadException;
import me.savvy.rixa.data.thunderbolt.io.ThunderFile;
import lombok.Getter;
import org.apache.commons.io.IOUtils;
import org.json.JSONArray;
import org.json.JSONObject;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by Timber on 6/4/2017.
*/
public class ConfigManager {
private ThunderFile tf;
public ConfigManager() {
tf = null;
try {
if(!Thunderbolt.load("config", "Rixa")) {
try {
tf = Thunderbolt.get("config");
addDefaults();
} catch (IOException e) {
e.printStackTrace();
@Getter
private File file;
@Getter
private JSONObject jsonObject;
public ConfigManager(File file) {
this.file = file;
if (!(file.exists())) {
FileWriter fileWriter = null;
try {
file.getParentFile().mkdirs();
file.createNewFile();
jsonObject = new JSONObject();
jsonObject
.put("secretKey", "YOUR_TOKEN_HERE")
.put("botGame", "Rixa 2.0 | http://rixa.io/invite");
JSONObject obj = new JSONObject();
obj.put("hostName", "localhost")
.put("password", "password")
.put("databaseName", "rixa")
.put("userName", "rixa_users")
.put("portNumber", "3306");
jsonObject.put("sql", obj);
JSONArray botAdmins = new JSONArray();
botAdmins.put("YOUR_USER_ID_HERE")
.put("OTHER_ADMINS")
.put("REMOVE_IF_YOU_DONT_WANT");
obj.put("botAdmins", botAdmins);
fileWriter = new FileWriter(file);
fileWriter.write(jsonObject.toString());
System.out.println("Successfully generated configuration file.");
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if(fileWriter != null) {
try {
fileWriter.flush();
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
tf = Thunderbolt.get("config");
} catch (FileLoadException | IOException e) {
return;
}
String jsonTxt = null;
try {
jsonTxt = IOUtils.toString(new FileReader(file));
} catch (IOException e) {
e.printStackTrace();
}
}
private void addDefaults() throws IOException {
List<String> botAdmins = new ArrayList<>();
Map<String, String> map = new HashMap<>();
map.put("hostName", "localhost");
map.put("password", "password");
map.put("databaseName", "rixa");
map.put("userName", "rixa_users");
map.put("portNumber", "3306");
tf.set("sql", map);
botAdmins.add("YOUR_USER_ID_HERE");
botAdmins.add("OTHER_ADMINS");
botAdmins.add("REMOVE_IF_YOU_DONT_WANT");
tf.set("botAdmins", botAdmins);
tf.set("secretToken", "YOUR_TOKEN_HERE");
tf.set("botGame", "Rixa 2.0 | http://rixa.io/invite");
tf.save();
}
public ThunderFile getConfig() {
return tf;
jsonObject = new JSONObject(jsonTxt);
}
}

View File

@@ -34,18 +34,17 @@ public class RixaGuild {
public RixaGuild(Guild guild) {
this.guild = guild;
this.db = Rixa.getInstance().getDbManager();
this.db = Rixa.getDbManager();
setMusicModule(new MusicModule(guild));
load();
}
private void load() {
if(!(checkExists())) {
Rixa.getInstance().getDbManager()
.insert("INSERT INTO `core` (`guild_id`, `guild_name`, `description`, `keywords`, `icon`) VALUES ('%id%', '%name%', 'Description not set.', 'No Keywords Found.', '%icon%')"
Rixa.getDbManager()
.insert("INSERT INTO `core` (`guild_id`, `guild_name`, `description`, `keywords`) VALUES ('%id%', '%name%', 'Description not set.', 'No Keywords Found.')"
.replace("%id%", guild.getId())
.replace("%name%", guild.getName().replace("'", "\\'"))
.replace("%icon%", guild.getIconId()));
.replace("%name%", guild.getName().replace("'", "\\'")));
}
setGuildSettings(new GuildSettings(this.guild));
addGuild(this);
@@ -56,12 +55,12 @@ public class RixaGuild {
}
private boolean checkExists() {
Result r = Rixa.getInstance().getDbManager().checkExists("SELECT `guild_name` FROM `core` WHERE `guild_id` = '" + guild.getId() + "';");
Result r = Rixa.getDbManager().checkExists("SELECT `guild_name` FROM `core` WHERE `guild_id` = '" + guild.getId() + "';");
return r == Result.TRUE;
}
public boolean hasPermission(Member member, RixaPermission permission) {
if(Rixa.getInstance().getConfig().getConfig().getStringList("botAdmins").contains(member.getUser().getId()) ||
if(Rixa.getConfig().getJsonObject().getJSONArray("botAdmins").toList().contains(member.getUser().getId()) ||
member.getUser().getId().equals(guild.getOwner().getUser().getId())) {
return true;
}