Was watching a tutorial on making a discord.js and noblox.js bot. error is something about intents not being a constructor or whatever. tutorial playlist isnt even helpful like the discord server. im just following the tutorial to set up a bot account and some slash commands with noblox.js (a roblox js API i guess or a wrapper idk) code:
const { Client, Intents } = require('discord.js')
const noblox = require('noblox.js')
const { Token } = require('./config.json')
// Create a new client instance
const intents = new Intents([
'GUILDS',
'GUILD_MEMBERS',
'GUILD_MESSAGES'
])
const bot = new Client({ Intents : intents })
bot.login(Token)
bot.on('ready', () => {
console.log(`${bot.user.tag} has booted up.`)
})
error:
TypeError: Intents is not a constructor
at Object.<anonymous> (/home/runner/ImpishDefiantClasses/index.js:7:17)
at Module._compile (node:internal/modules/cjs/loader:1105:14)
IDE: Replit
First of all, You should require intents:
const { Client, Intents } = require("discord.js");
const { Token } = require("./config.json")
const bot = new Client({
intents: [Intents.FLAGS.GUILDS,
Intents.FLAGS.GUILD_MEMBERS,
Intents.FLAGS.GUILD_MESSAGES,
Intents.FLAGS.MESSAGE_CREATE]
});
Then, the things we want to do when the bot is ready:
bot.on('ready', () => {
console.log(`${bot.user.tag} is now online!`)
})
Also, Make sure you put bot.login(Token)
at the end of your code.
At the end, If you want to receive messages, you need to listen to messageCreate
event:
client.on("messageCreate", async (message) => {
if (message.author.bot) return;
if (message.content.startsWith('!ping')) {
message.reply('Pong!')
}
});
So your code should look like this:
const { Client, Intents } = require("discord.js");
const bot = new Client({
intents: [Intents.FLAGS.GUILDS,
Intents.FLAGS.GUILD_MEMBERS,
Intents.FLAGS.GUILD_MESSAGES,
Intents.FLAGS.MESSAGE_CREATE]
});
bot.on('ready', () => {
console.log(`${bot.user.tag} is now online!`)
})
client.on("messageCreate", async (message) => {
if (message.author.bot) return;
if (message.content.startsWith('!ping')) {
message.reply('Pong!')
}
});
bot.login(Token);
More info on intents.