discord.js is a powerful node.js module that allows you to interact with the Discord API very easily. It takes a much more object-oriented approach than most other JS Discord libraries, making your bot's code significantly tidier and easier to comprehend. Usability and performance are key focuses of discord.js. It also has nearly 100% coverage of the Discord API.
Node.js 6.0.0 or newer is required.
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
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 on Windows, since getting node-opus to build there can be a bit of a challenge. For production bots, using node-opus should be considered a necessity, especially if they're going to be running on multiple servers.
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.
- Website
- Discord.js server
- Discord API server
- Documentation
- Legacy (v8) documentation
- Examples
- GitHub
- NPM
- Related libraries
Before creating an issue, please ensure that it hasn't already been reported/suggested, and double-check the
documentation.
See the contributing 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.