* add handler in case heartbeat is not acked * ffs
About
discord.js is a powerful node.js module that allows you to interact with the Discord API very easily.
- Object-oriented
- Predictable abstractions
- Performant
- Nearly 100% coverage of the Discord API
Installation
Node.js 6.0.0 or newer is required.
Ignore any warnings about unmet peer dependencies - all peer dependencies are optional.
Without voice support: npm install discord.js --save
With voice support (node-opus): npm install discord.js node-opus --save
With voice support (opusscript): npm install discord.js opusscript --save
Audio engines
The preferred audio engine is node-opus, as it performs significantly better than opusscript. When both are available, discord.js will automatically choose node-opus. Using opusscript is only recommended for development environments where node-opus is tough to get working. For production bots, using node-opus should be considered a necessity, especially if they're going to be running on multiple servers.
Optional packages
- uws for much a much faster WebSocket connection (
npm install uws --save) - erlpack for significantly faster WebSocket data (de)serialisation (
npm install hammerandchisel/erlpack --save)
Example Usage
const Discord = require('discord.js');
const client = new Discord.Client();
client.on('ready', () => {
console.log('I am ready!');
});
client.on('message', message => {
if (message.content === 'ping') {
message.reply('pong');
}
});
client.login('your token');
A bot template using discord.js can be generated using generator-discordbot.
Web distributions
Web builds of discord.js that are fully capable of running in browsers are available here.
These are built using Webpack 2. The API is identical, but rather than using require('discord.js'),
the entire Discord object is available as a global (on the window object).
The ShardingManager and any voice-related functionality is unavailable in these builds.
Links
- Website
- Discord.js server
- Discord API server
- Documentation
- Legacy (v8) documentation
- Examples
- GitHub
- NPM
- Related libraries (see also discord-rpc)
Contributing
Before creating an issue, please ensure that it hasn't already been reported/suggested, and double-check the
documentation.
See the contribution guide if you'd like to submit a PR.
Help
If you don't understand something in the documentation, you are experiencing problems, or you just need a gentle nudge in the right direction, please don't hesitate to join our official Discord.js Server.

