I started learning about discord.js, but now I am facing this issue. I tried some googling, but I couldn’t manage to fix it.
const Discord = require('discord.js'); // const Discord = require('discord.js'); // Using Intents class const client = new Discord.Client(); client.on('message', (msg) => { // Send back a reply when the specific command has been written by a user. if (msg.content === '!hello') { msg.reply('Hello, World!'); } }); client.login('my_token');
This is the error I am getting:
Advertisement
Answer
You need to specify the events which you want your bot to receive using gateway intents.
Instead of
const client = new Discord.Client();
Use
const client = new Discord.Client({ intents: [Enter intents here] })
For example
const client = new Discord.Client({ intents: ["GUILDS", "GUILD_MESSAGES"] })
Here’s another useful page: Gateways
- Intents help you control which events your bot receives. See Privileged Intents for more information.
- You need node.js 16.6 or higher to use discord.js13.
npm install node@16
in shell. - The list of events are under the events tab at Client.