nopalmo-java/src/pkg/deepCurse/nopalmo/core/Boot.java
deepCurse 1380bc2a22
more shit
i should mention im doing live tests before upload, and this is
pre-maintenance, anything worth noting will be written in comments

Signed-off-by: deepCurse <leverplays@gmail.com>
2021-12-06 10:58:30 -04:00

69 lines
2.4 KiB
Java

package pkg.deepCurse.nopalmo.core;
import java.sql.SQLException;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.entities.Activity;
import net.dv8tion.jda.api.requests.GatewayIntent;
import net.dv8tion.jda.api.utils.ChunkingFilter;
import net.dv8tion.jda.api.utils.MemberCachePolicy;
import pkg.deepCurse.nopalmo.database.DatabaseTools;
import pkg.deepCurse.nopalmo.global.Reactions;
import pkg.deepCurse.nopalmo.listener.DirectMessageReceivedListener;
import pkg.deepCurse.nopalmo.listener.GuildMessageReceivedListener;
import pkg.deepCurse.nopalmo.manager.DirectCommandManager;
import pkg.deepCurse.nopalmo.manager.GuildCommandManager;
import pkg.deepCurse.nopalmo.utils.LogHelper;
public class Boot {
public static JDA bot;
public static DatabaseTools databaseTools = null;
public static GuildCommandManager guildCommandManager = new GuildCommandManager(); // move to master manager
public static DirectCommandManager directCommandManager = new DirectCommandManager(); // move to master manager
public static boolean isProd = false;
public static void main(String[] args) {
LogHelper.boot("Booting. . .");
long preBootTime = System.currentTimeMillis();
isProd = args[2].contentEquals("prod");
LogHelper.boot("Connecting to mariadb:nopalmo");
try {
databaseTools = new DatabaseTools(args[1]);
LogHelper.boot("Connected. . .");
} catch (SQLException | ClassNotFoundException e1) {
e1.printStackTrace();
LogHelper.boot("Failed to connect. . .\nShutting down. . .");
System.exit(4);
}
LogHelper.boot("Init reaction/emote list");
Reactions.init();
LogHelper.boot("Initialized reaction/emote list. . .");
LogHelper.boot("Init guild commands list");
guildCommandManager.init();
LogHelper.boot("Initialized guild commands list. . .");
try {
bot = JDABuilder.createDefault(args[0]).setChunkingFilter(ChunkingFilter.NONE)
.setMemberCachePolicy(MemberCachePolicy.NONE).enableIntents(GatewayIntent.GUILD_MEMBERS)
.setActivity(Activity.watching("Loading users...")).setIdle(true)
.addEventListeners(new GuildMessageReceivedListener()).addEventListeners(new DirectMessageReceivedListener()) .build().awaitReady();
} catch (Exception e) {
LogHelper.crash(e);
}
bot.getPresence().setActivity(Activity.listening("Infected Mushroom"));
long bootTime = System.currentTimeMillis() - preBootTime;
LogHelper.boot("Taken " + bootTime + "ms to boot");
}
}