Migrated from thunderbolt to org.json
This commit is contained in:
@@ -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)
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user