@harmonixjs/shard
v1.0.0
Published
Automated Discord sharding for HarmonixJS
Downloads
69
Maintainers
Readme
@harmonixjs/shard
Automated multi-process sharding for HarmonixJS.
Discord requires sharding at 2,500 guilds. It can still be enabled earlier for operational reasons.
Create a parent launcher:
// src/shard.ts
import { resolve } from "path";
import { HarmonixShardingManager } from "@harmonixjs/shard";
const manager = new HarmonixShardingManager(
resolve(__dirname, "index.js")
);
await manager.start();Register the child-side plugin in the bot:
plugins: [
new ShardPlugin()
]Then aggregate values across every shard:
const guildCount = await bot.plugins.shard.getGuildCount();totalShards defaults to "auto", which uses Discord's recommended shard
count. The manager checks the gateway session-start limit before spawning.
