76 lines
1.6 KiB
TypeScript
76 lines
1.6 KiB
TypeScript
import * as readline from "node:readline/promises";
|
|
import { stdin as input, stdout as output } from "node:process";
|
|
import pack from "../../package.json";
|
|
import { Console } from "node:console";
|
|
import moment from "moment";
|
|
import startupTime from "../tools/startupTime";
|
|
import client from "../client";
|
|
|
|
import guild from "./guild";
|
|
import global from "./global";
|
|
|
|
const console = new Console(process.stdout);
|
|
|
|
const rl = readline.createInterface(input, output);
|
|
|
|
rl.on("line", async (msg) => {
|
|
const [command, ...args] = msg.split(" ");
|
|
if (!command) return;
|
|
|
|
switch (command.toLowerCase()) {
|
|
case "version": {
|
|
console.log(`Channel filter V${pack.version} by AstroGD®`);
|
|
break;
|
|
}
|
|
|
|
case "uptime": {
|
|
console.log(`Application is running for ${moment(startupTime).fromNow(true)}`);
|
|
break;
|
|
}
|
|
|
|
case "clear": {
|
|
console.clear();
|
|
break;
|
|
}
|
|
|
|
case "guild": {
|
|
await guild(args);
|
|
break;
|
|
}
|
|
|
|
case "help": {
|
|
printHelp();
|
|
break;
|
|
}
|
|
|
|
case "global": {
|
|
await global(args);
|
|
break;
|
|
}
|
|
|
|
case "servercount": {
|
|
console.log(`This bot is on ${client.guilds.cache.size} guilds`);
|
|
break;
|
|
}
|
|
|
|
default: {
|
|
console.log(`Unknown command. Try "help" for help`);
|
|
break;
|
|
}
|
|
}
|
|
|
|
rl.prompt();
|
|
});
|
|
|
|
function printHelp() {
|
|
console.log(`Commands:
|
|
|
|
version
|
|
uptime
|
|
guild
|
|
global
|
|
help
|
|
servercount
|
|
clear`);
|
|
}
|