mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-11 09:03:29 +01:00
BREAKING CHANGE: Removed `Client#fetchPremiumStickerPacks` method BREAKING CHANGE: Removed `Client#webhookUpdate` event BREAKING CHANGE: Removed various error codes BREAKING CHANGE: Removed `Formatters` namespace BREAKING CHANGE: Removed `InviteStageInstance` class BREAKING CHANGE: Removed `Invite#stageInstance` property BREAKING CHANGE: Removed `StageInstance#discoverable_disabled` property BREAKING CHANGE: Removed `SelectMenuBuilder` alias BREAKING CHANGE: Removed `SelectMenuComponent` alias BREAKING CHANGE: Removed `SelectMenuInteraction` alias BREAKING CHANGE: Removed `SelectMenuOptionBuilder` alias BREAKING CHANGE: Removed `BaseInteraction#isSelectMenu` alias BREAKING CHANGE: Removed `deleteMessageDays` option from `GuildBanManager#create` BREAKING CHANGE: Removed `ActionRow#from` method BREAKING CHANGE: Removed `Emoji#url` getter BREAKING CHANGE: Removed `TeamMember#permissions` property BREAKING CHANGE: Removed `User#avatarDecoration` property BREAKING CHANGE: Removed `InteractionResponses#sendPremiumRequired` method BREAKING CHANGE: Removed `DeletableMessageTypes` constant
About
discord.js is a powerful Node.js module that allows you to easily interact with the Discord API.
- Object-oriented
- Predictable abstractions
- Performant
- 100% coverage of the Discord API
Installation
Node.js 18 or newer is required.
npm install discord.js
yarn add discord.js
pnpm add discord.js
bun add discord.js
Optional packages
- zlib-sync for WebSocket data compression and inflation (
npm install zlib-sync) - bufferutil for a much faster WebSocket connection (
npm install bufferutil) - @discordjs/voice for interacting with the Discord Voice API (
npm install @discordjs/voice)
Example usage
Install discord.js:
npm install discord.js
yarn add discord.js
pnpm add discord.js
bun add discord.js
Register a slash command against the Discord API:
import { REST, Routes } from 'discord.js';
const commands = [
{
name: 'ping',
description: 'Replies with Pong!',
},
];
const rest = new REST({ version: '10' }).setToken(TOKEN);
try {
console.log('Started refreshing application (/) commands.');
await rest.put(Routes.applicationCommands(CLIENT_ID), { body: commands });
console.log('Successfully reloaded application (/) commands.');
} catch (error) {
console.error(error);
}
Afterwards we can create a quite simple example bot:
import { Client, GatewayIntentBits } from 'discord.js';
const client = new Client({ intents: [GatewayIntentBits.Guilds] });
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`);
});
client.on('interactionCreate', async interaction => {
if (!interaction.isChatInputCommand()) return;
if (interaction.commandName === 'ping') {
await interaction.reply('Pong!');
}
});
client.login(TOKEN);
Links
- Website (source)
- Documentation
- Guide (source) Also see the v13 to v14 Update Guide, which includes updated and removed items from the library.
- discord.js Discord server
- Discord API Discord server
- GitHub
- npm
- Related libraries
Extensions
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.