discord.js


Discord server NPM version NPM downloads Build status Dependencies

NPM info

# Welcome! Welcome to the discord.js v10 documentation. v10 is just a more consistent and stable iteration over v9, and contains loads of new and improved features, optimisations, and bug fixes. ## About discord.js is a powerful node.js module that allows you to interact with the [Discord API](https://discordapp.com/developers/docs/intro) 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, and it also has nearly 100% coverage of the Discord API. ## Installation **Node.js 6.0.0 or newer is required.** Ignore any warnings about unmet peer dependencies - all of them are optional. Without voice support: `npm install discord.js --save` With voice support ([node-opus](https://www.npmjs.com/package/node-opus)): `npm install discord.js node-opus --save` With voice support ([opusscript](https://www.npmjs.com/package/opusscript)): `npm install discord.js opusscript --save` ### Audio engines 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 environments where node-opus is tough to get working. For production bots, using node-opus should be considered a necessity, especially if they're going to be running on multiple servers. ### Optional packages - [uws](https://www.npmjs.com/package/uws) for much a much faster WebSocket connection (`npm install uws --save`) - [erlpack](https://github.com/hammerandchisel/erlpack) for significantly faster WebSocket data (de)serialisation (`npm install hammerandchisel/erlpack --save`) ## Web distributions Web builds of discord.js that are fully capable of running in browsers are available [here](https://github.com/hydrabolt/discord.js/tree/webpack). These are built by [Webpack 2](https://webpack.js.org/). The API is identical, but rather than using `require('discord.js')`, the entire `Discord` object is available as a global (on the `window` object). The ShardingManager and any voice-related functionality is unavailable in these builds. ## Guides * [LuckyEvie's general guide](https://eslachance.gitbooks.io/discord-js-bot-guide/content/) * [York's v9 upgrade guide](https://yorkaargh.wordpress.com/2016/09/03/updating-discord-js-bots/) ## Links * [Website](https://discord.js.org/) * [Discord.js server](https://discord.gg/bRCvFy9) * [Discord API server](https://discord.gg/rV4BwdK) * [Documentation](https://discord.js.org/#/docs) * [Legacy (v8) documentation](http://discordjs.readthedocs.io/en/8.2.0/docs_client.html) * [Examples](https://github.com/hydrabolt/discord.js/tree/master/docs/examples) * [GitHub](https://github.com/hydrabolt/discord.js) * [NPM](https://www.npmjs.com/package/discord.js) * [Related libraries](https://discordapi.com/unofficial/libs.html) ## 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).