perf: tune selfbot runtime defaults

Apply low-memory client options and point the workspace vendor package at the optimized selfbot internals for more stable long-running moderation capture.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
MythEclipse
2026-05-15 08:26:43 +07:00
co-authored by Claude Opus 4.7
parent bd03fe1817
commit 2c58e44c67
5 changed files with 61 additions and 2 deletions
+21
View File
@@ -0,0 +1,21 @@
import { type ClientOptions, Options } from "discord.js-selfbot-v13";
export function createDiscordClientOptions(): ClientOptions {
return {
makeCache: Options.cacheWithLimits({
...Options.defaultMakeCacheSettings,
MessageManager: 25,
ReactionManager: 0,
ReactionUserManager: 0,
PresenceManager: 0,
}),
partials: ["USER", "CHANNEL", "GUILD_MEMBER", "MESSAGE"],
sweepers: {
messages: { interval: 300, lifetime: 600 },
threads: { interval: 3600, lifetime: 14400 },
},
restRequestTimeout: 15_000,
retryLimit: 2,
restGlobalRateLimit: 45,
};
}
+2 -1
View File
@@ -5,6 +5,7 @@ import "dotenv/config";
import { Client } from "discord.js-selfbot-v13";
import { config } from "./config";
import { closeDatabase, initializeDatabase } from "./database/drizzle";
import { createDiscordClientOptions } from "./discordClientOptions";
import { createChildLogger } from "./logger";
import { startPendingAIAnalysisWorker } from "./moderation/aiAnalyzer";
import { syncBacklogMessages } from "./moderation/backlogSync";
@@ -22,7 +23,7 @@ logger.info(
);
logger.info("Creating Discord client");
const client = new Client();
const client = new Client(createDiscordClientOptions());
const voiceController = new VoiceController(client);
let isShuttingDown = false;