diff --git a/src/main/java/netneutrality/MusicBot.java b/src/main/java/netneutrality/MusicBot.java index d784a11..98bd160 100644 --- a/src/main/java/netneutrality/MusicBot.java +++ b/src/main/java/netneutrality/MusicBot.java @@ -26,19 +26,9 @@ public class MusicBot { public final static Logger logger = LoggerFactory.getLogger(MusicBot.class); public static void main(String[] args) { - System.setProperty("log4j.skipJansi", "false"); - DBController.init(); - try { - jda = JDABuilder.createDefault(Settings.getInstance().get("BOT_TOKEN")) - .enableIntents(GatewayIntent.GUILD_MEMBERS, GatewayIntent.GUILD_MESSAGE_REACTIONS, GatewayIntent.GUILD_VOICE_STATES) - .build(); - jda.awaitReady(); - } catch (LoginException | IllegalArgumentException | InterruptedException e) { - logger.error(e.getMessage()); - System.exit(0); - } + initJDA(); jda.getPresence().setActivity(Activity.watching("me load...")); jda.addEventListener(new NewCommandListener(), new EditHandler()); @@ -57,6 +47,18 @@ public class MusicBot { } + public static void initJDA() { + try { + jda = JDABuilder.createDefault(Settings.getInstance().get("BOT_TOKEN")) + .enableIntents(GatewayIntent.GUILD_MEMBERS, GatewayIntent.GUILD_MESSAGE_REACTIONS, GatewayIntent.GUILD_VOICE_STATES) + .build(); + jda.awaitReady(); + } catch (LoginException | IllegalArgumentException | InterruptedException e) { + logger.error(e.getMessage()); + System.exit(0); + } + } + public static void shutdown() { System.out.println("[Net Neutrality] Shutting down..."); MusicManager.disconnectPlayers(); diff --git a/src/main/java/netneutrality/command/specific/DatabaseCommand.java b/src/main/java/netneutrality/command/specific/DatabaseCommand.java index cf92c7f..b3db69f 100644 --- a/src/main/java/netneutrality/command/specific/DatabaseCommand.java +++ b/src/main/java/netneutrality/command/specific/DatabaseCommand.java @@ -4,10 +4,8 @@ import java.awt.Color; import java.time.OffsetDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; -import java.util.function.Consumer; import net.dv8tion.jda.api.EmbedBuilder; -import net.dv8tion.jda.api.entities.PrivateChannel; import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import netneutrality.command.AbstractCommand; @@ -66,7 +64,7 @@ public class DatabaseCommand extends AbstractCommand { event.getMessage().delete().queue(); - if (!event.getAuthor().getDiscriminator().equals(Settings.getInstance().getCreator().getDiscriminator())) + if (!event.getAuthor().getId().equals(Settings.getInstance().getCreatorId())) return null; if (args.length > 0) { diff --git a/src/main/java/netneutrality/command/specific/EvalMethod.java b/src/main/java/netneutrality/command/specific/EvalMethod.java index 26ff480..cf0d8d1 100644 --- a/src/main/java/netneutrality/command/specific/EvalMethod.java +++ b/src/main/java/netneutrality/command/specific/EvalMethod.java @@ -62,7 +62,7 @@ public class EvalMethod extends AbstractCommand { @Override public String execute(MessageReceivedEvent event, String[] args) { - if (event.getAuthor().getId().equals(Settings.getInstance().getCreator().getId())) { + if (event.getAuthor().getId().equals(Settings.getInstance().getCreatorId())) { ScriptEngine se = new ScriptEngineManager().getEngineByName("Nashorn"); try { se.eval("var imports = new JavaImporter(java.io, java.lang, java.util);"); diff --git a/src/main/java/netneutrality/command/specific/TestCommand.java b/src/main/java/netneutrality/command/specific/TestCommand.java index fffee93..c8843b3 100644 --- a/src/main/java/netneutrality/command/specific/TestCommand.java +++ b/src/main/java/netneutrality/command/specific/TestCommand.java @@ -57,7 +57,7 @@ public class TestCommand extends AbstractCommand { @Override public String execute(MessageReceivedEvent event, String[] args) { - if (event.getAuthor().getDiscriminator().equals(Settings.getInstance().getCreator().getDiscriminator())) { + if (event.getAuthor().getId().equals(Settings.getInstance().getCreatorId())) { MessageFunction.isStartingWithMention(event.getMessage()); } diff --git a/src/main/java/netneutrality/db/MysqlConnector.java b/src/main/java/netneutrality/db/MysqlConnector.java index ced5beb..6f6849c 100644 --- a/src/main/java/netneutrality/db/MysqlConnector.java +++ b/src/main/java/netneutrality/db/MysqlConnector.java @@ -1,5 +1,7 @@ package netneutrality.db; +import com.mysql.cj.jdbc.MysqlDataSource; + import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; @@ -25,14 +27,15 @@ public class MysqlConnector { * @return {@link MysqlConnector} */ public MysqlConnector connect() throws SQLException { + MysqlDataSource dataSource = new MysqlDataSource(); String jdbc = "jdbc:mysql://" + dbHost + ":3306/" + dbName; - try { - Class.forName("com.mysql.cj.jdbc.Driver"); - c = DriverManager.getConnection(jdbc, dbUser, dbPass); - } catch (ClassNotFoundException e) { - e.printStackTrace(); - } + dataSource.setURL(jdbc); + dataSource.setUser(dbUser); + dataSource.setPassword(dbPass); + dataSource.setAutoReconnect(true); + dataSource.setConnectTimeout(5000); + c = dataSource.getConnection(); return this; } diff --git a/src/main/java/netneutrality/db/entities/AbstractEntity.java b/src/main/java/netneutrality/db/entities/AbstractEntity.java index 1ba12d9..3a4d96a 100644 --- a/src/main/java/netneutrality/db/entities/AbstractEntity.java +++ b/src/main/java/netneutrality/db/entities/AbstractEntity.java @@ -42,7 +42,7 @@ public abstract class AbstractEntity implements EntityInterface { this.table = DBController.get().prepareAndExecuteAsync(sql, this.primaryKey, this.primaryKeys).blocking(); else this.table = DBController.get().prepareAndExecuteAsync(sql, this.primaryKey).blocking(); - + } } diff --git a/src/main/java/netneutrality/handler/LogHandler.java b/src/main/java/netneutrality/handler/LogHandler.java index 578fdf4..bfdac39 100644 --- a/src/main/java/netneutrality/handler/LogHandler.java +++ b/src/main/java/netneutrality/handler/LogHandler.java @@ -19,7 +19,8 @@ public class LogHandler { logger.error(e.getMessage()); //TODO: to remove or add check if jda is started - Settings.getInstance().getLogChannel().sendMessage("Error : " + e).queue(); + String channel = Settings.getInstance().getLogChannel(); + MusicBot.getJDA().getTextChannelById(channel).sendMessage("Error : " + e).queue(); } diff --git a/src/main/java/netneutrality/utils/Settings.java b/src/main/java/netneutrality/utils/Settings.java index 6aec4d6..fad2544 100644 --- a/src/main/java/netneutrality/utils/Settings.java +++ b/src/main/java/netneutrality/utils/Settings.java @@ -1,10 +1,5 @@ package netneutrality.utils; -import net.dv8tion.jda.api.entities.Guild; -import net.dv8tion.jda.api.entities.TextChannel; -import net.dv8tion.jda.api.entities.User; -import netneutrality.MusicBot; - import java.io.*; import java.util.Map; import java.util.Properties; @@ -68,16 +63,16 @@ public class Settings { public final String DATETIMEFORMAT = "yyyy-MM-dd HH:mm:ss"; - public User getCreator() { - return MusicBot.getJDA().getUserById(get("BOT_OWNER")); + public String getCreatorId() { + return get("BOT_OWNER"); } - public Guild getOwnerGuild() { - return MusicBot.getJDA().getGuildById(get("BOT_OWNERGUILD")); + public String getOwnerGuild() { + return get("BOT_OWNERGUILD"); } - public TextChannel getLogChannel() { - return MusicBot.getJDA().getTextChannelById(get("BOT_ERRORCHANNEL")); + public String getLogChannel() { + return get("BOT_ERRORCHANNEL"); } diff --git a/src/main/java/netneutrality/utils/UserFunction.java b/src/main/java/netneutrality/utils/UserFunction.java index e61777b..8eee156 100644 --- a/src/main/java/netneutrality/utils/UserFunction.java +++ b/src/main/java/netneutrality/utils/UserFunction.java @@ -3,15 +3,14 @@ package netneutrality.utils; import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Role; -import net.dv8tion.jda.api.entities.User; public class UserFunction { public static boolean isAdmin(Member user) { // This check will only be present during the development of the bot - User creator = Settings.getInstance().getCreator(); - if (creator != null && user.getId().equals(creator.getId())) { + String creatorId = Settings.getInstance().getCreatorId(); + if (creatorId != null && user.getId().equals(creatorId)) { return true; }