1 |
import { exec } from "child_process"; |
2 |
import { format } from "date-fns"; |
3 |
import { appendFile } from "fs/promises"; |
4 |
import path from "path"; |
5 |
import { exit } from "process"; |
6 |
import DiscordClient from "../../client/Client"; |
7 |
import BaseEvent from "../../utils/structures/BaseEvent"; |
8 |
|
9 |
export default class DebugEvent extends BaseEvent { |
10 |
logFile: string = path.resolve(__dirname, "..", "..", "..", "logs", 'debug.log'); |
11 |
|
12 |
constructor() { |
13 |
super("debug"); |
14 |
appendFile(this.logFile, `\n\n[${format(new Date(), "yyyy-MM-dd'T'HH:mm:ss.SSSxxx")}] [STARTUP] The system has started.\n`); |
15 |
} |
16 |
|
17 |
async run(client: DiscordClient, e: string): Promise <void> { |
18 |
if (e.includes("Provided token") || e.includes(process.env.TOKEN!) || e.includes("[READY] Session ")) { |
19 |
console.log('DEBUG: [One hidden log]'); |
20 |
return; |
21 |
} |
22 |
|
23 |
console.log("DEBUG: ", e); |
24 |
await appendFile(this.logFile, `[${format(new Date(), "yyyy-MM-dd'T'HH:mm:ss.SSSxxx")}] [LOG] ${e}\n`); |
25 |
|
26 |
if (process.env.PLATFORM === 'replit' && e.includes("Hit a 429 while executing a request") && !client.isReady()) { |
27 |
exec("kill 1"); |
28 |
return; |
29 |
} |
30 |
} |
31 |
} |