AltitudeBot/src/main/java/com/alttd/AltitudeBot.java

84 lines
2.4 KiB
Java
Raw Normal View History

2022-03-09 21:11:11 +00:00
package com.alttd;
import com.alttd.commandManager.CommandManager;
import com.alttd.config.SettingsConfig;
import com.alttd.config.MessagesConfig;
2022-04-13 19:46:09 +00:00
import com.alttd.console.ConsoleCommandManager;
2022-04-22 18:23:22 +00:00
import com.alttd.database.Database;
import com.alttd.database.DatabaseTables;
2022-03-09 21:11:11 +00:00
import com.alttd.permissions.PermissionManager;
import com.alttd.util.Logger;
2022-04-13 19:46:09 +00:00
import com.mysql.cj.log.Log;
2022-03-09 21:11:11 +00:00
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder;
2022-04-13 19:46:09 +00:00
import net.dv8tion.jda.api.OnlineStatus;
import net.dv8tion.jda.api.entities.Activity;
2022-03-09 21:11:11 +00:00
import javax.security.auth.login.LoginException;
import java.io.File;
import java.net.URISyntaxException;
2022-04-22 19:18:36 +00:00
import java.util.Scanner;
2022-03-09 21:11:11 +00:00
import static java.lang.System.exit;
2022-03-09 21:11:11 +00:00
public class AltitudeBot {
private JDA jda;
private static AltitudeBot instance;
public static AltitudeBot getInstance() {
return instance;
}
public static void main(String[] args) {
instance = new AltitudeBot();
instance.start();
}
private void start() {
2022-03-09 21:11:11 +00:00
Logger.info("Starting bot...");
initConfigs();
try {
jda = JDABuilder.createDefault(SettingsConfig.TOKEN).build();
} catch (LoginException e) {
Logger.info("Unable to log in, shutting down (check token in settings.yml).");
exit(1);
Logger.exception(e);
2022-03-09 21:11:11 +00:00
}
2022-04-22 18:23:22 +00:00
DatabaseTables.createTables(Database.getDatabase().getConnection());
2022-04-13 19:46:09 +00:00
ConsoleCommandManager.startConsoleCommands(jda);
try {
jda.getPresence().setPresence(
OnlineStatus.valueOf(SettingsConfig.STATUS),
Activity.listening(SettingsConfig.ACTIVITY));
} catch (IllegalArgumentException e) {
Logger.exception(e);
}
2022-03-09 21:11:11 +00:00
initListeners();
//TODO init permissionManager
}
private void initListeners() {
jda.addEventListener(new CommandManager(jda));
2022-03-09 21:11:11 +00:00
}
private void initConfigs() {
SettingsConfig.reload();
MessagesConfig.reload();
}
public String getDataFolder() {
try {
return new File(AltitudeBot.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath()).getPath();
} catch (URISyntaxException e) {
Logger.severe("Unable to retrieve config directory");
e.printStackTrace();
}
return (null);
}
2022-03-23 21:09:30 +00:00
public JDA getJDA() {
return jda;
}
2022-03-09 21:11:11 +00:00
}