mirror of
https://github.com/musix-org/musix-oss
synced 2024-11-10 11:20:19 +00:00
112 lines
5.1 KiB
Markdown
112 lines
5.1 KiB
Markdown
<div align="center">
|
|
<br />
|
|
<p>
|
|
<a href="https://discord.js.org"><img src="https://discord.js.org/static/logo.svg" width="546" alt="discord.js" /></a>
|
|
</p>
|
|
<br />
|
|
<p>
|
|
<a href="https://discord.gg/bRCvFy9"><img src="https://discordapp.com/api/guilds/222078108977594368/embed.png" alt="Discord server" /></a>
|
|
<a href="https://www.npmjs.com/package/discord.js"><img src="https://img.shields.io/npm/v/discord.js.svg?maxAge=3600" alt="NPM version" /></a>
|
|
<a href="https://www.npmjs.com/package/discord.js"><img src="https://img.shields.io/npm/dt/discord.js.svg?maxAge=3600" alt="NPM downloads" /></a>
|
|
<a href="https://github.com/discordjs/discord.js/actions"><img src="https://github.com/discordjs/discord.js/workflows/Testing/badge.svg" alt="Build status" /></a>
|
|
<a href="https://david-dm.org/discordjs/discord.js"><img src="https://img.shields.io/david/discordjs/discord.js.svg?maxAge=3600" alt="Dependencies" /></a>
|
|
<a href="https://www.patreon.com/discordjs"><img src="https://img.shields.io/badge/donate-patreon-F96854.svg" alt="Patreon" /></a>
|
|
</p>
|
|
<p>
|
|
<a href="https://nodei.co/npm/discord.js/"><img src="https://nodei.co/npm/discord.js.png?downloads=true&stars=true" alt="npm installnfo" /></a>
|
|
</p>
|
|
</div>
|
|
|
|
## Table of contents
|
|
|
|
- [About](#about)
|
|
- [Installation](#installation)
|
|
- [Audio engines](#audio-engines)
|
|
- [Optional packages](#optional-packages)
|
|
- [Example Usage](#example-usage)
|
|
- [Links](#links)
|
|
- [Extensions](#extensions)
|
|
- [Contributing](#contributing)
|
|
- [Help](#help)
|
|
|
|
## About
|
|
|
|
discord.js is a powerful [Node.js](https://nodejs.org) module that allows you to easily interact with the
|
|
[Discord API](https://discordapp.com/developers/docs/intro).
|
|
|
|
- Object-oriented
|
|
- Predictable abstractions
|
|
- Performant
|
|
- 100% coverage of the Discord API
|
|
|
|
## Installation
|
|
|
|
**Node.js 12.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](https://www.npmjs.com/package/@discordjs/opus)): `npm install discord.js @discordjs/opus`
|
|
With voice support ([opusscript](https://www.npmjs.com/package/opusscript)): `npm install 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](https://www.npmjs.com/package/zlib-sync) for WebSocket data compression and inflation (`npm install zlib-sync`)
|
|
- [erlpack](https://github.com/discordapp/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:
|
|
- [sodium](https://www.npmjs.com/package/sodium) (`npm install sodium`)
|
|
- [libsodium.js](https://www.npmjs.com/package/libsodium-wrappers) (`npm install libsodium-wrappers`)
|
|
- [bufferutil](https://www.npmjs.com/package/bufferutil) for a much faster WebSocket connection (`npm install bufferutil`)
|
|
- [utf-8-validate](https://www.npmjs.com/package/utf-8-validate) in combination with `bufferutil` for much faster WebSocket processing (`npm install utf-8-validate`)
|
|
|
|
## Example usage
|
|
|
|
```js
|
|
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');
|
|
```
|
|
|
|
## Links
|
|
|
|
- [Website](https://discord.js.org/) ([source](https://github.com/discordjs/website))
|
|
- [Documentation](https://discord.js.org/#/docs/main/master/general/welcome)
|
|
- [Guide](https://discordjs.guide/) ([source](https://github.com/discordjs/guide)) - this is still for stable
|
|
See also the [Update Guide](https://discordjs.guide/additional-info/changes-in-v12.html), including updated and removed items in the library.
|
|
- [Discord.js Discord server](https://discord.gg/bRCvFy9)
|
|
- [Discord API Discord server](https://discord.gg/discord-api)
|
|
- [GitHub](https://github.com/discordjs/discord.js)
|
|
- [NPM](https://www.npmjs.com/package/discord.js)
|
|
- [Related libraries](https://discordapi.com/unofficial/libs.html)
|
|
|
|
### Extensions
|
|
|
|
- [RPC](https://www.npmjs.com/package/discord-rpc) ([source](https://github.com/discordjs/RPC))
|
|
|
|
## Contributing
|
|
|
|
Before creating an issue, please ensure that it hasn't already been reported/suggested, and double-check the
|
|
[documentation](https://discord.js.org/#/docs).
|
|
See [the contribution guide](https://github.com/discordjs/discord.js/blob/master/.github/CONTRIBUTING.md) 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](https://discord.gg/bRCvFy9).
|