Spaces:
Paused
Paused
import { ShardingManager, Events } from "discord.js"; | |
import path from "node:path"; | |
import { fileURLToPath } from "node:url"; | |
import { Logger, LogLevel } from "meklog"; | |
import dotenv from "dotenv"; | |
dotenv.config(); | |
const production = process.env.NODE_ENV == "prod" || process.env.NODE_ENV == "production"; | |
const log = new Logger(production, "Shard Manager"); | |
log(LogLevel.Info, "Loading"); | |
const filePath = path.join(path.dirname(fileURLToPath(import.meta.url)), "bot.js"); | |
const manager = new ShardingManager(filePath, { token: process.env.TOKEN }); | |
manager.on("shardCreate", async shard => { | |
const shardLog = new Logger(production, `Shard #${shard.id}`); | |
shardLog(LogLevel.Info, "Created shard"); | |
shard.once(Events.ClientReady, async () => { | |
shard.send({ shardID: shard.id, logger: shardLog.data }); | |
shardLog(LogLevel.Info, "Shard ready"); | |
}); | |
}); | |
manager.spawn(); | |