/[sudobot]/trunk/src/events/debug/DebugEvent.ts
ViewVC logotype

Annotation of /trunk/src/events/debug/DebugEvent.ts

Parent Directory Parent Directory | Revision Log Revision Log


Revision 393 - (hide annotations)
Mon Jul 29 17:29:59 2024 UTC (8 months, 3 weeks ago) by rakin
File MIME type: application/typescript
File size: 2405 byte(s)
style: add license comments (#77)

* style: add license commits

* fix: shebang errors
1 rakin 393 /**
2     * This file is part of SudoBot.
3     *
4     * Copyright (C) 2021-2022 OSN Inc.
5     *
6     * SudoBot is free software; you can redistribute it and/or modify it
7     * under the terms of the GNU Affero General Public License as published by
8     * the Free Software Foundation, either version 3 of the License, or
9     * (at your option) any later version.
10     *
11     * SudoBot is distributed in the hope that it will be useful, but
12     * WITHOUT ANY WARRANTY; without even the implied warranty of
13     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14     * GNU Affero General Public License for more details.
15     *
16     * You should have received a copy of the GNU Affero General Public License
17     * along with SudoBot. If not, see <https://www.gnu.org/licenses/>.
18     */
19    
20 rakin 292 import { exec } from "child_process";
21 rakin 288 import { format } from "date-fns";
22     import { appendFile } from "fs/promises";
23     import path from "path";
24     import DiscordClient from "../../client/Client";
25 rakin 294 import { LogLevel } from "../../services/DebugLogger";
26 rakin 287 import BaseEvent from "../../utils/structures/BaseEvent";
27    
28     export default class DebugEvent extends BaseEvent {
29 rakin 372 logFile: string = path.join(process.env.SUDO_PREFIX ?? (__dirname + "/../../../"), "logs", 'debug.log');
30 rakin 288
31 rakin 287 constructor() {
32     super("debug");
33 rakin 288 appendFile(this.logFile, `\n\n[${format(new Date(), "yyyy-MM-dd'T'HH:mm:ss.SSSxxx")}] [STARTUP] The system has started.\n`);
34 rakin 287 }
35    
36 rakin 288 async run(client: DiscordClient, e: string): Promise <void> {
37     if (e.includes("Provided token") || e.includes(process.env.TOKEN!) || e.includes("[READY] Session ")) {
38     console.log('DEBUG: [One hidden log]');
39     return;
40     }
41    
42 rakin 293 console.log("DEBUG: ", e);
43     await appendFile(this.logFile, `[${format(new Date(), "yyyy-MM-dd'T'HH:mm:ss.SSSxxx")}] [LOG] ${e}\n`);
44    
45 rakin 299 if (process.env.PLATFORM === 'replit' && e.includes("Hit a 429") && !client.isReady()) {
46 rakin 294 console.log("DEBUG: ", "Restart Required");
47     await appendFile(this.logFile, `[${format(new Date(), "yyyy-MM-dd'T'HH:mm:ss.SSSxxx")}] [LOG] ${e}\n`);
48     await appendFile(this.logFile, `[${format(new Date(), "yyyy-MM-dd'T'HH:mm:ss.SSSxxx")}] [FATAL] Restart Required\n`);
49 rakin 299 await client.debugLogger.logToHomeServer("Discord Ratelimit [429]: System restart required.\nAutomated restart is in progress.", LogLevel.WARN);
50 rakin 294
51 rakin 292 exec("kill 1");
52     return;
53     }
54 rakin 287 }
55     }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26