made polished, user friendly so it shouldn't be hard to use anymore #1
							
								
								
									
										25
									
								
								manager.js
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								manager.js
									
									
									
									
									
								
							| @ -9,8 +9,20 @@ String.prototype.capitalize = function() { | |||||||
|     return this[0].toUpperCase() + this.substring(1); |     return this[0].toUpperCase() + this.substring(1); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | //constantn'ts this is up here for scope reasons don't @ me
 | ||||||
|  | var StatusCycleCount = 0; | ||||||
|  | var OnlineServers = []; | ||||||
|  | 
 | ||||||
|  | //constants
 | ||||||
| var MAX_IDLE_MINUTES = 60; | var MAX_IDLE_MINUTES = 60; | ||||||
| var CMD_PREFIX = '%'; | var CMD_PREFIX = '%'; | ||||||
|  | const DEFAULT_STATUS = `${CMD_PREFIX}help` | ||||||
|  | const STATUS_CYCLE = [ | ||||||
|  | 	"Servers running: " + OnlineServers.join(", "), | ||||||
|  | |||||||
|  | 	"%start <server> to start a server!", | ||||||
|  | 	"servername.mc.jpdld.com!" | ||||||
|  | ]; | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| class MinecraftServer extends EventEmitter { | class MinecraftServer extends EventEmitter { | ||||||
| 	constructor (cwd, jar) { | 	constructor (cwd, jar) { | ||||||
| @ -139,12 +151,14 @@ function commandHandler(input, priviledged) { | |||||||
| 		if (!server) return `Unknown server ${serverName}` | 		if (!server) return `Unknown server ${serverName}` | ||||||
| 		if (server.process) return `${serverName.capitalize()} server is already running.`; | 		if (server.process) return `${serverName.capitalize()} server is already running.`; | ||||||
| 		server.start(); | 		server.start(); | ||||||
|  | 		OnlineServers.push(serverName.capitalize()); | ||||||
| 		return `Starting ${serverName} server.`; | 		return `Starting ${serverName} server.`; | ||||||
| 	} else if (cmd == "stop") { | 	} else if (cmd == "stop") { | ||||||
| 		if (!priviledged) return unauthorized; | 		if (!priviledged) return unauthorized; | ||||||
| 		if (!server) return `Unknown server ${serverName}` | 		if (!server) return `Unknown server ${serverName}` | ||||||
| 		if (!server.process) return `${serverName.capitalize()} server is not running.`; | 		if (!server.process) return `${serverName.capitalize()} server is not running.`; | ||||||
| 		server.stop(); | 		server.stop(); | ||||||
|  | 		OnlineServers.splice(serverName.capitalize()); | ||||||
| 		return `Stopping ${serverName} server.`; | 		return `Stopping ${serverName} server.`; | ||||||
| 	} else if (cmd == "input") { | 	} else if (cmd == "input") { | ||||||
| 		if (!priviledged) return unauthorized; | 		if (!priviledged) return unauthorized; | ||||||
| @ -191,10 +205,15 @@ if (process.env.DISCORD_TOKEN) { | |||||||
| 	var dClient = new Discord.Client(); | 	var dClient = new Discord.Client(); | ||||||
| 	dClient.login(process.env.DISCORD_TOKEN); | 	dClient.login(process.env.DISCORD_TOKEN); | ||||||
| 	dClient.on("error", error => console.error(colors.red("Discord client error: " + error.message))); | 	dClient.on("error", error => console.error(colors.red("Discord client error: " + error.message))); | ||||||
| 	function setStatus() { | 	function setStatus(status) { | ||||||
| 		dClient.user.setActivity(`${CMD_PREFIX}help`); | 		dClient.user.setActivity(status); | ||||||
| 	} | 	} | ||||||
| 	setInterval(setStatus, 1000*60*30); | 	//setInterval(setStatus, 1000*60*30);
 | ||||||
|  | 	setInterval(() => { | ||||||
|  | 		StatusCycleCount++; | ||||||
|  | 		if (StatusCycleCount >= STATUS_CYCLE.length) count = 0; | ||||||
|  | 		setStatus(`${DEFAULT_STATUS} | ${STATUS_CYCLE[StatusCycleCount]}`); | ||||||
|  | 	  }, 3500); | ||||||
| 	dClient.on("ready", () => { | 	dClient.on("ready", () => { | ||||||
| 		console.log("Discord client is ready.".green); | 		console.log("Discord client is ready.".green); | ||||||
| 		setStatus(); | 		setStatus(); | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	
bruh
Object.keys(servers).filter(name => servers[name].process)and this won't work here anyway (it will always be blank)