Seyfert v2.1.0: Scaling Without Limits
Automatic resharding, smarter workers, and the infrastructure your growing bot deserves.
September 7, 2024
Built for Growth
Your bot is growing. What started as a fun project now serves thousands of servers. Suddenly, you're hitting rate limits, managing shards manually, and wondering if there's a better way.
There is. Seyfert v2.1.0 brings enterprise-grade scaling features that just work.
The Headline: Automatic Resharding
As your bot joins more servers, Discord requires more shards. Previously, this meant downtime — restart your bot, reconfigure shards, pray nothing breaks.
Not anymore. Resharding is now automatic and enabled by default. Seyfert monitors your bot's growth and seamlessly adjusts shard count in real-time. No downtime. No manual intervention. Your bot scales while you sleep.
New Features
Entry Point Interactions
Discord's new Entry Point feature lets users discover your bot's commands directly from the app directory. We've added full support:
EntryPointInteraction— Handle entry point triggersEntryPointContext— Rich context for entry point commandsEntryPointCommand— Define entry point behavior declaratively
Smarter Worker Architecture
Running Seyfert with workers? We've made significant improvements:
- Spawn Queue — Workers now spawn in a controlled sequence, preventing resource spikes
WORKER_SHARD_CONNECTEDEvent — Know exactly when each worker's shards are ready- Better Error Logging — Shards now log errors without requiring debug mode
Subscription Events
Building premium features? Track subscription lifecycles with new events:
SUBSCRIPTION_CREATESUBSCRIPTION_UPDATESUBSCRIPTION_DELETE
Perfect for managing premium tiers, sending welcome messages to new subscribers, or handling cancellations gracefully.
Quality of Life
- New
AnyContexttype for functions that accept any command context - Improved rate limit handling with proper HTTP 429 responses
Breaking Changes
A few small adjustments for a cleaner API:
Attachment Filename
interface AttachmentData {
- name: string;
+ filename: string;
}The property name now matches Discord's API terminology.
WorkerClient Event Forwarding
For performance, WorkerClient no longer sends all events to the parent WorkerManager by default. Enable it explicitly if needed:
new WorkerClient({
sendPayloadToParent: true
});Cache Configuration
The disabledCache option in WorkerClient has been removed. Use setServices instead for consistent configuration across all client types.
Upgrade Guide
pnpm install [email protected]- Update any
AttachmentDatareferences fromnametofilename - If using
WorkerClientwith event forwarding, addsendPayloadToParent: true - Migrate any
disabledCacheoptions tosetServices
That's it. Your bot is now ready to scale infinitely.