in the beginging of lyfe, there was mann, and wombat
Signed-off-by: deepCurse <leverplays@gmail.com>
This commit is contained in:
parent
7a57e8a39d
commit
744e678a1e
6 changed files with 164 additions and 31 deletions
|
@ -0,0 +1,45 @@
|
|||
package pkg.deepCurse.nopalmo.command.commands.general;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import pkg.deepCurse.nopalmo.command.CommandInterface.DualCommandInterface;
|
||||
import pkg.deepCurse.nopalmo.manager.Argument;
|
||||
import pkg.deepCurse.nopalmo.manager.CommandBlob;
|
||||
|
||||
public class Example implements DualCommandInterface{
|
||||
|
||||
@Override
|
||||
public String[] getCommandCalls() {
|
||||
return new String[] {"owo"};
|
||||
}
|
||||
|
||||
@Override
|
||||
public HelpPage getHelpPage() {
|
||||
return HelpPage.General;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getHelp() {
|
||||
return "an example command";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void runDualCommand(CommandBlob blob, HashMap<String, Argument> argumentMap) throws Exception {
|
||||
|
||||
blob.getChannel().sendMessage("owo").queue();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public HashMap<String, Argument> getArguments() {
|
||||
HashMap<String, Argument> args = new HashMap<String, Argument>();
|
||||
|
||||
args.put("k", new Argument("k", (CommandBlob blob) -> {
|
||||
blob.getChannel().sendMessage("Dr. K").queue();
|
||||
}).setPrefixRequirement(true).setAutoStartRunnable(true));
|
||||
|
||||
return args;
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -195,9 +195,7 @@ public class Help implements GuildCommandInterface {
|
|||
HashMap<String, Argument> args = new HashMap<String, Argument>();
|
||||
|
||||
args.put("commandName", new Argument("commandName").setPosition(0).setIsWildcard(true));
|
||||
args.put("dev", new Argument("dev", (CommandBlob blob) -> {
|
||||
blob.getChannel().sendMessage("DEV FLAG USED").queue();
|
||||
}).setPrefixRequirement(true).setAutoStartRunnable(true).setPermissionLevel("infopermission"));
|
||||
args.put("dev", new Argument("dev").setPrefixRequirement(true).setPermissionLevel("infopermission"));
|
||||
|
||||
return args;
|
||||
}
|
||||
|
|
|
@ -4,11 +4,15 @@ import java.sql.SQLException;
|
|||
|
||||
import net.dv8tion.jda.api.JDA;
|
||||
import net.dv8tion.jda.api.JDABuilder;
|
||||
import net.dv8tion.jda.api.OnlineStatus;
|
||||
import net.dv8tion.jda.api.entities.Activity;
|
||||
import net.dv8tion.jda.api.entities.Activity.ActivityType;
|
||||
import net.dv8tion.jda.api.requests.GatewayIntent;
|
||||
import net.dv8tion.jda.api.utils.ChunkingFilter;
|
||||
import net.dv8tion.jda.api.utils.MemberCachePolicy;
|
||||
import net.dv8tion.jda.api.utils.cache.CacheFlag;
|
||||
import pkg.deepCurse.nopalmo.database.DatabaseTools;
|
||||
import pkg.deepCurse.nopalmo.database.DatabaseTools.Tools.Global;
|
||||
import pkg.deepCurse.nopalmo.global.Reactions;
|
||||
import pkg.deepCurse.nopalmo.listener.DirectMessageReceivedListener;
|
||||
import pkg.deepCurse.nopalmo.listener.GuildMessageReceivedListener;
|
||||
|
@ -19,14 +23,16 @@ import pkg.deepCurse.nopalmo.utils.LogHelper;
|
|||
|
||||
public class Boot {
|
||||
|
||||
public static JDA bot;
|
||||
public static JDA bot; // TODO create sharding handler
|
||||
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 final GuildCommandManager guildCommandManager = new GuildCommandManager(); // move to master manager
|
||||
public static final DirectCommandManager directCommandManager = new DirectCommandManager(); // move to master
|
||||
// manager
|
||||
|
||||
public static boolean isProd = false;
|
||||
|
||||
public static long pid = ProcessHandle.current().pid();
|
||||
|
||||
public static final long pid = ProcessHandle.current().pid();
|
||||
public static boolean running = true;
|
||||
|
||||
public static void main(String[] args) {
|
||||
LogHelper.boot("Booting: <" + pid + ">");
|
||||
|
@ -64,32 +70,101 @@ public class Boot {
|
|||
LogHelper.boot("Init guild commands list");
|
||||
guildCommandManager.init();
|
||||
LogHelper.boot("Initialized guild commands list. . .");
|
||||
|
||||
|
||||
try {
|
||||
LogHelper.boot("Sleeping");
|
||||
Thread.sleep(90000);
|
||||
} catch (InterruptedException e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
|
||||
try {
|
||||
bot = JDABuilder.createDefault(args[0]).setChunkingFilter(ChunkingFilter.NONE)
|
||||
.setMemberCachePolicy(MemberCachePolicy.NONE).enableIntents(GatewayIntent.GUILD_MEMBERS)
|
||||
.setActivity(Activity.watching("Loading users...")).setIdle(true)
|
||||
// bot = JDABuilder.createDefault(args[0]).setChunkingFilter(ChunkingFilter.ALL)
|
||||
// .setMemberCachePolicy(MemberCachePolicy.ALL).enableIntents(GatewayIntent.GUILD_MEMBERS)
|
||||
// .setActivity(Activity.watching("Loading users...")).setIdle(true)
|
||||
// .addEventListeners(new GuildMessageReceivedListener())
|
||||
// .addEventListeners(new DirectMessageReceivedListener()).build().awaitReady();
|
||||
|
||||
bot = JDABuilder.createDefault(args[0])
|
||||
.setActivity(Activity.of(ActivityType.WATCHING, "the loading bar. . ."))
|
||||
.setStatus(OnlineStatus.DO_NOT_DISTURB)
|
||||
|
||||
.setMaxBufferSize(Integer.MAX_VALUE)
|
||||
|
||||
.setChunkingFilter(ChunkingFilter.ALL).setMemberCachePolicy(MemberCachePolicy.ALL)
|
||||
|
||||
.enableIntents(GatewayIntent.DIRECT_MESSAGE_REACTIONS,
|
||||
|
||||
GatewayIntent.DIRECT_MESSAGES, GatewayIntent.GUILD_BANS, GatewayIntent.GUILD_EMOJIS,
|
||||
GatewayIntent.GUILD_MEMBERS, GatewayIntent.GUILD_MESSAGE_REACTIONS,
|
||||
|
||||
GatewayIntent.GUILD_MESSAGES // , GatewayIntent.GUILD_VOICE_STATES
|
||||
)
|
||||
|
||||
.enableCache(// CacheFlag.CLIENT_STATUS,
|
||||
CacheFlag.EMOTE, // CacheFlag.ACTIVITY,
|
||||
CacheFlag.MEMBER_OVERRIDES // , CacheFlag.VOICE_STATE
|
||||
)
|
||||
|
||||
// .setIdle(true)
|
||||
|
||||
.setAutoReconnect(true)
|
||||
|
||||
.addEventListeners(new GuildMessageReceivedListener())
|
||||
.addEventListeners(new DirectMessageReceivedListener()).build().awaitReady();
|
||||
.addEventListeners(new DirectMessageReceivedListener())
|
||||
|
||||
.setEnableShutdownHook(true)
|
||||
|
||||
.build();
|
||||
|
||||
} catch (Exception e) {
|
||||
LogHelper.crash(e);
|
||||
}
|
||||
|
||||
bot.getPresence().setStatus(OnlineStatus.ONLINE);
|
||||
bot.getPresence().setActivity(Activity.listening("Infected Mushroom"));
|
||||
|
||||
long bootTime = System.currentTimeMillis() - preBootTime;
|
||||
|
||||
LogHelper.boot("Taken " + bootTime + "ms to boot");
|
||||
|
||||
LogHelper.boot("Starting loop");
|
||||
|
||||
// LogHelper.boot("Starting loop");
|
||||
// loop();
|
||||
}
|
||||
|
||||
private static void loop() {
|
||||
|
||||
long lastTime = System.currentTimeMillis();
|
||||
long fifteenMins = lastTime;
|
||||
long fiveMins = lastTime;
|
||||
long threeMins = lastTime;
|
||||
long lastTimeUpdateStatus = lastTime;
|
||||
long lastTimeCheckUpdate= lastTime;
|
||||
|
||||
long dynamicWait = 0;
|
||||
|
||||
while (running) {
|
||||
|
||||
long now = System.currentTimeMillis();
|
||||
|
||||
if (now > lastTime + dynamicWait) { // dynamic wait loop
|
||||
|
||||
}
|
||||
|
||||
if (now > lastTimeCheckUpdate + 900000) {
|
||||
|
||||
}
|
||||
|
||||
if (now > lastTimeUpdateStatus + dynamicWait && Global.isShuffleStatusEnabled()) {
|
||||
|
||||
}
|
||||
|
||||
if (now > fifteenMins + 900000) {
|
||||
|
||||
}
|
||||
|
||||
if (now > fiveMins + 300000) {
|
||||
|
||||
}
|
||||
|
||||
if (now > threeMins + 180000) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -295,6 +295,11 @@ public class DatabaseTools {
|
|||
// return null;
|
||||
}
|
||||
|
||||
public static boolean isShuffleStatusEnabled() {
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// public class Reaction { // started off as a good idea but it sucks
|
||||
|
|
|
@ -14,6 +14,7 @@ import java.util.regex.Pattern;
|
|||
|
||||
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
|
||||
import pkg.deepCurse.nopalmo.command.CommandInterface.GuildCommandInterface;
|
||||
import pkg.deepCurse.nopalmo.command.commands.general.Example;
|
||||
import pkg.deepCurse.nopalmo.command.commands.general.Prefix;
|
||||
import pkg.deepCurse.nopalmo.command.commands.general.Test;
|
||||
import pkg.deepCurse.nopalmo.command.commands.info.Git;
|
||||
|
@ -39,6 +40,7 @@ public class GuildCommandManager extends CommandManager {
|
|||
addCommand(new Git());
|
||||
addCommand(new Prefix());
|
||||
addCommand(new Test());
|
||||
addCommand(new Example());
|
||||
}
|
||||
|
||||
private void addCommand(GuildCommandInterface c) {
|
||||
|
|
|
@ -18,16 +18,26 @@ public class Locks {
|
|||
public static boolean dirLock(String lockName) throws Exception {
|
||||
|
||||
long pid = 0L;
|
||||
Scanner pidScanner = new Scanner(new File(System.getProperty("user.dir") + "/" + lockName));
|
||||
|
||||
File file = new File(System.getProperty("user.dir") + "/" + lockName);
|
||||
|
||||
if (!file.exists()) {
|
||||
file.createNewFile();
|
||||
}
|
||||
|
||||
Scanner pidScanner = new Scanner(file);
|
||||
|
||||
StringBuilder pidBuilder = new StringBuilder();
|
||||
while (pidScanner.hasNext()) {
|
||||
pidBuilder.append(pidScanner.next());
|
||||
}
|
||||
pidScanner.close();
|
||||
pid = Long.parseLong(pidBuilder.toString().replaceAll("[^0-9]", ""));
|
||||
|
||||
|
||||
|
||||
try {
|
||||
pid = Long.parseLong(pidBuilder.toString().replaceAll("[^0-9]", ""));
|
||||
} catch (Exception e) {
|
||||
|
||||
}
|
||||
|
||||
Process proc = new ProcessBuilder().command("readlink", "/proc/" + pid + "/cwd").start();
|
||||
Scanner readlinkScanner = new Scanner(new InputStreamReader(proc.getInputStream()));
|
||||
StringBuilder readlinkBuilder = new StringBuilder();
|
||||
|
@ -35,13 +45,11 @@ public class Locks {
|
|||
readlinkBuilder.append(readlinkScanner.next());
|
||||
}
|
||||
readlinkScanner.close();
|
||||
|
||||
|
||||
|
||||
|
||||
if (readlinkBuilder.toString().contentEquals(new File(System.getProperty("user.dir")).getPath())) {
|
||||
return true;
|
||||
} else {
|
||||
FileWriter writer = new FileWriter(new File(System.getProperty("user.dir") + "/" + lockName));
|
||||
FileWriter writer = new FileWriter(file);
|
||||
|
||||
writer.write(String.valueOf(Boot.pid));
|
||||
writer.close();
|
||||
|
|
Loading…
Add table
Reference in a new issue