Discord.js is a Node.js library and framework for interacting with the Discord API. It provides a comprehensive set of wrappers for REST and WebSocket connections, enabling the development of automated server accounts and real-time chat applications.
The project distinguishes itself through a distributed bot sharding system that splits a single bot instance across multiple processes to handle high server counts and large-scale workloads. It also includes a specialized voice API wrapper for managing audio streams and voice channel connectivity.
The library covers broad capability areas including server moderation automation, real-time event handling via a WebSocket gateway, and network traffic management using token-bucket rate limiting. It provides utilities for data collection management through map-based caching and tools for chat string formatting.
A command line tool is provided for project scaffolding and initial configuration.