discord.js

A powerful JavaScript library for interacting with the Discord API

Github stars Tracking Chart

Table of contents

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 10.2.0 or newer is required.
Ignore any warnings about unmet peer dependencies, as they're all optional.

Without voice support: npm install discordjs/discord.js
With voice support (@discordjs/opus): npm install discordjs/discord.js @discordjs/opus
With voice support (opusscript): npm install discordjs/discord.js opusscript

Audio engines

The preferred audio engine is @discordjs/opus, as it performs significantly better than opusscript. When both are available, discord.js will automatically choose @discordjs/opus.
Using opusscript is only recommended for development environments where @discordjs/opus is tough to get working.
For production bots, using @discordjs/opus should be considered a necessity, especially if they're going to be running on multiple servers.

Optional packages

  • zlib-sync for WebSocket data compression and inflation (npm install zlib-sync)
  • erlpack for significantly faster WebSocket data (de)serialisation (npm install discordapp/erlpack)
  • One of the following packages can be installed for faster voice packet encryption and decryption:
  • 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)

Example usage

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.reply('pong');
  }
});

client.login('token');

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.

Main metrics

Overview
Name With Ownerdiscordjs/discord.js
Primary LanguageTypeScript
Program languageJavaScript (Language Count: 6)
Platform
License:Apache License 2.0
所有者活动
Created At2015-08-10 13:36:26
Pushed At2025-04-22 17:12:36
Last Commit At
Release Count279
Last Release Name14.18.0 (Posted on )
First Release Namev5.0.0 (Posted on )
用户参与
Stargazers Count25.9k
Watchers Count426
Fork Count4k
Commits Count8.4k
Has Issues Enabled
Issues Count4063
Issue Open Count76
Pull Requests Count4718
Pull Requests Open Count31
Pull Requests Close Count1172
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private