discord.js-user-account
This fork allows you to use user accounts with the library.
To do so, set loginAsUserAccount = true
in the client options:
const client = new Client({ loginAsUserAccount: true })
// ...
client.login(`NzE3MDYxMjMzNTAw********.******.***************************`)
Even though using a User Token with the API technically violates the Discord Terms of Service, I don't care. I believe one should be free to do what they want while being aware of the risks. While using this library, you aknowledge the risk of being banned from Discord, and you accept that I'm not responsible for it.
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 16.9.0 or newer is required.
npm install discord.js
yarn add discord.js
pnpm add discord.js
Optional packages
- zlib-sync for WebSocket data compression and inflation (
npm install zlib-sync
) - erlpack for significantly faster WebSocket data (de)serialisation (
npm install discord/erlpack
) - 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
) - @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
Register a slash command against the Discord API:
const { REST, Routes } = require('discord.js');
const commands = [
{
name: 'ping',
description: 'Replies with Pong!',
},
];
const rest = new REST({ version: '10' }).setToken(TOKEN);
(async () => {
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:
const { Client, GatewayIntentBits } = require('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) See also the Update Guide, including updated and removed items in 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.