Object-oriented
Predictable abstractions
Performant
100% coverage of the Discord API
**Node.js 14.0.0 or newer is required.**
Ignore any warnings about unmet peer dependencies, as they're all optional.
Without voice support: 'npm install discord.js'
With voice support (@discordjs/opus): 'npm install discord.js @discordjs/opus'
With voice support (opusscript) : 'npm install discord.js opusscript'
- zlib-sync for WebSocket data compression and inflation (`npm install zlib-sync`)
- erlpack for significantly faster WebSocket data (de)serialisation (`npm install discord/erlpack`)
- One of the following packages can be installed for faster voice packet encryption and decryption:
- sodium (`npm install sodium`)
- libsodium.js (`npm install libsodium-wrappers`)
- bufferutil for a much faster WebSocket connection (`npm install bufferutil`)
- utf-8-validate in combination with `bufferutil` for much faster WebSocket processing (`npm install utf-8-validate`)
const Discord = require('discord.js');
const client = new Discord.Client();
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`);
});
client.on('message', msg => {
if (msg.content === 'ping') {
msg.channel.send('pong');
}
});
client.login('token');
- Guide (source) - this is still for stable
See also the Update Guide, including updated and removed items in the library.
- GitHub
- NPM
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.
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.