What is discord.js?
discord.js is a powerful Node.js module that allows you to interact with the Discord API very easily. It provides a comprehensive set of features to create bots and manage Discord servers.
What are discord.js's main functionalities?
Creating a Bot
This code demonstrates how to create a simple Discord bot using discord.js. The bot logs 'Ready!' to the console when it is successfully logged in and ready.
const { Client, GatewayIntentBits } = require('discord.js');
const client = new Client({ intents: [GatewayIntentBits.Guilds] });
client.once('ready', () => {
console.log('Ready!');
});
client.login('your-token-goes-here');
Handling Messages
This code shows how to handle messages in a Discord server. When a user sends a message with the content '!ping', the bot responds with 'Pong!'.
client.on('messageCreate', message => {
if (message.content === '!ping') {
message.channel.send('Pong!');
}
});
Managing Roles
This code demonstrates how to manage roles in a Discord server. When a user sends a message with the content '!addRole', the bot adds a role named 'NewRole' to the user.
client.on('messageCreate', async message => {
if (message.content === '!addRole') {
let role = message.guild.roles.cache.find(r => r.name === 'NewRole');
if (role) {
await message.member.roles.add(role);
message.channel.send('Role added!');
}
}
});
Sending Embeds
This code shows how to send embedded messages in Discord. When a user sends a message with the content '!embed', the bot responds with a rich embed message.
const { MessageEmbed } = require('discord.js');
client.on('messageCreate', message => {
if (message.content === '!embed') {
const embed = new MessageEmbed()
.setTitle('Sample Embed')
.setDescription('This is an example of an embed message')
.setColor(0xff0000);
message.channel.send({ embeds: [embed] });
}
});
Other packages similar to discord.js
eris
Eris is another powerful library for interacting with the Discord API. It is known for being lightweight and efficient, making it a good alternative to discord.js. However, it may have a steeper learning curve for beginners.
discord.io
discord.io is a small, lightweight library for interfacing with Discord. It is less feature-rich compared to discord.js and Eris, but it can be a good choice for simpler bots or for those who prefer a minimalistic approach.
discord.js is a powerful node.js module that allows you to interact with the Discord API.
Installation
Node.js 6.0.0 or newer is required.
With voice support: npm install --save discord.js --production
Without voice support: npm install --save discord.js --production --no-optional
By default, discord.js uses opusscript when playing audio over voice connections.
If you're looking to play over multiple voice connections, it might be better to install node-opus.
discord.js will automatically prefer node-opus over opusscript.
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');
Links
Contact
Before reporting an issue, please read the documentation.
If you can't find help there, you can ask in the official Discord.js Server.