I was coding a bot using Discord.js, following Codelyon's code, and I am stuck with this error:
ReferenceError: DiscordCollection is not defined at Object.<anonymous>
const {Client, Intents, DiscordAPIError, Collection} = require('discord.js');
const client = new Discord.Client({ intents: ["GUILDS", "GUILD_MESSAGES"] });
const prefix = '-';
const fs = require('fs');
client.commands = new DiscordCollection();
const commandFiles = fs.readdirSync(`./commands/`).filter(file => file.endsWith(`.js`));
for(const file of commandFiles){
const command = require(`./commands/${file}`);
client.commands.set(command.name,command);
}
client.once('ready', () => {
console.log('Ceeby Is Online');
})
client.on('message', message => {
if(!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).split(/ +/);
const command = args.shift().toLowerCase();
if(command === 'ping'){
client.commands.get('ping').execute(message, args);
}
})
client.login('TOKEN')
There are 2 common methods to import and use a libraries such as discord.js: importing the whole module or object destructuring- examples of both below. You seem to be trying to do both at the same time, you destructor the object but use Discord.Client and Discord.Collection instead of just Client and Collection.
const Discord = require('discord.js');
...
const client = new Discord.Client({ intents: ['GUILDS', 'GUILD_MESSAGES'] });
...
client.commands = new Discord.Collection();
const { Client, Collection, DiscordAPIError } = require('discord.js');
...
const client = new Client({ intents: ['GUILDS', 'GUILD_MESSAGES'] });
...
client.commands = new Collection();